terraform-infra
terraform-infra copied to clipboard
Production Grade Terraform for Provisioning Infrastructure
Terraform Infra
Production Grade Terraform for Provisioning Infrastructure
Available Tags
Alpine
| Image name | Size |
|---|---|
devopscorner/terraform-infra:alpine |
|
devopscorner/terraform-infra:alpine-latest |
|
devopscorner/terraform-infra:alpine-3.17 |
Ubuntu
| Image name | Size |
|---|---|
devopscorner/terraform-infra:ubuntu |
|
devopscorner/terraform-infra:ubuntu-latest |
|
devopscorner/terraform-infra:ubuntu-22.04 |
AWS Linux (CodeBuild)
| Image name | Size |
|---|---|
devopscorner/terraform-infra:latest |
|
devopscorner/terraform-infra:codebuild |
|
devopscorner/terraform-infra:codebuild-latest |
|
devopscorner/terraform-infra:codebuild-4.0 |
Previous Version - Alpine (Depreciated)
| Image name | Size |
|---|---|
devopscorner/terraform-infra:1.0.5 |
|
devopscorner/terraform-infra:1.0.5-alpine |
|
devopscorner/terraform-infra:alpine-3.16 |
Previous Version - Ubuntu (Depreciated)
| Image name | Size |
|---|---|
devopscorner/terraform-infra:1.0.5-ubuntu |
Previous Version - CodeBuild (Depreciated)
| Image name | Size |
|---|---|
devopscorner/terraform-infra:codebuild-2.0 |
|
devopscorner/terraform-infra:codebuild-3.0 |
Prerequirements
- Docker (
docker) - Docker Compose (
docker-compose) - AWS Cli version 2 (
aws) - Terraform Cli (
terraform) - Terraform Environment (
tfenv)
Documentation
- Index Documentation, go to this link
- Reproduce DEMO, detail here
Terraform Features
Multi Environment Workspace:
-
Remote State Terraform (S3 & DynamoDB)
-
Core Infrastructure
- VPC
- Subnet EC2 & EKS
- Security Group
- NAT Gateway
- Internet Gateway
- VPC Peers Single CIDR
- VPC Peers Multi CIDR
-
Resources Other Infra
- Budget
- Cloud9 IDE
- AWS Elastic Computing (EC2)
- Airflow
- Jumphost
- Nifi
- PostgreSQL (PSQL)
- Amazon Managed Kubernetes Service (EKS)
- Amazon Elastic Map Reduce (EMR)
- Amazon Managed Workflows for Apache Airflow (MWAA)
- Amazon Relational Database Service (RDS)
- RDS
goappdb - RDS
laraveldb - RDS
nifidb
- RDS
- Amazon ElastiCache for Redis
Tested Environment
Versioning
-
Docker version
docker -v --- Docker version 20.10.21-rd, build ac29474 docker version --- Client: Version: 20.10.21-rd API version: 1.41 Go version: go1.18.7 Git commit: ac29474 Built: Tue Nov 22 22:21:43 2022 OS/Arch: darwin/arm64 Context: desktop-linux Experimental: true Server: Docker Desktop 4.17.0 (99724) Engine: Version: 20.10.23 API version: 1.41 (minimum version 1.12) Go version: go1.18.10 Git commit: 6051f14 Built: Thu Jan 19 17:31:28 2023 OS/Arch: linux/arm64 Experimental: false containerd: Version: 1.6.18 GitCommit: 2456e983eb9e37e47538f59ea18f2043c9a73640 runc: Version: 1.1.4 GitCommit: v1.1.4-0-g5fd4c4d docker-init: Version: 0.19.0 GitCommit: de40ad0 -
Docker-Compose version
docker-compose -v --- Docker Compose version v2.14.0 -
AWS Cli
aws --version --- aws-cli/2.9.16 Python/3.9.11 Darwin/22.3.0 exe/x86_64 prompt/off -
Terraform Environment Cli
tfenv -v --- tfenv 3.0.0 -
Terraform Cli
terraform version --- Terraform v1.3.9 on darwin_amd64 - provider registry.terraform.io/hashicorp/aws v3.74.3 - provider registry.terraform.io/hashicorp/local v2.1.0 - provider registry.terraform.io/hashicorp/null v3.1.0 - provider registry.terraform.io/hashicorp/random v3.1.0 - provider registry.terraform.io/hashicorp/time v0.7.2
Security Check
Make sure that you didn't push sensitive information in this repository
- [ ] AWS Credentials (AWS_ACCESS_KEY, AWS_SECRET_KEY)
- [ ] AWS Account ID
- [ ] AWS Resources ARN
- [ ] Username & Password
- [ ] Private (id_rsa) & Public Key (id_rsa.pub)
- [ ] DNS Zone ID
- [ ] APP & API Key
Copyright
- Author: Dwi Fahni Denni (@zeroc0d3)
- Vendor: DevOps Corner Indonesia (devopscorner.id)
- License: Apache v2