How afinsky/terraform-k8s-helm-prometheus works
This repository provisions a live AWS/EKS homelab using Terraform modules wrapped in Terragrunt account layers. The documented apply order is Identity Center, cluster infrastructure, then Kubernetes workloads; the workloads layer consumes cluster outputs and is destroyed first. The README documents the principal capabilities and dependencies, but no source excerpts were provided, so the graph omits undocumented internal call wiring.
Main entry points: eks-workloads/main.tf Workload provisioning · eks-cluster/main.tf Cluster provisioning · identity-center/main.tf Identity Center provisioning · terragrunt.stack.hcl Account stack definition
Components 24
Account Layers
- Account stack definition
accounts/workloads-dev/us-east-1/terragrunt.stack.hcl - Identity Center unit
units/identity-center/terragrunt.hcl - EKS cluster unit
units/eks-cluster/terragrunt.hcl - EKS workloads unit
units/eks-workloads/terragrunt.hcl
Identity Services
- Identity Center provisioning
modules/identity-center/main.tf - Organization and SSO
modules/identity-center/organization.tf - Groups and permissions
modules/identity-center/permission_sets.tf - GitHub OIDC
modules/identity-center/github_oidc.tf - Container registry
modules/identity-center/ecr.tf
Cluster Infrastructure
- Cluster provisioning
modules/eks-cluster/main.tf - VPC networking
modules/eks-cluster/vpc.tf - EKS and access
modules/eks-cluster/eks.tf - TLS certificate
modules/eks-cluster/acm.tf
Kubernetes Workloads
- Workload provisioning
modules/eks-workloads/main.tf - IRSA controllers
modules/eks-workloads/external-secrets.tf - Load balancer controller
modules/eks-workloads/load-balancer-controller.tf - Ingress NGINX
modules/eks-workloads/ingress-nginx.tf - Cluster admin RBAC
modules/eks-workloads/rbac.tf - Sample applications
modules/eks-workloads/app.tf - Online Boutique
modules/eks-workloads/online-boutique.tf - Application manifests
k8s/manifests/online-boutique.yaml
Other components
- Infrastructure operator
- AWS Organization
- Kubernetes API
Connections 32
- Infrastructure operator → Identity Center unit: applies first
- Infrastructure operator → EKS cluster unit: applies next
- Infrastructure operator → EKS workloads unit: applies after
- Account stack definition → Identity Center unit: instantiates
- Account stack definition → EKS cluster unit: instantiates
- Account stack definition → EKS workloads unit: instantiates
- Identity Center unit → Identity Center provisioning: uses module
- EKS cluster unit → Cluster provisioning: uses module
- EKS workloads unit → Workload provisioning: uses module
- Identity Center provisioning → Organization and SSO: provisions
- Identity Center provisioning → Groups and permissions: defines
- Identity Center provisioning → GitHub OIDC: configures
- Identity Center provisioning → Container registry: creates
- Organization and SSO → AWS Organization: creates organization
- Cluster provisioning → VPC networking: provisions
- Cluster provisioning → EKS and access: provisions
- Cluster provisioning → TLS certificate: provisions
- Cluster provisioning → AWS Organization: creates AWS resources
- Workload provisioning → Cluster provisioning: reads outputs
- Workload provisioning → IRSA controllers: provisions
- Workload provisioning → Load balancer controller: provisions
- Workload provisioning → Ingress NGINX: provisions
- Workload provisioning → Cluster admin RBAC: provisions
- Workload provisioning → Sample applications: deploys
- Workload provisioning → Online Boutique: deploys
- Online Boutique → Application manifests: applies YAML
- IRSA controllers → Kubernetes API: configures controllers
- Ingress NGINX → Kubernetes API: deploys
- Cluster admin RBAC → Kubernetes API: configures access
- Sample applications → Kubernetes API: deploys
- Online Boutique → Kubernetes API: deploys
- Load balancer controller → Ingress NGINX: fronts