What is Terraspace?
Terraspace is a Terraform Framework that optimizes for infrastructure-as-code happiness. It provides an organized structure, conventions over configurations, keeps your code DRY, and adds convenient tooling. Terraspace makes working with Terraform easier and more fun.
Also, check out the blog post: Introducing Terraspace: The Terraform Framework
- Config Structure: A common
config/terraformstructure that gets built with the deployed module. It can be dynamically controlled to keep your code DRY. You can override the settings if needed, like for using existing backends. See: Existing Backends.
- Generators: Built-in generators to quickly create starter modules. Focus on code instead of boilerplate structure.
- Multiple Environments: Tfvars & Layering allow you to use the same code with different tfvars to create multiple environments. Terraspace conventionally loads tfvars from the
tfvarsfolder. Rich layering support allows you to build different environments like dev and prod with the same code. Examples are in Full Layering.
- Deploy Multiple Stacks: The ability to deploy multiple stacks with a single command. Terraspace calculates the dependency graph and deploys stacks in the right order. You can also target specific stacks and deploy subgraphs.
- Secrets Support: Terraspace has built-in secrets support for AWS Secrets Manager, AWS SSM Parameter Store, Azure Key Vault, Google Secrets Manager. Easily set variables from Cloud secrets providers.
- Terrafile: Terraspace makes it easy to use Terraform modules sourced from your own git repositories, other git repositories, or the Terraform Registry. The git repos can be private or public. This is an incredibly powerful feature of Terraspace because it opens up a world of modules for you to use. Use any module from anywhere.
- Configurable CLI: Configurable CLI Hooks and CLI Args allow you to adjust the underlying terraform command.
- Testing: A testing framework that allows you to create test harnesses, deploy real-resources, and have higher confidence that your code works.
- Terraform Cloud and Terraform Enterprise Support: TFC and TFE are both supported. Terraspace adds additional conveniences to make working with Terraform Cloud Workspaces easier.