Our great sponsors
- InfluxDB - Collect and Analyze Billions of Data Points in Real Time
- Onboard AI - Learn any GitHub repo in 59 seconds
- SaaSHub - Software Alternatives and Reviews
-
A higher-order module is just a module that calls another module to extend that modules functionality. You can see it being used here https://github.com/DontShaveTheYak/terraform-module-template/tree/main/modules/greet_multiple
-
This is a template to create a module. It has a lot of stuff built in like testing tools. Those are all covered in the README. The module itself is just a simple "Hello World" so it doesn't really use very complicated Terraform logic. It's not a great example for advanced Terraform logic but this is https://github.com/terraform-aws-modules/terraform-aws-vpc/blob/master/main.tf.
-
InfluxDB
Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.
-
Create git tags using semver when PRs merge to the main branch.
-
Local testing with pre-commit-terraform. Formats code with terraform fmt Validates code with terraform validate Automatic README updates with terraform-docs. Static code analysis with TFLint, tfsec and checkov.
-
Automatic README updates with terraform-docs.
-
Static code analysis with TFLint, tfsec and checkov.
-
Static code analysis with TFLint, tfsec and checkov.
-
Onboard AI
Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.
-
checkov
Prevent cloud misconfigurations and find vulnerabilities during build-time in infrastructure as code, container images and open source packages with Checkov by Bridgecrew.
Static code analysis with TFLint, tfsec and checkov.
-
terratest
Terratest is a Go library that makes it easier to write automated tests for your infrastructure code.
Testing with Terratest across all major versions of Terraform.
-
terraform-aws-consul-starter
A Terraform module for creating an OSS Consul cluster as described by the HashiCorp reference architecture.
You can see the same structure in the official Consul module provided by Hashicorp as well as in the AWS community modules, like here in the VPC module.
-
terraform-aws-eks
Terraform module to create an Elastic Kubernetes (EKS) cluster and associated resources 🇺🇦
You are right for a public module as a git repo, but I rarely use public modules. Most are overally complicated and low on readability. Also the greater complexity leads to more bugs. I am also not a fan of using modules directly from upstream git repository. I don't trust them to not break it or move it. The main exception I have found to not using public modules is https://github.com/terraform-aws-modules/terraform-aws-eks. EKS is inherently so complex that is worth using a very complex module.
Related posts
- How long have you guys actually had the title “platform engineer”? What other titles did you have before that, if any?
- This is the best way to create a Terraform module!
- Terraform Best Practices for Better Infrastructure Management
- Terraform Cloud Pricing Changes Sticker Shock
- Feat: Made it clear that we stand with Ukraine