Skip to main content
This page provides a high-level overview of the deployment process. Each section links to detailed documentation with step-by-step instructions.

1. Prerequisites

Covers the AWS account structure, GitHub organization requirements, domain setup, and tooling you’ll need before starting.

2. Repository Setup

Fork the repository and install the development tools.

3. Bootstrap AWS Accounts

Create the foundational resources that Terraform needs to manage everything else: state storage, IAM roles, and cross-account trust relationships. This is a one-time setup that enables both local Terraform runs and CI/CD automation.

4. Configure Access

Set up user access for AWS and GitHub from a single configuration file.

5. Configure CI/CD Integrations

Configure GitHub Actions to authenticate with AWS and set up any optional integrations like Terramate Cloud.

6. Deploy Infrastructure

Deploy the core AWS infrastructure: networking, EKS cluster, and application-specific resources.
This step is performed for each deployment environment (e.g. staging and production).

7. Cluster Access

Configure kubectl access to your EKS cluster through the bastion host.
This step is performed for each deployment environment (e.g. staging and production).

8. Deploy Kubernetes Baseline

Bootstrap ArgoCD and the infrastructure components it depends on. Once running, ArgoCD takes over and manages all remaining cluster resources.
This step is performed for each deployment environment (e.g. staging and production).

9. Local Development

Set up a local Kubernetes environment for development and testing.