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. Learn more →
Top 23 Go AWS Projects
-
Pulumi
Pulumi - Infrastructure as Code in any programming language. Build infrastructure intuitively on any cloud using familiar languages 🚀
-
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
-
go-cloud
The Go Cloud Development Kit (Go CDK): A library and tools for open cloud development in Go.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
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.
-
external-dns
Configure external DNS servers (AWS Route53, Google CloudDNS and others) for Kubernetes Ingresses and Services
-
Encore
Encore is the Backend Development Platform purpose-built to help you create event-driven and distributed systems.
-
terrascan
Detect compliance and security violations across Infrastructure as Code to mitigate risk before provisioning cloud native infrastructure.
-
komiser
Open-source cloud-environment inspector. Supporting AWS, GCP, Azure, and more! Your cloud resources will have nowhere to hide!
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
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.
My script just sets up default .sops.yaml for https://github.com/getsops/sops
You can further edit .sops.yaml(eg have multiple of them) and decide how you split secrets in your directory tree to further customize who can decrypt the secrets.
It works pretty well for prod/dev splits, etc
‍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).
Even when going multi-cloud you can employ different strategies. Vault is definitely one of them, but you can also use federation to exchange one cloud's credentials for another's, giving you the ability to centralize secrets in one of them. You can use a layer of abstraction like GoCloud [0]. You can also build for each cloud separately and decide either not to centralize secrets at all, or build some trivial bespoke tooling to synchronize some of them. I'm not endorsing any of the options, just pointing out that Vault isn't the only one.
https://github.com/google/go-cloud
Project mention: my first go project, a CLI application to store IP addresses | /r/golang | 2023-07-12
Undying fondness for aws-vault to securely cache my session credentials.
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.
The second one is a combination of tools: External DNS, cert-manager, and NGINX ingress. Using these as a stack, you can quickly deploy an application, making it available through a DNS with a TLS without much effort via simple annotations. When I first discovered External DNS, I was amazed at its quality.
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: We might want to regularly keep track of how important each server is | news.ycombinator.com | 2024-02-06Check out CloudQuery - https://github.com/cloudquery/cloudquery for an easy cloud asset inventory.
Project mention: Cutting down AWS cost by $150k per year simply by shutting things off | news.ycombinator.com | 2024-01-22To give this a slightly different spin:
--> "The best optimization is simply not spinning things up."
At least for local development and testing, as made possible by LocalStack (https://localstack.cloud), among other local testing solutions and emulators.
We've seen so many teams fall into the trap of "someone forgot to shut down dev resource X for a week and now we've racked up a $$$ bill on AWS".
What is everyone's strategy to avoid this kind of situation? Tools like `aws-nuke` (https://github.com/rebuy-de/aws-nuke) are awesome (!) to clean up unused resources, but frankly they should not be necessary in the first place.
OpenCost is an open source implementation for Kubernetes cost monitoring and now cloud cost monitoring for AWS, Azure, and GCP. The project makes all of this data accessible via an API and user interface. While discussing the idea of running OpenCost on platforms besides Kubernetes we realized that with this new Cloud Costs feature there are users who want API access to their cloud billing data without needing to run on Kubernetes. I opened the Issue OpenCost without Kubernetes #2268 and as luck would have it, we had our internal Hackathon last week.
If you're not familiar with OpenCost, it's the open source CNCF project for monitoring Kubernetes and cloud spending. It's a Golang implementation of the OpenCost Specification for monitoring Kubernetes cloud costs. It has an optional web UI and you can also run it as a Prometheus metrics exporter. The code is all at https://github.com/opencost/opencost and you can learn more about the project at https://opencost.io
Project mention: Build and deploy a REST API with Postgres database in TypeScript | dev.to | 2024-04-15In this tutorial you will create a REST API for a URL Shortener service using Encore for TypeScript, a new way of building fully type-safe and production-ready distributed systems in TypeScript using declarative infrastructure.
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.
Project mention: Open-source alternative to Heroku, Vercel, and Netlify | news.ycombinator.com | 2024-04-29There's Porter, the "Kubernetes powered PaaS that runs in your own cloud".
https://github.com/porter-dev/porter
Project mention: Komiser – Your cloud resources will have nowhere to hide | news.ycombinator.com | 2023-10-17
I thought at the beginning that such certificate would then expire, but I have seen cert-manager is within ALB code https://github.com/kubernetes-sigs/aws-load-balancer-controller/blob/main/config/certmanager/certificate.yaml so that makes me hesitate about it.
Go AWS related posts
-
How to Manage Multiple Terraform Environments Efficiently
-
E1s – A Terminal-Based AWS ECS Management Tool(~K9s for ECS)
-
Eliminate IPv4 tax on AWS, is it that easy?
-
How To Manage an Amazon Bedrock Agent Using Terraform
-
How to Temporarily Remove and Reintegrate Cloud Resources from Terraform Management
-
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 - InfluxDB
www.influxdata.com | 7 May 2024
Index
What are some of the best open-source AWS projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | Pulumi | 19,976 |
2 | sops | 15,160 |
3 | terraformer | 11,797 |
4 | infracost | 10,289 |
5 | terraform-provider-aws | 9,467 |
6 | go-cloud | 9,395 |
7 | up | 8,771 |
8 | aws-sdk-go | 8,548 |
9 | aws-vault | 8,153 |
10 | terragrunt | 7,641 |
11 | terratest | 7,341 |
12 | external-dns | 7,266 |
13 | tfsec | 6,571 |
14 | steampipe | 6,401 |
15 | cloudquery | 5,591 |
16 | aws-nuke | 5,353 |
17 | awless | 4,963 |
18 | opencost | 4,731 |
19 | Encore | 4,595 |
20 | terrascan | 4,518 |
21 | porter | 4,145 |
22 | komiser | 3,849 |
23 | aws-load-balancer-controller | 3,765 |
Sponsored