Google Compute Engine - Terraformed version of VyOs

Hi everybody!
Some time ago I was required to set up a NAT instance on Google Cloud Platform. As many of you may know, Google has no managed service for RFC1918 NAT (there is only a Internet-facing NAT solution though). For that reason, I started playing with VyOs and I’ve finally decided to feed the karma back releasing a Terraform ready-to-use module for installing Equeelus VyOs instances with ease.

You can find it here: https://github.com/albertogeniola/terraform-gce-vyos

The module itself is still under development, but it accomplishes the following:

  • Builds a VyOs Image from binaries, leveraging packer
  • Prepares a GCE image from VyOs vanilla: installs the Guest Agent and the Ops Agent and
  • Hosts the VyOs configuration file on a Google Cloud Storage bucket, which is fetched and applied at VM startup
  • Supports automatic VyOs configuration updates via PubSub notifications: by changing the configuration file hosted on GCS, the VyOs image is notified via PubSub and a daemon takes care of fetching the new configuration and applies it right away.

If you have any comments/suggestions, please don’t hesitate to open an issue or submitting a pull-request.

Keep up the great work guys!

2 Likes