Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 5 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 (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-04-14T00:41:31.000Z (7 months ago)
- Last Synced: 2024-04-14T01:12:03.246Z (7 months 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
![all contributors](https://img.shields.io/github/contributors/devopscorner/terraform-infra)
![tags](https://img.shields.io/github/v/tag/devopscorner/terraform-infra?sort=semver)
[![cicd pulls](https://img.shields.io/docker/pulls/devopscorner/cicd.svg?label=cicd%20pulls&logo=docker)](https://hub.docker.com/r/devopscorner/cicd/)
[![terraform-infra pulls](https://img.shields.io/docker/pulls/devopscorner/terraform-infra.svg?label=terraform-infra%20pulls&logo=docker)](https://hub.docker.com/r/devopscorner/terraform-infra/)
![download all](https://img.shields.io/github/downloads/devopscorner/terraform-infra/total.svg)
![download latest](https://img.shields.io/github/downloads/devopscorner/terraform-infra/3.5.0/total)
![view](https://views.whatilearened.today/views/github/devopscorner/terraform-infra.svg)
![clone](https://img.shields.io/badge/dynamic/json?color=success&label=clone&query=count&url=https://raw.githubusercontent.com/devopscorner/terraform-infra/master/clone.json?raw=True&logo=github)
![issues](https://img.shields.io/github/issues/devopscorner/terraform-infra)
![pull requests](https://img.shields.io/github/issues-pr/devopscorner/terraform-infra)
![forks](https://img.shields.io/github/forks/devopscorner/terraform-infra)
![stars](https://img.shields.io/github/stars/devopscorner/terraform-infra)
[![license](https://img.shields.io/github/license/devopscorner/terraform-infra)](https://img.shields.io/github/license/devopscorner/terraform-infra)---
## Available Tags
### Alpine
| Image name | Size |
|------------|------|
| `devopscorner/terraform-infra:alpine` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/terraform-infra/alpine.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=alpine) ![latest](https://img.shields.io/static/v1?label=latest&message=alpine&color=orange) |
| `devopscorner/terraform-infra:alpine-latest` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/terraform-infra/alpine-latest.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=alpine-latest) ![latest](https://img.shields.io/static/v1?label=latest&message=alpine&color=orange) |
| `devopscorner/terraform-infra:alpine-3.17` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/terraform-infra/alpine-3.17.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=alpine-3.17) ![latest](https://img.shields.io/static/v1?label=latest&message=alpine&color=orange) |### Ubuntu
| Image name | Size |
|------------|------|
| `devopscorner/terraform-infra:ubuntu` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/terraform-infra/ubuntu.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=ubuntu) ![latest](https://img.shields.io/static/v1?label=latest&message=ubuntu&color=orange) |
| `devopscorner/terraform-infra:ubuntu-latest` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/terraform-infra/ubuntu-latest.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=ubuntu-latest) ![latest](https://img.shields.io/static/v1?label=latest&message=ubuntu&color=orange) |
| `devopscorner/terraform-infra:ubuntu-22.04` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/terraform-infra/ubuntu-22.04.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=ubuntu-22.04) ![latest](https://img.shields.io/static/v1?label=latest&message=ubuntu&color=orange) |### AWS Linux (CodeBuild)
| Image name | Size |
|------------|------|
| `devopscorner/terraform-infra:latest` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/terraform-infra/latest.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=latest) ![default-latest](https://img.shields.io/static/v1?label=latest&message=default&color=brightgreen) ![latest](https://img.shields.io/static/v1?label=latest&message=codebuild&color=orange) |
| `devopscorner/terraform-infra:codebuild` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/terraform-infra/codebuild.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=codebuild) ![latest](https://img.shields.io/static/v1?label=latest&message=codebuild&color=orange) |
| `devopscorner/terraform-infra:codebuild-latest` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/terraform-infra/codebuild-latest.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=codebuild-latest) ![latest](https://img.shields.io/static/v1?label=latest&message=codebuild&color=orange) |
| `devopscorner/terraform-infra:codebuild-4.0` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/terraform-infra/codebuild-4.0.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/terraform-infra/tags?page=1&ordering=last_updated&name=codebuild-4.0) ![latest](https://img.shields.io/static/v1?label=latest&message=codebuild&color=orange) |---
### Previous Version - Alpine (Depreciated)
| Image name | Size |
|------------|------|
| `devopscorner/terraform-infra:1.0.5` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/terraform-infra/1.0.5.svg?label=Image%20size&logo=docker)](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` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/terraform-infra/1.0.5-alpine.svg?label=Image%20size&logo=docker)](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` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/terraform-infra/alpine-3.16.svg?label=Image%20size&logo=docker)](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` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/terraform-infra/1.0.5-ubuntu.svg?label=Image%20size&logo=docker)](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` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/terraform-infra/codebuild-2.0.svg?label=Image%20size&logo=docker)](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` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/terraform-infra/codebuild-3.0.svg?label=Image%20size&logo=docker)](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**