Thanks to the contributors without them this project seemed next to impossible!
- @mfarhansayed
- @Ashish-sarawad
- @Phaninder-Sangers
This repository uses terraform-terragrunt
to automate infrastructure provisioning in AWS account.
Description
If you are interested in deploying this setup, follow the detailed step-by-step guide in this Medium Article
Setup the Environment:
Use Installation guides given below to install dependencies based upon your operating system.
- Clone the code from the repository
git clone https://github.com/kiranbakale/Cross-AC-Infra-Provisioning-Pipeline
- Configuring the aws credentials for dev account by using the following command
aws configure
- provide access & secret key of respective user of dev-account and
any region
of your choice is to be selected
-
The main infra provisioning pipeline will be created in the Primary-Account i.e Dev Account and pipeline will operate from this account
-
Firstly, Navigate to the
CI/CD
folder & make changes in TF_scripts accordingly to Provision the necessary infrastructure resources that will be used to create the CI/CD Pipeline. -
Setup the environments configs - aws credentials.
-
backend.tf
- includes the configuration for storing the backend in remote-state & state locking using i.e S3 Bucket - make the necessary changes mentioned in the file. -
terraform.tfvars
- The terraform.tfvars file is a Terraform-specific configuration file used to assign values to variables defined in the project. it allows users to set values for variables, such as AWS region, instance types, or any other configurable parameters. By maintaining a separate terraform.tfvars file, users can easily update or modify variable values without altering the main Terraform configuration files by typing the following commands. -
After configuring the settings, apply Terraform to provision all the necessary resources.
- Navigate to
TF-files
folder to add any new resources to be provisioned in the account and also dont forget to add variables accordingly.
-
Open
terragrunt.hcl
file in the environments folder and click on required folder. -
In
terragrunt.hcl
under terragrunt.hcl navigate to specific resource in inputs section that has resource name labelled above it. -
Under
terragrunt.hcl
- All the resources are variablized & creation of resource can be controlled usinginputs block
-
For a fully fledged explanation and If you are interested in deploying this setup, follow the detailed step-by-step guide in this Medium Article This repository serves as a blueprint for implementing a Cross-A/C-Infra-Provisioning-Pipeline, promoting automation and efficiency in the software delivery process. Feel free to customize and extend it based on your specific project needs.