Skip to content

edenlabllc/aws.provisioner.infra

Repository files navigation

aws.provisioner.infra

Release Software License Powered By: Edenlab

This repository provides Terraform templates and manifests. Mainly it is designed to be managed by administrators, DevOps engineers, SREs.

Contents

Requirements

terraform = version is specified in the project.yaml file of each project of the repository in the tools section.

Git workflow

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.

Additional information

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

Emergency cluster destroy

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.

Development

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).