Required Tools
AWS CLI
The AWS Command Line Interface is required for authenticating with AWS and configuring kubectl access to EKS.- AWS Access Key ID
- AWS Secret Access Key
- Default region (e.g.,
us-east-2) - Default output format (e.g.,
json)
Terraform
Terraform version 1.0 or higher is required.kubectl
Kubernetes command-line tool for interacting with the EKS cluster.Helm
Kubernetes package manager used by Terraform to deploy applications.Required Accounts
AWS Account
You need an AWS account with permissions to create:- VPC and networking resources
- EKS clusters
- EC2 instances
- IAM roles and policies
- KMS keys
- DynamoDB tables
- S3 buckets
Ensure your IAM user or role has
AdministratorAccess or equivalent permissions for provisioning infrastructure.Tailscale Account
Tailscale provides secure VPN access to your private infrastructure.- Create a free account at tailscale.com
- Install Tailscale on your local machine
- You’ll need admin access to create auth keys and configure ACLs
Cloudflare Account
Cloudflare manages DNS records for your services.- Create an account at cloudflare.com
- Add your domain to Cloudflare
- Create an API token with the following permissions:
- Zone:DNS:Edit
- Zone:Zone:Read
GitHub Account (for ArgoCD)
Required for ArgoCD ApplicationSets to discover Helm charts.- Create a GitHub App with repository access
- Note down:
- App ID
- Installation ID
- Private key (download as PEM file)
Environment Variables
Create a.env file based on the example:
.env file with your values:
AWS credentials are configured via
aws configure and are not included in the .env file.Vault credentials are auto-generated during the platform layer deployment.Verification Checklist
Before proceeding, verify:- AWS CLI installed and configured
- Terraform >= 1.0 installed
- kubectl installed
- Helm installed
- Tailscale account created with admin access
- Cloudflare account with API token
- GitHub App created (for ArgoCD)
-
.envfile configured with all required variables
Next Steps
Bootstrap
Initialize Terraform state backend