SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Go Terraform Projects
-
terraform
Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
-
microservices-demo
Sample cloud-first application with 10 microservices showcasing Kubernetes, Istio, and gRPC.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
terraformer
CLI tool to generate terraform files from existing infrastructure (reverse Terraform). Infrastructure to Code
-
terragrunt
Terragrunt is a thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules.
-
terratest
Terratest is a Go library that makes it easier to write automated tests for your infrastructure code.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
coder
Coder provisions software development environments via Terraform on Linux, macOS, Windows, X86, ARM, and of course, Kubernetes.
-
wild-workouts-go-ddd-example
Go DDD example application. Complete project to show how to apply DDD, Clean Architecture, and CQRS by practical refactoring.
-
terrascan
Detect compliance and security violations across Infrastructure as Code to mitigate risk before provisioning cloud native infrastructure.
-
go-coffeeshop
☕ A practical event-driven microservices demo built with Golang. Nomad, Consul Connect, Vault, and Terraform for deployment
-
digger
Digger is an open source IaC orchestration tool. Digger allows you to run IaC in your existing CI pipeline ⚡️
-
terracognita
Reads from existing public and private cloud providers (reverse Terraform) and generates your infrastructure as code on Terraform configuration
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
I am not only a big fan of hashicorp terraform. I'm also one of the early adopters of it. So this is my main go-to Infrastructure as a Code tool. However all the resources I use are supported by other IaaC solutions such as AWS CloudFormation and AWS CDK. You definitely got to use one to avoid loosing the track of resources you create.
You can check https://github.com/GoogleCloudPlatform/microservices-demo for Kubernetes show-casing
Terraformer is a CLI tool developed by Google that generates Terraform files from existing infrastructure (reverse Terraform), simplifying the process of adopting Terraform in existing environments and speeding up the initial setup process. Terraformer supports multiple cloud providers, including AWS, Google Cloud, Azure, and others.
Infracost is a cost estimation tool that generates cost estimates for Terraform projects, which is crucial for budget planning and cost optimization, especially in cloud environments where resource costs can vary significantly.
API for IaaC: At least for Pulumi, it appears not all IPv6 settings are configurable. For example, I could not retrieve IPv6 automatically in the same way as IPv4 via Elastic IP, or I could not configure ICMPv6 ACL (a similar issue is reported in the Terraform repository).
Terragrunt is a Terraform wrapper, designed to fill in the gaps when it comes to large scale Terraform configurations.
Terratest is a Go library that provides tools and patterns for testing infrastructure, with first-class support for Terraform, Packer, Docker, Kubernetes, and more. It's used to write automated tests for your infrastructure code.
Project mention: OpenTofu 1.7.0 is out with State Encryption, Dynamic Provider-defined Functions | news.ycombinator.com | 2024-04-30None of these are a replacement of Terraform Cloud (recently rebranded to HCP Terraform). For example, when you create a PR, it could affect multiple workspaces. The new experimental version of TFC/TFE (I refuse to call it HCP!) implements Stacks, which is something like a workflow, and links one workspace output to other workspace inputs. None of the open-source solutions, including the paid Digger [0], support this - only the paid one, such as Spacelift [1] (which is the closest to TFC if you ask me). Having a monorepo of Terraform is a common design pattern, so, if I change an embedded module, it could trigger changes it many workspaces. As far as I know, Atlantis [2] can't really help in this case.
By the way, the reason I singled-out Spacelift is due to its quality, and the great Terraform provider it has. Scalr [3], for example, has a really low-quality Terraform provider. I extensively use the hashicorp/tfe provider to manage TFC itself.
[0]: https://digger.dev/
[1]: https://spacelift.io/
[2]: https://www.runatlantis.io/
[3]: https://www.scalr.com/
Project mention: Show HN: Lapdev, a new open-source remote dev environment management software | news.ycombinator.com | 2024-03-23Founder of coder (https://github.com/coder/coder) here. We choose Terraform as our provisioning layer so that users can provision full blown VMs as their development environment.
We have many teams using GPUs with Coder for ML workloads but doing GUI/Game remote development where interactivity is essential remains elusive.
3. tfsec: https://github.com/aquasecurity/tfsec tfsec uses a suite of security checks to scan your Terraform templates, helping to identify potential security issues before infrastructure is deployed.
Project mention: Steampipe: Dynamically query APIs, code and more with SQL | news.ycombinator.com | 2024-04-04
Project mention: Looking for elegant code bases written in Golang | news.ycombinator.com | 2023-12-09Take a look at: https://github.com/ThreeDotsLabs/wild-workouts-go-ddd-exampl...
(I’m one of the authors.)
This project shows how to apply more complex patterns popular in business applications while staying true to the Go ideas, and not copying them blindly from Java.
In the Go community, you’ll often hear people say „just keep things simple” beats all patterns and is all you need. This may be true if you write a CLI tool or a small library, but if you have a team maintaining a big application, some patterns are super helpful.
TFLint is a Terraform linter focused on possible errors, best practices, and style conventions in your Terraform code.
2. Terrascan: https://github.com/tenable/terrascan Terrascan detects security vulnerabilities and compliance violations across your IaC. Supports multiple cloud providers, ensuring that your infrastructure complies with security best practices.
Documentation is really important, so having a README.md file inside your Terraform repository that explains how to use the automation (including descriptions of variables and outputs) really help in understanding what has been implemented. To easily generate the description of variables and outputs, you can leverage tfdocs.
Project mention: Can Visualising Terraform help in enabling a dry run / readonly modes for Developers planning their Terraform? | /r/Terraform | 2023-06-28Rover:
Project mention: OpenTofu 1.7.0 is out with State Encryption, Dynamic Provider-defined Functions | news.ycombinator.com | 2024-04-30None of these are a replacement of Terraform Cloud (recently rebranded to HCP Terraform). For example, when you create a PR, it could affect multiple workspaces. The new experimental version of TFC/TFE (I refuse to call it HCP!) implements Stacks, which is something like a workflow, and links one workspace output to other workspace inputs. None of the open-source solutions, including the paid Digger [0], support this - only the paid one, such as Spacelift [1] (which is the closest to TFC if you ask me). Having a monorepo of Terraform is a common design pattern, so, if I change an embedded module, it could trigger changes it many workspaces. As far as I know, Atlantis [2] can't really help in this case.
By the way, the reason I singled-out Spacelift is due to its quality, and the great Terraform provider it has. Scalr [3], for example, has a really low-quality Terraform provider. I extensively use the hashicorp/tfe provider to manage TFC itself.
[0]: https://digger.dev/
[1]: https://spacelift.io/
[2]: https://www.runatlantis.io/
[3]: https://www.scalr.com/
Driftctl is an open-source Terraform drift detection tool that tracks and warns about infrastructure drift. Driftctl scans your infrastructure, compares it with your IaC configurations (like Terraform), and reports discrepancies.
> DNS without CGO works perfectly
It does not. I know this because it impacts my daily work and the work of others. Honestly if you could make my day and go figure out exactly what's going wrong with the pure go DNS implementation it would make my life alot simpler and I wouldn't have to maintain shell scripts that update etc/hosts to hard code in ipv4 addresses for the APIs I access with terraform.
https://github.com/hashicorp/terraform-provider-google/issue...
Project mention: Generate Terraform code from your existing cloud infrastructure | news.ycombinator.com | 2023-12-12
Go Terraform related posts
-
Show HN: Tenv – OpenTofu, Terraform and Terragrunt version manager
-
How to Manage Multiple Terraform Environments Efficiently
-
Eliminate IPv4 tax on AWS, is it that easy?
-
OpenTofu 1.7.0 is out with State Encryption, Dynamic Provider-defined Functions
-
How To Manage an Amazon Bedrock Agent Using Terraform
-
How To Manage Amazon GuardDuty in AWS Organizations Using Terraform
-
Deploying a Containerized App to ECS Fargate Using a Private ECR Repo & Terragrunt
-
A note from our sponsor - SaaSHub
www.saashub.com | 7 May 2024
Index
What are some of the best open-source Terraform projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | terraform | 41,235 |
2 | microservices-demo | 15,811 |
3 | terraformer | 11,797 |
4 | infracost | 10,289 |
5 | terraform-provider-aws | 9,467 |
6 | terragrunt | 7,641 |
7 | terratest | 7,341 |
8 | atlantis | 7,335 |
9 | coder | 6,971 |
10 | tfsec | 6,571 |
11 | steampipe | 6,401 |
12 | wild-workouts-go-ddd-example | 4,899 |
13 | tflint | 4,619 |
14 | terrascan | 4,518 |
15 | terraform-provider-azurerm | 4,415 |
16 | terraform-docs | 4,022 |
17 | go-coffeeshop | 3,952 |
18 | aiac | 3,304 |
19 | rover | 2,909 |
20 | digger | 2,697 |
21 | driftctl | 2,410 |
22 | terraform-provider-google | 2,224 |
23 | terracognita | 2,098 |
Sponsored