https://github.com/devopscorner/terraform-infra
Production Grade Terraform for Provisioning Infrastructure
https://github.com/devopscorner/terraform-infra
airflow aws cicd cloud9 codebuild codecommit codepipeline container devopscorner docker ec2 ecr eks emr infrastructure-as-code mwaa rds redis terraform
Last synced: 25 days ago
JSON representation
Production Grade Terraform for Provisioning Infrastructure
- Host: GitHub
- URL: https://github.com/devopscorner/terraform-infra
- Owner: devopscorner
- License: apache-2.0
- Created: 2022-04-09T10:46:32.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-04-14T00:41:31.000Z (about 1 year ago)
- Last Synced: 2024-04-14T01:12:03.246Z (about 1 year ago)
- Topics: airflow, aws, cicd, cloud9, codebuild, codecommit, codepipeline, container, devopscorner, docker, ec2, ecr, eks, emr, infrastructure-as-code, mwaa, rds, redis, terraform
- Language: HCL
- Homepage: https://devopscorner.id
- Size: 36.8 MB
- Stars: 21
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Terraform Infra
Production Grade Terraform for Provisioning Infrastructure


[](https://hub.docker.com/r/devopscorner/cicd/)
[](https://hub.docker.com/r/devopscorner/terraform-infra/)








[](https://img.shields.io/github/license/devopscorner/terraform-infra)---
## Available Tags
### Alpine
| Image name | Size |
|------------|------|
| `devopscorner/terraform-infra:alpine` | [](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=alpine)  |
| `devopscorner/terraform-infra:alpine-latest` | [](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=alpine-latest)  |
| `devopscorner/terraform-infra:alpine-3.17` | [](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=alpine-3.17)  |### Ubuntu
| Image name | Size |
|------------|------|
| `devopscorner/terraform-infra:ubuntu` | [](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=ubuntu)  |
| `devopscorner/terraform-infra:ubuntu-latest` | [](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=ubuntu-latest)  |
| `devopscorner/terraform-infra:ubuntu-22.04` | [](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=ubuntu-22.04)  |### AWS Linux (CodeBuild)
| Image name | Size |
|------------|------|
| `devopscorner/terraform-infra:latest` | [](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=latest)   |
| `devopscorner/terraform-infra:codebuild` | [](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=codebuild)  |
| `devopscorner/terraform-infra:codebuild-latest` | [](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=codebuild-latest)  |
| `devopscorner/terraform-infra:codebuild-4.0` | [](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=codebuild-4.0)  |---
### Previous Version - Alpine (Depreciated)
| Image name | Size |
|------------|------|
| `devopscorner/terraform-infra:1.0.5` | [](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=1.0.5) |
| `devopscorner/terraform-infra:1.0.5-alpine` | [](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=1.0.5-alpine) |
| `devopscorner/terraform-infra:alpine-3.16` | [](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=alpine-3.16) |### Previous Version - Ubuntu (Depreciated)
| Image name | Size |
|------------|------|
| `devopscorner/terraform-infra:1.0.5-ubuntu` | [](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=1.0.5-ubuntu) |### Previous Version - CodeBuild (Depreciated)
| Image name | Size |
|------------|------|
| `devopscorner/terraform-infra:codebuild-2.0` | [](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=codebuild-2.0) |
| `devopscorner/terraform-infra:codebuild-3.0` | [](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=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](docs/README.md) link
- Reproduce DEMO, detail [here](docs/DEMO.md)## 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`
- Amazon ElastiCache for Redis## Tested Environment
### Versioning
- Docker version
```
docker -v
---
Docker version 20.10.21-rd, build ac29474docker 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: trueServer: 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**