This is the ENBUILD RKE2 catalog to deploy Rancher Kubernetes Engine 2 deploys a compliant Kubernetes control-plane using [module]((https://github.com/rancherfederal/rke2-aws-tf).
// source = "git::https://github.com/rancherfederal/rke2-aws-tf.git"
// version = "v2.5.0"
For environments without internet access, we have ensured that the entire module codebase is pre-downloaded and maintained in a local repository. This approach supports deployment in air-gapped environments by using the locally stored module version.
To facilitate the creation of the EKS cluster, please refer to the min-iam-policy.json file. This file contains the minimal IAM policy required to successfully deploy the EKS cluster using Terraform. Ensure that the IAM roles or users deploying the cluster have permissions as specified in this file to avoid deployment issues.
For Github based deployment, we store the remote state in AWS S3 bucket.
The deployment is driven by github action which uses terrgrunt
to deploy the stack.
Since its based on terragrunt
it supports the multiple environment.
We have predefined 3 environments for the deployment
dev (infra/environments/dev/)
qa ( infra/environments/qa/)
prod (infra/environments/prod/)
and the base source for all deployment is located at infra/src folder.
The default variables for all 3 deployents is present at infra/default.hcl but you can override them on per environment basis. Using the files
- infra/environments/dev/env.hcl for Dev
- infra/environments/qa/env.hcl for QA
- infra/environments/prod/env.hcl for QA
For Gitlab based deployment, we store the remove state to GitLab-managed Terraform state
This is driven by the Gitlab CI file
:note Please make a note , since this is a Gitlab template and we do not want to run the CI pipeline in the template, but rather the repositroy created using this template, the CI template file name is not .gitlab-ci.yml
.
ENBUILD after creating the repository from this template moves the file to proper name.
The Gitlab CI file deploys the infrastrcutre using the terraform
, and the source code is present at
infra/src/