This repository provides Terraform templates and manifests. Mainly it is designed to be managed by administrators, DevOps engineers, SREs.
terraform
= version is specified in the project.yaml file
of each project of the repository in the tools
section.
This repository uses the classic GitFlow workflow, embracing all its advantages and disadvantages.
Stable branches: develop, master
Each merge in the master branch adds a new SemVer2 tag and a GitHub release is created.
This set of Terraform manifests can only be launched from the project repository via RMK,
because the entire input set of variables is formed by RMK at the moment
the commands are launched: rmk cluster provision
or rmk cluster destroy
.
RMK also keeps track of which version of the release of Terraform manifests the project repository will use.
The version of Terraform manifests artifact is described in the project.yaml file of each
project repository in the section:
inventory:
clusters:
aws.provisioner.infra:
version: <SemVer2>
url: git::https://github.com/edenlabllc/{{.Name}}.git?ref={{.Version}}
Script for emergency destroy of a project's cluster in the case when native Terraform tools fail to do this.
Requirements:
cd emergency-cluster-destroy
./emergency-cluster-destroy.sh <aws_profile_name> <cloudflare_token>
Follow the script's interactive instructions for correct execution.
For development, navigate to the local .PROJECT/clusters/aws.provisioner.infra-<version>/terraform
directory of a project repository,
then perform the changes directly in the files and test them.
Finally, copy the changed files to a new feature branch of this repository and create a pull request (PR).