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
Commands easy to learn
terraspace new project
terraspace new module
terraspace seed
terraspace build
terraspace up
terraspace down
terraspace all up
terraspace summary
terraspace test
Generators
$ terraspace new stack demo
=> Creating new stack called demo.
      create  app/stacks/demo
      create  app/stacks/demo/main.tf
      create  app/stacks/demo/outputs.tf
      create  app/stacks/demo/variables.tf
$
Deploy
$ terraspace up demo -y
Building .terraspace-cache/us-west-2/dev/stacks/demo
Built in .terraspace-cache/us-west-2/dev/stacks/demo
Current directory: .terraspace-cache/us-west-2/dev/stacks/demo
=> terraform apply -auto-approve
Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
network_id = projects/tung-111222/global/networks/duck
$
Destroy
$ terraspace down demo -y
Building .terraspace-cache/us-west-2/dev/stacks/demo
Built in .terraspace-cache/us-west-2/dev/stacks/demo
Current directory: .terraspace-cache/us-west-2/dev/stacks/demo
=> terraform destroy -auto-approve
Destroy complete! Resources: 2 destroyed.
$
Structure
├── app
│   ├── modules
│   │   ├── instance
│   │   ├── rds
│   │   ├── security_group
│   │   └── vpc
│   └── stacks
│       ├── app
│       ├── vpc
│       └── instance
└── config
    └── terraform
        ├── backend.tf
        └── provider.tf
Testing
$ terraspace test
main
Building test harness...
Test harness built: /tmp/terraspace-test-harnesses/network
=> terraspace up example -y
=> terraform apply -auto-approve
Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
  successful deploy
=> terraspace down example -y
=> terraform destroy -auto-approve
Destroy complete! Resources: 2 destroyed.

Finished in 30.21 seconds (files took 0.29861 seconds to load)
1 example, 0 failures
$

DRY Structure

A common config structure that gets built with the deployed module. Keep your code DRY.

Dry"

Backends

Automatically created backends like AWS S3, Azure Storage Account, and Google GCS.

Backends"

Tfvars

Use the same infrastructure code to create multiple environments: dev, prod, etc.

Tfvars"

Generators

Built-in generators to quickly create the starter module. Focus on code instead of boilerplate structure.

Generators"

Deploy Multiple Stacks at Once

If you want to deploy multiple stacks, you can do so with a single command.

Stack"

Testing

A testing framework that allows you to create test harnesses, deploy real-resources. Have high confidence that your code works.

Testing"

Configurable

Customize CLI with hooks and args.

Configurable"

Terraspace Quick Start

A quick start demo that takes only a few minutes. In this "Getting Started with Terraspace" video, we'll show you how quick and easy it is to use Terraspace.

Create, deploy, and manage your infrastructure with Terraspace

Get started

More tools: