Zeet will generate and manage Terraform state for you by default.
Traditionally, terraform projects are separated into
consumable modules and
consumable module is a module that is often imported by other modules, technically all modules are consumable modules.
For example https://github.com/terraform-aws-modules/terraform-aws-vpc is one of the most widely used consumable module.
deployable module is a module that contains state backend definition and is used with
terraform plan/apply. Modules without state definition are not deployable.
However, there is also a third type of module that is meant to be deployable but does not have state backend definition.
In order to deploy such module, infrastructure operator needs to manually recreate the already complete module into a new git repository with state configuration.
This practice creates a lot of overhead when you only need the unmodified source module, and when you want to keep up with upstream changes.
What we created at Zeet is a simple way to deploy any
consumable module with auto-generated and managed state.
Zeet Terraform State
Zeet will automatically provision a terraform state backend powered by AWS S3 when you deploy a consumable terraform module into an AWS account managed by Zeet.
The state file and all secrets will stay in your cloud account and only accessible to developers with AWS S3 IAM permissions.