Table Of Contents

  1. AWS Naming convention
  2. General Tagging Strategy
  3. QuickStart

infra-base Documentation

introduction

infra-base is structure of folders, it has been made to facilitate the building, deploiment and configuration of the infrastructure.

Benefits

iac-bootstrap package

Github iac-bootstrap repo

Terraform structure

tree below describes the required organization to set files:

├── terraform
│   ├── bootstrap
│   │   └── <provider>/(tf files)
│   ├── layers
│   │   └── <provider>
│   │       ├── 01-<name of first layer>/(tf files)
│   │       └── 02-<name of second layer>/(tf files)

configuration structure

To set the configuration for your account,

There is an example of configuration here :

configs
└── mygroup
    └── myenv
        ├── ssh
        │   └── README.md
        ├── ansible
        │   ├── inventory
        │   └── ssh.cfg
        └── terraform
            ├── commons.tfvars
            └── layer-xx-<name of layer>.tfvars

To adapt to your own account and set your own values, just copy paste the folder "mygroup", and change the names of the folders :

ansible structure

ansible structure is simple, in your root create ansible folder and set your main.yml inside it, like below:

ansible
  ├── main.yml
  └── roles
       └── external

and specify roles in roles subdirectory.

configuration and templates files

./templates

Docker workstation

workstation/
 ├── Dockerfile
 └── launch.sh

I already set Dockerfile and Script to launch it, however you can customize it.

Exemple configuration

├── ansible
│   └── roles
│       └── external
│           └── mehdi_wsc.nginx
├── configs
│   └── mygroup
│       └── myenv
│           ├── ansible
│           ├── ssh
│           └── terraform
├── templates
├── terraform
│   ├── bootstrap
│   │   └── aws
│   └── layers
│        └── aws
│           ├── 01-networking
│           └── 02-nginx
└── workstation
    ├── Dockerfile
    └── launch.sh

doc : Quick start page