cd documind-infra/bootstrap
terraform init
terraform apply -var="state_bucket_name=documind-terraform-state-<account-id>"

backend.tf:
terraform {
backend "s3" {
bucket = "documind-terraform-state-<account-id>"
key = "dev/terraform.tfstate"
region = "us-east-1"
encrypt = true
use_lockfile = true
}
}
providers.tf - aws, kubernetes, helm providers. The kubernetes/helm
providers use exec-based auth (aws eks get-token), not a static token - static tokens expire mid-apply on long-running Helm installs.
export TF_VAR_db_password="..."
export TF_VAR_database_url="placeholder"
export TF_VAR_jwt_secret="placeholder"
export TF_VAR_gemini_api_key="placeholder" # real value needed by Phase 10
terraform apply -target=module.vpc -target=module.eks -target=module.rds \
-target=module.s3 -target=module.irsa

kubernetes.io/role/elb / internal-elb)aws eks update-kubeconfig --profile documind --region us-east-1 --name documind-dev
kubectl get nodes

