Terraform

We manage cloud resources, such as virtual machines and Tor bridges, with Terraform modules that are deployed from Ansible. Driving Terraform from Ansible lets a single playbook create the infrastructure and then configure it, using the outputs of the Terraform module in later tasks. It also allows us to have only one system for managing production secrets, as Terraform is fed by Ansible’s inventory and variables. We maintain a module for storing state remotely in S3, which we use when managing some client infrastructure, but we do not use it ourselves. Both Terraform and OpenTofu are supported.