A collection of resources, documentation, and services for my personal home automation related projects
The foundation of this project is a single terraform workspace called exactly that, foundation
. This workspace creates and manages our Terraform Cloud Organization, all of our workspaces (including itself), as well as other credentials used by them - namely Terraform Cloud and Cloudflare. This workspace is accompanied by a docker-compose
file that deploys a terraform-cloud-agent
locally to facilitate runs for our Terraform Organization. Running the terraform-cloud-agent locally allows us to better our security posture by restricting the use of credentials to our home IP address where possible.
Some of this configuration poses a bit of a chicken and egg situation though. Namely that we need the terraform-cloud-agent up and running before we can apply the foundation workspace remotely, but we want to create that agent within that workspace! To facilitate this, we're going to start with the foundation workspace as local state and migrate it into Terraform Cloud once it's creates its own new home.