Skip to content

devopscorner/terraform-infra

Repository files navigation

Terraform Infra

Production Grade Terraform for Provisioning Infrastructure

all contributors tags cicd pulls terraform-infra pulls download all download latest view clone issues pull requests forks stars license


Available Tags

Alpine

Image name Size
devopscorner/terraform-infra:alpine docker image size latest
devopscorner/terraform-infra:alpine-latest docker image size latest
devopscorner/terraform-infra:alpine-3.17 docker image size latest

Ubuntu

Image name Size
devopscorner/terraform-infra:ubuntu docker image size latest
devopscorner/terraform-infra:ubuntu-latest docker image size latest
devopscorner/terraform-infra:ubuntu-22.04 docker image size latest

AWS Linux (CodeBuild)

Image name Size
devopscorner/terraform-infra:latest docker image size default-latest latest
devopscorner/terraform-infra:codebuild docker image size latest
devopscorner/terraform-infra:codebuild-latest docker image size latest
devopscorner/terraform-infra:codebuild-4.0 docker image size latest

Previous Version - Alpine (Depreciated)

Image name Size
devopscorner/terraform-infra:1.0.5 docker image size
devopscorner/terraform-infra:1.0.5-alpine docker image size
devopscorner/terraform-infra:alpine-3.16 docker image size

Previous Version - Ubuntu (Depreciated)

Image name Size
devopscorner/terraform-infra:1.0.5-ubuntu docker image size

Previous Version - CodeBuild (Depreciated)

Image name Size
devopscorner/terraform-infra:codebuild-2.0 docker image size
devopscorner/terraform-infra:codebuild-3.0 docker image size

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
    • 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