Running Terraform in Kubernetes as a controller
APACHE-2.0 License
Manage and mutate infrastructure with Terraform by running it in Kubernetes as a controller!
This is an example of infrastructure as cloud native software. This repository is not intended to be used in production, but rather offers a starting point for people to start looking at what it would take to run infrastructure as software.
More information can be found on my blog here
TERRAFORMCTL_HOSTNAME
can be used to override the hostname to use to connect to a listening gRPC server.
TERRAFORMCTL_PORT
can be used to override the port to use to connect to a listening gRPC server.
Sorry but I hard coded everything for a demo.. be ready to hack the Makefile (please open a PR if you want!)
make build push deploy
This also assumes you have Kubernetes up and running already.
You will need to have protoc
and grpc
installed.
go get google.golang.org/grpc
go get -u github.com/golang/protobuf/protoc-gen-go
Now you can make changes to service/terraformctl.proto
and run the following command to update the plugin.
make proto
A change to the gRPC might be needed in service/server.go
if the new gRPC expects new logic.