Project: infra-stack · Branch: feat/eks · Mode: default · Model: glm-4.6
Summary
Wrote a reusable Terraform module for an EKS cluster: private subnets, managed node groups with spot fallback, IRSA, and cluster add-ons pinned by version. terraform plan is clean in the staging workspace.
Conversation
Turn 1 — User
We need an EKS module we can reuse for staging and prod.
Turn 1 — Assistant
Module inputs: VPC id, subnet ids, node group sizes, spot/on-demand mix. IRSA enabled, add-ons (vpc-cni, coredns, kube-proxy) pinned. Outputs the kubeconfig data and OIDC provider ARN.
module "eks" {
source = "./modules/eks"
cluster_name = "staging"
cluster_version = "1.33"
subnet_ids = module.vpc.private_subnets
node_groups = {
general = { instance_types = ["m7i.large"], min = 2, max = 6, capacity = "ON_DEMAND" }
batch = { instance_types = ["c7i.xlarge", "c6i.xlarge"], min = 0, max = 10, capacity = "SPOT" }
}
}
Tools used in this turn:
Write: modules/eks/main.tfWrite: modules/eks/variables.tfBash: terraform validate — SuccessBash: terraform plan -var-file=staging.tfvars — 42 to add
Connections
- [[infra-stack]]
- [[Terraform]]
- [[EKS]]
- [[IRSA]]