coretech / Terrafile
Licence: apache-2.0
A binary written in Go to systematically manage external modules from Github for use in Terraform
Stars: ✭ 83
Labels
Projects that are alternatives of or similar to Terrafile
Terraform Provisioner Inspec
Terraform InSpec Provisioner Plugin
Stars: ✭ 69 (-16.87%)
Mutual labels: terraform
Terraform Aws Couchbase
Reusable infrastructure modules for running Couchbase on AWS
Stars: ✭ 73 (-12.05%)
Mutual labels: terraform
Terraform
Terraform - Beginners | Intermediate | Advanced
Stars: ✭ 77 (-7.23%)
Mutual labels: terraform
Terraform Aws Vpc Peering
Terraform module to create a peering connection between two VPCs in the same AWS account.
Stars: ✭ 70 (-15.66%)
Mutual labels: terraform
Terraform Provider Vcd
Terraform VMware vCloud Director provider
Stars: ✭ 73 (-12.05%)
Mutual labels: terraform
Terraform Provider Credstash
Terraform provider for secrets stored with credstash
Stars: ✭ 68 (-18.07%)
Mutual labels: terraform
Mikado
🤖💨Mikado helps managing your AWS infrastructure for WordPress sites by defining an out-of-box, highly available, easy-to-deploy setup
Stars: ✭ 80 (-3.61%)
Mutual labels: terraform
Gitops Terraform Jenkins
GitOps Workflow with Jenkins and Terraform
Stars: ✭ 73 (-12.05%)
Mutual labels: terraform
Terraboard
🌍 📋 A web dashboard to inspect Terraform States
Stars: ✭ 1,192 (+1336.14%)
Mutual labels: terraform
Terrastack
This project is archived, but the idea of Terrastack lives on in the Terraform CDK. - https://github.com/hashicorp/terraform-cdk
Stars: ✭ 71 (-14.46%)
Mutual labels: terraform
Tf aws elasticsearch
Terraform module which creates AWS Elasticsearch resources
Stars: ✭ 73 (-12.05%)
Mutual labels: terraform
Terraform Infra As Code Coverage Badges
Terraform / infrastructure-as-code coverage badges - how much of your AWS infrastructure is managed by Terraform?
Stars: ✭ 69 (-16.87%)
Mutual labels: terraform
Terraform Aws Airflow
Terraform module to deploy an Apache Airflow cluster on AWS, backed by RDS PostgreSQL for metadata, S3 for logs and SQS as message broker with CeleryExecutor
Stars: ✭ 69 (-16.87%)
Mutual labels: terraform
Terraform Aws Elasticache Redis
Terraform module to provision an ElastiCache Redis Cluster
Stars: ✭ 73 (-12.05%)
Mutual labels: terraform
Terraform Ebs Attachmentizer
Convert ebs_block_device blocks in aws_instance resource to aws_ebs_volume and aws_volume_attachment resources
Stars: ✭ 79 (-4.82%)
Mutual labels: terraform
Terrafile
Terrafile is a binary written in Go to systematically manage external modules from Github for use in Terraform. See this article for more information on how it was introduced in a Ruby rake task.
How to install
macOS
brew tap coretech/terrafile && brew install terrafile
Linux
Download your preferred flavor from the releases page and install manually.
For example:
curl -L https://github.com/coretech/terrafile/releases/download/v{VERSION}/terrafile_{VERSION}_Linux_x86_64.tar.gz | tar xz -C /usr/local/bin
How to use
Terrafile expects a file named Terrafile
which will contain your terraform module dependencies in a yaml like format.
An example Terrafile:
tf-aws-vpc:
source: "[email protected]:terraform-aws-modules/terraform-aws-vpc"
version: "v1.46.0"
tf-aws-vpc-experimental:
source: "[email protected]:terraform-aws-modules/terraform-aws-vpc"
version: "master"
Terrafile config file in current directory and modules exported to ./vendor/modules
$ terrafile
INFO[0000] [*] Checking out v1.46.0 of [email protected]:terraform-aws-modules/terraform-aws-vpc
INFO[0000] [*] Checking out master of [email protected]:terraform-aws-modules/terraform-aws-vpc
Terrafile config file in custom directory
$ terrafile -f config/Terrafile
INFO[0000] [*] Checking out v1.46.0 of [email protected]:terraform-aws-modules/terraform-aws-vpc
INFO[0000] [*] Checking out master of [email protected]:terraform-aws-modules/terraform-aws-vpc
Terraform modules exported to custom directory
$ terrafile -p custom_directory
INFO[0000] [*] Checking out master of [email protected]:terraform-aws-modules/terraform-aws-vpc
INFO[0001] [*] Checking out v1.46.0 of [email protected]:terraform-aws-modules/terraform-aws-vpc
TODO
- Break out the main logic into seperate commands (e.g. version, help, run)
- Update tests to include unit tests for broken out commands
- Add coverage tool and badge
- May be worth renaming Terrafile config file to something that won't be misinterpreted as the binary
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].