Skip to content

fix(kubernetes_cluster): pin latest GA k8s versions; configurable GKE maintenance window#371

Merged
unni-facets merged 1 commit into
mainfrom
fix/kubernetes-cluster-latest-k8s-gke-maintenance
Jul 10, 2026
Merged

fix(kubernetes_cluster): pin latest GA k8s versions; configurable GKE maintenance window#371
unni-facets merged 1 commit into
mainfrom
fix/kubernetes-cluster-latest-k8s-gke-maintenance

Conversation

@unni-facets

Copy link
Copy Markdown
Collaborator

Summary

Two threads of work on the kubernetes_cluster flavors.

Task 1 — support latest k8s (pin to latest GA, not null)

Verified current GA versions live per provider (Jul 2026).

Flavor Latest GA Before Change
eks_standard 1.36 (standard support 1.33–1.36; 1.37 not on EKS) enum 1.28–1.37, default 1.36 Removed bogus 1.37 from enum + variables.tf validation. Default 1.36 unchanged.
vke v1.36.1+2 default v1.35.0+1 Bumped default/placeholder/sample/validation msg → v1.36.1+2.
lke 1.35 default 1.35 Already latest — no change.
  • EKS managed addons (vpc-cni, kube-proxy, coredns, ebs-csi, metrics-server, cloudwatch) all resolve via null/"latest" per cluster version, so they auto-match — no addon edits needed.

Task 2 — auto cluster upgrades (GKE)

  • gke: daily maintenance window start time is now configurable via spec.maintenance_window.start_time (default "03:00" → behavior unchanged). Release channel kept at STABLE. Node-pool auto-upgrade intentionally not managed — left to consumers to run on their own timeline.
  • aks: left as-is (auto-upgrade already always-on, channel-selectable).

Validation

  • raptor create iac-module --dry-runpass for eks_standard and gke.
  • No control-plane changes / uploads. Modules not published.

Not fixed here (pre-existing, out of scope)

  • vke dry-run fails on this profile for two reasons unrelated to the version bump:
    1. required_providers (RULE-013) — must stay: vultr is a non-hashicorp provider (vultr/vultr); every vultr module in the repo declares it, and terraform can't resolve the source namespace without it. RULE-013 is a false-positive for non-hashicorp providers.
    2. @facets/vultr_cloud_account input type 404 — the type is defined in-repo (outputs/vultr_cloud_account/) but not registered on the test CP profile. CP-registration matter, not a code bug.
  • gke variable "instance" is type = any (RULE-025) — pre-existing; full retype is its own task.

Version bumps

None required (RULE-023): EKS change removes an invalid option (bugfix), VKE is a default change, GKE adds an optional field — all non-breaking.

… maintenance window

Task 1 — support latest k8s (pin to latest GA, not null):
- eks_standard: remove non-existent "1.37" from cluster_version enum + validation
  (EKS standard support tops out at 1.36 as of Jul 2026). Default stays 1.36 (GA).
  Addons already resolve via null/"latest" per cluster version, so they match.
- vke: bump k8s_version default v1.35.0+1 -> v1.36.1+2 (current latest GA per
  Vultr /v2/kubernetes/versions). Placeholder/sample/validation msg updated.
- lke: already at latest GA (1.35) — no change.

Task 2 — auto cluster upgrades (GKE):
- gke: make the daily maintenance window start time configurable via
  spec.maintenance_window.start_time (default "03:00", unchanged behavior).
  Release channel kept at STABLE; node-pool auto-upgrade intentionally not
  managed (left to consumers). AKS left as-is.

Validated: raptor create iac-module --dry-run passes for eks_standard and gke.
@unni-facets
unni-facets merged commit ab2846c into main Jul 10, 2026
1 check passed
@unni-facets
unni-facets deleted the fix/kubernetes-cluster-latest-k8s-gke-maintenance branch July 10, 2026 08:44
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.

1 participant