Lab is designed to be a modular baseline for setting up a Platform for experimenting with technologies and workflows.
Lab is broken out into Tiers, which build upon each other. A "tier" is a platform layer that has a clear boundary of responsibility and a capability set to build subsequent "tiers" upon.
- Terraform State: Deploy a container for storage shared terraform state
- Orchestration: Deploy the minimum set of resources for all subsequent automation
- Runtimes: Support
n
number of "runtimes" where a "runtime" is an environment (production level + location) for running "services"
Start by cloning this Git repository.
For shared Terraform state, start by deploying 0-TerraformState:
- Copy
stack/0-TerraformState/settings.auto.tfvars-TEMPLATE
tostack/0-TerraformState/settings.auto.tfvars
- Edit
stack/0-TerraformState/settings.auto.tfvars
- deploy Tier 0:
cd stack/0-TerraformState
terraform init
terraform apply
- (Optional) Migrate 0-TerraformState to shared state. The directions will be presented in outputs from
terraform apply
.