Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression. Learn more →
Top 23 HCL terraform-module Projects
-
terraform-aws-eks
Terraform module to create an Elastic Kubernetes (EKS) cluster and associated resources 🇺🇦
Project mention: ☸️ How to deploy a cost-efficient AWS/EKS Kubernetes cluster using Terraform in 2023 | dev.to | 2023-06-03module "eks" { source = "terraform-aws-modules/eks/aws" cluster_name = var.cluster_name cluster_version = var.kubernetes_version cluster_endpoint_private_access = true cluster_endpoint_public_access = true cluster_addons = { coredns = { most_recent = true timeouts = { create = "2m" # default 20m. Times out on first launch while being effectively created } } kube-proxy = { most_recent = true } vpc-cni = { most_recent = true } aws-ebs-csi-driver = { most_recent = true } } vpc_id = module.vpc.vpc_id subnet_ids = module.vpc.private_subnets # Self managed node groups will not automatically create the aws-auth configmap so we need to create_aws_auth_configmap = true manage_aws_auth_configmap = true aws_auth_users = var.aws_auth_users enable_irsa = true node_security_group_additional_rules = { ingress_self_all = { description = "Node to node all ports/protocols" protocol = "-1" from_port = 0 to_port = 0 type = "ingress" self = true } egress_all = { # by default, only https urls can be reached from inside the cluster description = "Node all egress" protocol = "-1" from_port = 0 to_port = 0 type = "egress" cidr_blocks = ["0.0.0.0/0"] ipv6_cidr_blocks = ["::/0"] } } self_managed_node_group_defaults = { # enable discovery of autoscaling groups by cluster-autoscaler autoscaling_group_tags = { "k8s.io/cluster-autoscaler/enabled" : true, "k8s.io/cluster-autoscaler/${var.cluster_name}" : "owned", } # from https://github.com/terraform-aws-modules/terraform-aws-eks/issues/2207#issuecomment-1220679414 # to avoid "waiting for a volume to be created, either by external provisioner "ebs.csi.aws.com" or manually created by system administrator" iam_role_additional_policies = { AmazonEBSCSIDriverPolicy = "arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy" } } # possible values : https://github.com/terraform-aws-modules/terraform-aws-eks/blob/master/node_groups.tf self_managed_node_groups = { default_node_group = { create = false } # fulltime-az-a = { # name = "fulltime-az-a" # subnets = [module.vpc.private_subnets[0]] # instance_type = "t3.medium" # desired_size = 1 # bootstrap_extra_args = "--kubelet-extra-args '--node-labels=node.kubernetes.io/lifecycle=normal'" # } spot-az-a = { name = "spot-az-a" subnet_ids = [module.vpc.private_subnets[0]] # only one subnet to simplify PV usage # availability_zones = ["${var.region}a"] # conflict with previous option. TODO try subnet_ids=null at creation (because at modification it fails) desired_size = 2 min_size = 1 max_size = 10 bootstrap_extra_args = "--kubelet-extra-args '--node-labels=node.kubernetes.io/lifecycle=spot'" use_mixed_instances_policy = true mixed_instances_policy = { instances_distribution = { on_demand_base_capacity = 0 on_demand_percentage_above_base_capacity = 0 spot_allocation_strategy = "lowest-price" # "capacity-optimized" described here : https://aws.amazon.com/blogs/compute/introducing-the-capacity-optimized-allocation-strategy-for-amazon-ec2-spot-instances/ } override = [ { instance_type = "t3.xlarge" weighted_capacity = "1" }, { instance_type = "t3a.xlarge" weighted_capacity = "1" }, ] } } } tags = local.tags }
-
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
-
terraform-aws-secure-baseline
Terraform module to set up your AWS account with the secure baseline configuration based on CIS Amazon Web Services Foundations and AWS Foundational Security Best Practices.
-
-
terraform-aws-lambda
Terraform module, which takes care of a lot of AWS Lambda/serverless tasks (build dependencies, packages, updates, deployments) in countless combinations 🇺🇦
It’s also weird not to know about terraform modules. There are a lot of things you _can_ configure because there are a lot of things people need to configure but if you’re using something like https://github.com/terraform-aws-modules/terraform-aws-lambd... it’s only a couple of lines of config for a Lambda.
-
Project mention: What's the difference between deploying ec2 instance as a module and deploying ec2 instance as a resource? | /r/Terraform | 2022-08-26
If you take the vpc module of terraform-aws-modules as an example, you see that there's a lot more to it than solely the vpc itself (https://github.com/terraform-aws-modules/terraform-aws-vpc/blob/master/main.tf). The same for your other example the ec2 instance (https://github.com/terraform-aws-modules/terraform-aws-ec2-instance/blob/master/main.tf).
-
You need to create IRSA part and give it as a variable for addons. You can GitHub repository for more details https://github.com/terraform-aws-modules/terraform-aws-iam/tree/master/modules/iam-role-for-service-accounts-eks
-
SonarLint
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
-
aws-eks-base
This boilerplate contains terraform configurations for the rapid deployment of a Kubernetes cluster, supporting services, and the underlying infrastructure in AWS.
-
Project mention: Security groups / rules are working but becoming unmanageable - how can I streamline this? | /r/Terraform | 2022-10-06
I've got a terraform workspace that has grown very organically. I'm setting my security group rules in a locals definition then calling each type of rule from each of the local values. I've looked into the security group module by Anton but because we have a mixture of CIDRs and Secgroups (as destinations and sources) I do not believe we can leverage it the way it is intended to be.
-
terraform-aws-atlantis
Terraform configurations for running Atlantis on AWS Fargate. Github, Gitlab and BitBucket are supported 🇺🇦
-
If you look at the Cloudposse EKS module you can see the issue:
-
Project mention: Terraform S3 module input `putin_khuylo` specifies whether you agree with Putin | news.ycombinator.com | 2022-06-29
-
terraform-aws-components
Opinionated, self-contained Terraform root modules that each solve one, specific problem
The solution to your problem is to build smaller "root" modules that do one thing well. Here's how we do it: https://github.com/cloudposse/terraform-aws-components/tree/main/modules; we call ours "components". For example, we have hundreds.
-
Project mention: How do I configure the EC2 instance type for ECS using terraform? | /r/aws | 2023-03-09
-
terraform-aws-tfstate-backend
Terraform module that provision an S3 bucket to store the `terraform.tfstate` file and a DynamoDB table to lock the state file to prevent concurrent modifications and state corruption.
-
Basically I am using this module : https://github.com/terraform-aws-modules/terraform-aws-rds-aurora/blob/v7.6.0/examples/mysql/main.tf
-
Project mention: terraform-tuesdays: Demo files for various Terraform Tuesday Examples | /r/u_TsukiZombina | 2022-08-22
-
terraform-aws-ecs-container-definition
Terraform module to generate well-formed JSON documents (container definitions) that are passed to the aws_ecs_task_definition Terraform resource
-
-
terraform-aws-cloudfront-s3-cdn
Terraform module to easily provision CloudFront CDN backed by an S3 origin
Project mention: Deploy EventCatalog to AWS CloudFront with Google SSO Access Control via Terraform | dev.to | 2022-07-17You can ignore that. Seems to be something depreciated that is used by the cloudposse/cloudfront-s3-cdn/aws terraform module.
-
terraform-aws-ecs-web-app
Terraform module that implements a web app on ECS and supports autoscaling, CI/CD, monitoring, ALB integration, and much more.
I’ve been spending a week trying to learn how to deploy a collection of containers (my web app, a Postgres DB, and some microservices) to AWS and I am still so lost.
The first solution I happened upon was serverless. Specifically SST, which is written with AWS CDK, but you must develop on live services and I just can’t justify paying to develop.
Then I found Serverless Framework, which is an abstraction on CloudFormation, but the offline solutions like localstack get a lot of flack for being buggy and localstack charges for some services. I also looked into Architect but the documentation is abysmal.
Then I figured serverful might be the easier way to go. I found that docker compose has a built in integration with AWS ECS where it transforms your yaml into Cloudformation to provision the right services. However, it seems to just be missing key parts like custom domain and SSL certificate provisioning which seems to defeat the IaC ethos.
Then I figured I might go with Terraform and I found some seemingly good starters like https://github.com/aws-ia/terraform-aws-ecs-blueprints https://github.com/cloudposse/terraform-aws-ecs-web-app https://github.com/turnerlabs/terraform-ecs-fargate but the examples are just lacking. They don’t have any examples for multiple containers that can access each others’ resources that I can find. Reading these templates has at least given me a better idea of the resources I need to provision in AWS but the networking and configuration still frighten me. Like do I need to configure nginx with a reverse proxy myself? How do I orchestrate that container with the others? And apparently services can crash and just not restart? And I need to make sure to configure volumes for data that needs to persist. And setting up the CI/CD seems daunting.
I’ve also heard about docker swarm, kubernetes, pulumi, AWS SAM, etc but it’s a lot to learn. When I go on Discords for web frameworks, mostly everyone including the devs of these frameworks use 2nd tier managed providers like Vercel, Fly, Netlify, Supabase, Cloudflare, etc. But many of those are just not as reliable as core cloud providers and the cost is way higher. Glad to see I’m not alone in a very reasonable expectation of a simple way to orchestrate multiple containers on AWS, what must be the most common use case web developers have
-
After you've cloned the repo, go to oci/terraform.tfvars and edit all values with the ones from your notes file. This build uses the great terraform configuration files from this repo of garutilorenzo (using version 2.2; if you have errors running all of this, you should check what changed in this repo since v2.2, or 01.02.23). You can read here if you want to customize your configuration and edit the main.tf file. This is the diagram that garutilorenzo made and how your deployment will look like (this tutorial is without Longhorn and ArgoCD, with 1 server nodes + 3 worker nodes and with ingress controller set as Traefik): *note - I've got some problems with clock of WSL2 not being synced to Windows clock. And provisioning didn't worked so if you receive clock errors too, verify your time with datecommand, if out of sync just run sudo hwclock -s or sudo ntpdate time.windows.com. Now just run terraform plan and then terraform apply. If everything was ok you should have your resources created.
-
terraform-aws-pricing
Terraform module which calculates price of AWS infrastructure (from Terraform state and plan) 🇺🇦
I was looking into something like: https://github.com/terraform-aws-modules/terraform-aws-pricing (we mostly use AWS) but if its even more in their face, that would be better.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
HCL terraform-module related posts
- ☸️ How to deploy a cost-efficient AWS/EKS Kubernetes cluster using Terraform in 2023
- Help with the official EKS module
- An issue with terraform module 3.2.0
- How are most EKS clusters deployed?
- Terraform Certification (Part 11): Modules
- I am stuck on learning how to provision K8s in AWS. Security groups? ALB? ACM? R53?
- How do I configure the EC2 instance type for ECS using terraform?
-
A note from our sponsor - InfluxDB
www.influxdata.com | 6 Jun 2023
Index
What are some of the best open-source terraform-module projects in HCL? This list will help you:
Project | Stars | |
---|---|---|
1 | terraform-aws-eks | 3,551 |
2 | terraform-aws-vpc | 2,660 |
3 | terraform-aws-secure-baseline | 1,029 |
4 | terraform-aws-rds | 750 |
5 | terraform-aws-lambda | 675 |
6 | terraform-aws-ec2-instance | 644 |
7 | terraform-aws-iam | 629 |
8 | aws-eks-base | 599 |
9 | terraform-aws-security-group | 505 |
10 | terraform-aws-atlantis | 464 |
11 | terraform-aws-eks-cluster | 451 |
12 | terraform-aws-s3-bucket | 419 |
13 | terraform-aws-components | 397 |
14 | terraform-aws-ecs | 389 |
15 | terraform-aws-tfstate-backend | 343 |
16 | terraform-aws-rds-aurora | 334 |
17 | terraform-tuesdays | 333 |
18 | terraform-aws-ecs-container-definition | 316 |
19 | terraform-aws-autoscaling | 258 |
20 | terraform-aws-cloudfront-s3-cdn | 254 |
21 | terraform-aws-ecs-web-app | 206 |
22 | k3s-oci-cluster | 162 |
23 | terraform-aws-pricing | 157 |