All Projects → boltops-tools → Terraspace

boltops-tools / Terraspace

Licence: apache-2.0
Terraspace: The Terraform Framework

Programming Languages

ruby
36898 projects - #4 most used programming language

Labels

Projects that are alternatives of or similar to Terraspace

Terraform Aws Spotgpu
Fully automated provisioning of AWS EC2 Spot Instances for Deep Learning workloads using Terraform.
Stars: ✭ 127 (-7.3%)
Mutual labels:  terraform
Terraform Google Gke Cluster
A Terraform module to create a best-practise Google Kubernetes Engine (GKE) cluster.
Stars: ✭ 133 (-2.92%)
Mutual labels:  terraform
Terraform Aws Elasticsearch
Terraform module to provision an Elasticsearch cluster with built-in integrations with Kibana and Logstash.
Stars: ✭ 137 (+0%)
Mutual labels:  terraform
Kaws
Create and manage Kubernetes clusters on AWS using Terraform.
Stars: ✭ 129 (-5.84%)
Mutual labels:  terraform
Multi Env Deploy
Complete example of deploying complex web apps to AWS using Terraform, Ansible, and Packer
Stars: ✭ 132 (-3.65%)
Mutual labels:  terraform
Terraform Provider Openapi
OpenAPI Terraform Provider that configures itself at runtime with the resources exposed by the service provider (defined in a swagger file)
Stars: ✭ 134 (-2.19%)
Mutual labels:  terraform
Reference Architectures
[WIP] Get up and running quickly with one of our reference architecture using our fully automated cold-start process.
Stars: ✭ 127 (-7.3%)
Mutual labels:  terraform
Example Pragmatic Terraform On Aws
技術書典6で頒布した『Pragmatic Terraform on AWS 』のサンプルコードを公開しています
Stars: ✭ 140 (+2.19%)
Mutual labels:  terraform
Terraform Provider Scaffolding
Quick start repository for creating a Terraform provider
Stars: ✭ 129 (-5.84%)
Mutual labels:  terraform
Dce
Disposable Cloud Environment
Stars: ✭ 137 (+0%)
Mutual labels:  terraform
Terragrunt Atlantis Config
Generate Atlantis config for Terragrunt projects.
Stars: ✭ 131 (-4.38%)
Mutual labels:  terraform
Terraform Provider Docker
As part of our introduction to self-service publishing in the Terraform Registry, this copy of the provider has been archived, and ownership has been transferred to active maintainers in the community. Please see the new location on the Terraform Registry: https://registry.terraform.io/providers/kreuzwerker/docker/latest
Stars: ✭ 131 (-4.38%)
Mutual labels:  terraform
Terragrunt Infrastructure Modules Example
A repo used to show examples file/folder structures you can use with Terragrunt and Terraform
Stars: ✭ 135 (-1.46%)
Mutual labels:  terraform
Terraform Provider Rancher2
Terraform Rancher2 provider
Stars: ✭ 129 (-5.84%)
Mutual labels:  terraform
Terraform Aws Airship Ecs Service
Terraform module which creates an ECS Service, IAM roles, Scaling, ALB listener rules.. Fargate & AWSVPC compatible
Stars: ✭ 139 (+1.46%)
Mutual labels:  terraform
Vishwakarma
Terraform modules to create a self-hosting Kubernetes cluster on opinionated Cloud Platform.
Stars: ✭ 127 (-7.3%)
Mutual labels:  terraform
Aws Maintenance Lambda
A lambda function to send alerts (to Slack, HipChat) on AWS maintenance events.
Stars: ✭ 133 (-2.92%)
Mutual labels:  terraform
Terraform Vsphere Kubespray
Deploy a Kubernetes HA cluster on VMware vSphere
Stars: ✭ 141 (+2.92%)
Mutual labels:  terraform
Terraform Aws Cicd
Terraform Module for CI/CD with AWS Code Pipeline and Code Build
Stars: ✭ 138 (+0.73%)
Mutual labels:  terraform
Tensor
Tensor - Comprehensive web-based automation framework and Centralized infrastructure management platform
Stars: ✭ 136 (-0.73%)
Mutual labels:  terraform

Terraspace

Gem Version

BoltOps Badge

The Terraform Framework.

Please watch/star this repo to help grow and support the project.

Official Docs Site: terraspace.cloud

Quick Start Demo:

Watch the video

Quick Start

Here are commands to get started:

terraspace new project infra --plugin aws --examples
cd infra
terraspace up demo
terraspace down demo
  • The new command generates a starter project.
  • The up command creates an s3 bucket.
  • The down command cleans up and deletes the bucket.

The default plugin is aws. Major cloud providers are supported: aws, azurerm, google.

Usage

Create infrastructure:

$ terraspace up demo
Building .terraspace-cache/us-west-2/dev/stacks/demo
Current directory: .terraspace-cache/us-west-2/dev/stacks/demo
=> terraform init -get >> /tmp/terraspace/log/init/demo.log
=> terraform apply
Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
$

Destroy infrastructure:

$ terraspace down demo
Building .terraspace-cache/us-west-2/dev/stacks/demo
Current directory: .terraspace-cache/us-west-2/dev/stacks/demo
=> terraform destroy
Destroy complete! Resources: 2 destroyed.
$

Deploy Multiple Stacks

To deploy all the infrastructure stacks:

$ terraspace all up
Will run:
    terraspace up vpc      # batch 1
    terraspace up mysql    # batch 2
    terraspace up redis    # batch 2
    terraspace up instance # batch 3
Are you sure? (y/N)

To choose multiple stacks to deploy

$ terraspace all up mysql redis
Will run:
    terraspace up vpc   # batch 1
    terraspace up mysql # batch 2
    terraspace up redis # batch 2
Are you sure? (y/N)

When you use the all command, the dependency graph is calculated and the stacks are deployed in the right order.

Terrafile

Terraspace makes it easy to use Terraform modules sourced from your own git repositories, other git repositories, or the Terraform Registry. Use any module you want:

Terrafile:

# GitHub repo
mod "s3", source: "boltops-tools/terraform-aws-s3", tag: "v0.1.0"
# Terraform registry
mod "sg", source: "terraform-aws-modules/security-group/aws", version: "3.10.0"

To install modules:

terraspace bundle

Features

  • DRY: You can keep your code DRY. Terraspace builds your Terraform project with common app and config/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 the starter module. Focus on code instead of boilerplate structure.
  • Multiple Environments: Tfvars & Layering allow you to 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 you want.
  • 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.

Comparison

Here are some useful comparisons to help you compare Terraspace vs other tools in the ecosystem:

More info: terraspace.cloud

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].