terraform-aws-ssh-bastion-service
terraform-aws-dynamic-subnets
terraform-aws-ssh-bastion-service | terraform-aws-dynamic-subnets | |
---|---|---|
12 | 1 | |
204 | 186 | |
- | 0.5% | |
0.0 | 5.4 | |
12 months ago | 5 days ago | |
HCL | HCL | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
terraform-aws-ssh-bastion-service
-
Adding two separte custom_data blocks?
I'm not sure from this exactly what you're trying to do. If you're working with cloudinit/userdata then I can point you to an example.
-
Best tips for reducing cloud costs?
I actually mashed together cloudposse/terraform-aws-dynamic-subnets (which has an option to use NAT instances instead of gateways) and joshuamkite/terraform-aws-ssh-bastion-service. That allowed for even cheaper setups where your bastion jump-host (the host you proxy through to get to the private subnets) is also the NAT gateway. I quite liked this setup because the bastion sessions were sufficiently sandboxed in a ephemeral container, and we didn't need twice the number of hosts to have both NAT instances and bastions.
-
templatefile to use 'inline templates'
I have a public terraform module which i migrated away from the template provider last year. You can see how I handled the changes and used the new provider if that helps
-
Executing remote-exec via terraform led to my resource to stuck at still creating
You should try to avoid using remote exec with terraform wherever possible. It's not a great fit with the declarative approach that Terraform aims for. Here you would be better off using 'user data' to provision your instance. I have a public project that deploys and builds a Golang app on EC2. It's a bit more complicated than your example here, but it does demonstrate a method for doing what you're trying to do with the approach that I have suggested.
-
How to pratice
The thing that really moved me on from junior to senior in this area was finding something that was a common pain point for many people that I could focus on to address as a 'simple' solution that could be used as a 'black box' or 'tick box'. Once it picked up steam I had to deal with other people's use cases and suggestions that I had never considered before, both in person (when i spoke at meetups) and online (open source project).
-
Terraform: Jesus, how to generate YAML from a template file?
It looks like you might be misunderstanding the purpose of the yamlencode function here. Terraform doesn't need to know anything about the syntax of the file you're using with templatefile, as long as it's text, you're good. Just start with a yaml file and use the templatefile syntax for your substitutions. Examples
-
Upgrading from 0.11 to 1.3
I have a public Terraform module with releases incrementing from tf 11 thru 1.2.0 where you can see changes dealing with this sorry of thing
-
Terraform and EC2 user_data to create 2 files
I'm well aware. My repo that I linked is in multi part mime. An older version used different mime types but I couldn't get it to handle all the conditional logic reliably
-
Terraform plan is different across systems (Linux and Windows)
I haven't seen your code but it sounds like you're using it wrong. I can well imagine that if you apply multiple cloudinit_config files to a single host that they get placed in alphabetical order but I don't really get why you would want to do that. In many environments, e.g. AWS, you can only supply a single user data file to your host anyway. cloudinit_config supports mullti-part MIME encoding so that you can combine sections from multiple sources in a predictable way.
-
Terraform AWS assume role policy help
You can see terraform rendering IAM policies with interpoalted assume role policies in my module.
terraform-aws-dynamic-subnets
-
Best tips for reducing cloud costs?
I actually mashed together cloudposse/terraform-aws-dynamic-subnets (which has an option to use NAT instances instead of gateways) and joshuamkite/terraform-aws-ssh-bastion-service. That allowed for even cheaper setups where your bastion jump-host (the host you proxy through to get to the private subnets) is also the NAT gateway. I quite liked this setup because the bastion sessions were sufficiently sandboxed in a ephemeral container, and we didn't need twice the number of hosts to have both NAT instances and bastions.
What are some alternatives?
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.
terraform-aws-elastic-beanstalk-environment - Terraform module to provision an AWS Elastic Beanstalk Environment
terraform-general-cloudinit - A cloudinit wrapper module that enables quick machine configuration
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.
terraform-aws-multi-az-subnets - DEPRECATED (use cloudposse/terraform-aws-dynamic-subnets instead): Terraform module for multi-AZ public and private subnets provisioning
terraform-aws-ec2-instance - Terraform module for provisioning a general purpose EC2 host
terraform-aws-base-networking - Terraform module for building base networking in AWS
FlameGraph - Stack trace visualizer
AWS-NAT-Gateway - Understand the basics of a NAT-Gateway, create one using AWS
terraform-aws-sns-lambda-notify-slack - Terraform module to provision a lambda function that subscribes to SNS and notifies to Slack.
my-gke-tf - Sample code showing how to create gke cluster within its own vpc using terraform. Also explains how to modularize the terraform, connect to the gke cluster and install helm charts