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
Terraspace Features
-
Dry You can keep your code DRY. Terraspace builds your Terraform project with common
app
andconfig/terraform
structure that gets built each deploy. 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
tfvars
folder. 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.
-
Terraspace Cloud Terraspace Cloud adds additional features like Team and Permissions Management, Dashboard and History, and CI/CD Integration.