Skip to content

fix(eks): AWS provider v6 compatibility; feat(vpc): route table outputs - #315

Merged
alissonrosa-lang merged 2 commits into
masterfrom
fix/eks-provider-v6-and-vpc-outputs
Aug 14, 2026
Merged

fix(eks): AWS provider v6 compatibility; feat(vpc): route table outputs#315
alissonrosa-lang merged 2 commits into
masterfrom
fix/eks-provider-v6-and-vpc-outputs

Conversation

@alissonrosa-lang

Copy link
Copy Markdown
Contributor

Motivação

O módulo eks não valida sob o provider AWS v6: usa resolve_conflicts nos aws_eks_addon (kube-proxy e CoreDNS), argumento removido no v6 (depreciado desde o v5). Qualquer consumidor com aws ~> 6.x recebe:

Error: Unsupported argument
  on modules/eks/main.tf line 229, in resource "aws_eks_addon" "kube_proxy":
 229:   resolve_conflicts = "OVERWRITE"

Encontrado ao consumir o módulo no projeto data-platform (contas novas, provider v6).

Mudanças

1. eks: compatibilidade com provider v6 (fix)
resolve_conflictsresolve_conflicts_on_create + resolve_conflicts_on_update (ambos "OVERWRITE", preservando o comportamento). Os argumentos novos existem desde o provider v5.0, então o módulo passa a validar em v5 e v6 — nenhum consumidor atual é afetado.

2. vpc: outputs de route tables (aditivo)
O módulo cria as route tables mas não as exporta — consumidores que precisam anexar gateway VPC endpoints (S3/DynamoDB) hoje recorrem a data "aws_route_tables" como workaround. Adiciona public_route_table_id e private_route_table_ids (map por chave de subnet). Mudança puramente aditiva.

Validação

  • terraform validate de modules/eks sob provider v6: falhava antes, Success depois
  • terraform validate de modules/vpc sob provider v6: Success
  • terraform fmt limpo

Fora do escopo (registrado para follow-up, se fizer sentido)

Os defaults de eks_version/addons apontam para a era 1.21 (2021, fora de suporte). Não alterados aqui de propósito: mudar default pode impactar consumidor existente que dependa dele (upgrade de cluster é one-way). Sugestão futura: tornar as versões de addon nullable (omitir = AWS escolhe a compatível com o cluster).

Relacionado: #314 (vpc nat_strategy) — se ambos mergearem, uma tag de release (ex.: v1.1.0) cobriria os dois e permitiria consumo pinado por tag.

…e outputs

- eks: resolve_conflicts was removed in hashicorp/aws v6 (deprecated in v5);
  replaced with resolve_conflicts_on_create/on_update (available since v5.0),
  so the module now validates under both v5 and v6.
- vpc: expose public/private route table ids so consumers can attach gateway
  VPC endpoints (S3/DynamoDB) without data-source workarounds.
@alissonrosa-lang

Copy link
Copy Markdown
Contributor Author

Adicionado versions.tf declarando o piso que o fix introduz (aws >= 5.0, onde resolve_conflicts_on_create/on_update passaram a existir). Range aberto de propósito — o consumidor continua escolhendo a versão efetiva (v5 ou v6).

@alissonrosa-lang
alissonrosa-lang merged commit 56eb8a7 into master Aug 14, 2026
@alissonrosa-lang
alissonrosa-lang deleted the fix/eks-provider-v6-and-vpc-outputs branch August 14, 2026 19:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants