SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Go infrastructure-as-code 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.
-
trivy
Find vulnerabilities, misconfigurations, secrets, SBOM in containers, Kubernetes, code repositories, clouds and more
-
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.
-
Pulumi
Pulumi - Infrastructure as Code in any programming language. Build infrastructure intuitively on any cloud using familiar languages 🚀
-
terraformer
CLI tool to generate terraform files from existing infrastructure (reverse Terraform). Infrastructure to Code
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
terrascan
Detect compliance and security violations across Infrastructure as Code to mitigate risk before provisioning cloud native infrastructure.
-
copilot-cli
The AWS Copilot CLI is a tool for developers to build, release and operate production ready containerized applications on AWS App Runner or Amazon ECS on AWS Fargate.
-
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
-
kubeblocks
KubeBlocks is an open-source control plane that runs and manages databases, message queues and other data infrastructure on K8s.
-
terratag
Terratag is a CLI tool that enables users of Terraform to automatically create and maintain tags across their entire set of AWS, Azure, and GCP resources
-
yor
Extensible auto-tagger for your IaC files. The ultimate way to link entities in the cloud back to the codified resource which created it.
-
iam-policy-json-to-terraform
Small tool to convert an IAM Policy in JSON format into a Terraform aws_iam_policy_document
-
multy
Multy - Easily deploy multi cloud infrastructure. Write cloud-agnostic config deployed across multiple clouds
-
Selefra
The open-source policy-as-code software that provides analysis for Multi-Cloud and SaaS environments, you can get insight with natural language (powered by OpenAI).
-
stackql
Query, provision and operate Cloud and SaaS resources and APIs using an extensible SQL based framework
-
pulumi-aws
An Amazon Web Services (AWS) Pulumi resource package, providing multi-language access to AWS
-
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.
4. Trivy: https://github.com/aquasecurity/trivy Trivy is a versatile tool that scans for vulnerabilities in your containers, and also checks for vulnerabilities in your application dependencies.
If you are following this blog series, you should already know the benefits of using Terraform to define and deploy your AWS resources and configuration. Other IaC solutions such as AWS CloudFormation, AWS CDK, and Pulumi work the same way but differs in the programming or configuration language.
‍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.
did anyone adopt in production https://crossplane.io ?
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.
Certain checks may be possible with goss and the kgoss wrapper: https://github.com/goss-org/goss/tree/master/extras/kgoss
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.
AWS Copilot CLI is an open source command line interface for running containers on AWS App Runner, Amazon Elastic Container Service (ECS), and AWS Fargate.
Project mention: DNSControl: Synchronize your DNS to multiple providers from a simple DSL | news.ycombinator.com | 2024-01-02
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.
Project mention: Generate Terraform code from your existing cloud infrastructure | news.ycombinator.com | 2023-12-12
Terraboard is a web-based dashboard designed for visualizing and querying Terraform states. It offers several key features: an overview page that lists the most recently updated state files along with their activities; a detailed state page showing versions and resource attributes of state files; a search interface for querying resources by type, name, or attributes; and a diff interface for comparing state versions. Terraboard supports various remote state backend providers, including AWS S3 for state management and DynamoDB for locking, S3-compatible backends like MinIO, Google Cloud Storage, Terraform Cloud (remote), and GitLab. This makes it a versatile tool for managing and understanding Terraform state files.
‍Terratag is a tool designed to assign tags or labels to a complete collection of Terraform or Terragrunt files. It enables applying tags or labels to resources within AWS, GCP, and Azure.
Multy is an interesting project. Though such a project is bound to suffer from the downsides of all clouds and wont be able to gain from the advantages of a specific cloud service.
[Feature]Modules support filtering, while labels support customization of any format. by @FelixsJiang in #30
Like Steampipe's revolutionary approach, StackQL harnesses the power of SQL to query your resources seamlessly. Moreover, it empowers you to utilize SQL syntax for querying and creating resources.
Sure, but the providers for some of the biggest platforms are maintained by HashiCorp[1] - like the AWS, Azure, GCP, and Kubernetes providers[2], and it appears the Pulumi AWS provider (for example) _does_ use the Terraform AWS provider, even to this day[3].
1. https://developer.hashicorp.com/terraform/registry/providers... - "official" providers are maintained by HashiCorp
2. https://registry.terraform.io/browse/providers?tier=official - The filtered list of "official" providers maintained by HashiCorp
3. https://github.com/pulumi/pulumi-aws/tree/008c4360bc9fc24303... - Just prove it to myself, I can see the `upstream` git submodule, which embeds pulumi/terraform-provider-aws, which is a fork of hashicorp/terraform-provider-aws, although the repo was not created as a fork in Github, so it is not marked as a "fork" and so I have to compare commit histories to tell that it is a fork.
Go infrastructure-as-code related posts
-
Prevendo Custo de Arquitetura Terraform
-
OpenTofu 1.7.0 is out with State Encryption, Dynamic Provider-defined Functions
-
AWS Cloud Platform for highly loaded WordPress website
-
A Deep Dive Into Terraform Static Code Analysis Tools: Features and Comparisons
-
Why CISA Is Warning CISOs About a Breach at Sisense
-
OpenTofu Response to HashiCorp's Cease and Desist Letter
-
Ask HN: Should we build support for more CI platforms, or features for Actions?
-
A note from our sponsor - SaaSHub
www.saashub.com | 17 May 2024
Index
What are some of the best open-source infrastructure-as-code projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | terraform | 41,291 |
2 | trivy | 21,525 |
3 | Pulumi | 20,063 |
4 | terraformer | 11,859 |
5 | infracost | 10,322 |
6 | crossplane | 8,847 |
7 | tfsec | 6,576 |
8 | goss | 5,451 |
9 | terrascan | 4,526 |
10 | copilot-cli | 3,332 |
11 | DnsControl | 2,948 |
12 | digger | 2,701 |
13 | driftctl | 2,412 |
14 | terracognita | 2,110 |
15 | terraboard | 1,879 |
16 | kubeblocks | 1,668 |
17 | terratag | 899 |
18 | yor | 779 |
19 | iam-policy-json-to-terraform | 759 |
20 | multy | 627 |
21 | Selefra | 510 |
22 | stackql | 434 |
23 | pulumi-aws | 420 |
Sponsored