Decision record
Terraform modules should not own their own authentication
I initially defined the Kubernetes and Helm providers inside the ArgoCD Terraform module. It looked self-contained, but it coupled provider authentication to the module and made short-lived EKS credentials harder to manage. I moved the providers to the root environment and switched authentication to `aws eks get-token`, so credentials refresh automatically and the same provider configuration can be reused across modules. The lesson was simple: reusable Terraform modules should describe infrastructure, not own environment-specific authentication.