Repository navigation
v0.3.0-rc.1
Pre-release
Pre-release
·
130 commits
to main
since this release
What's Changed
- docs(spec): revise specification per five-round design review by @AkashiSN in #2
- feat: v0.2 skeleton — controller-runtime bootstrap, leader election, CI by @AkashiSN in #4
- feat(policy): add config schema, maintenance-window, and ageThreshold derivation by @AkashiSN in #6
- feat(selection): NodePool scope resolution + candidate selection (§3.2) by @AkashiSN in #8
- feat(surge): placeholder Pod builder + headroom gate (§3.3, §5.2 step 3) by @AkashiSN in #10
- feat(reconcile): rotation state machine — create/delete, freeze/cordon, drain (§5.2, §5.3) by @AkashiSN in #12
- feat(metrics): Prometheus wiring for the §4.2 observability surface by @AkashiSN in #16
- feat(chart): Helm chart for the v0.3 deployment surface (§4.3, §5.1, §5.4) by @AkashiSN in #18
- perf(reconcile): watch placeholder Pod and Node to cut surge-readiness latency by @AkashiSN in #19
- chore(ci): gate on gopls check (severity>=hint) by @AkashiSN in #20
- feat(metrics): drain-phase duration_seconds histogram (§4.2, §5.3) by @AkashiSN in #22
- fix(metrics): drop draining-at backfill; lock drain-anchor cleanup invariant (§4.2) by @AkashiSN in #23
- fix(chart): grant update on nodes to match controller writes by @AkashiSN in #32
- fix(controller): startup sweep for orphaned rotation artifacts (#25) by @AkashiSN in #33
- fix(controller): preserve operator-owned do-not-disrupt during cleanup (#26) by @AkashiSN in #38
- fix(controller): populate throughput inputs for schedule derivation by @AkashiSN in #39
- fix(controller): exclude terminating placeholder from surge readiness by @AkashiSN in #41
- fix(controller): include namespace in placeholder rollback exclusion by @AkashiSN in #42
- fix(policy): reject non-positive surge duration settings by @AkashiSN in #43
- fix(policy): reject explicit zero maxUnavailable in policy config by @AkashiSN in #44
- chore(security): disable service account token automount on placeholder pods by @AkashiSN in #45
- fix(surge): classify hostname affinity precisely for surge request sizing by @AkashiSN in #46
- feat(surge): tolerate candidate NodePool taints on the surge placeholder by @AkashiSN in #47
- fix(spec): drop reserved v2/v3 config fields from v1 examples by @AkashiSN in #51
- fix(surge): honor numeric Gt/Lt NodePool requirements in placeholder parity by @AkashiSN in #52
- fix(controller): surface non-fatal schedule findings and short-lead warnings by @AkashiSN in #53
- fix(selection): anchor rotation lead time on per-NodeClaim terminationGracePeriod by @AkashiSN in #63
- fix(surge): replicate candidate NodeClaim spec.requirements, not only node labels by @AkashiSN in #64
- fix(surge): support Gte and Lte NodePool requirements when building placeholders by @AkashiSN in #65
- fix(schedule): warn when E + tGP exceeds the Auto Mode 21d hard cap (§3.2 layer-1) by @AkashiSN in #66
- fix(window): collapse worst-case period to ~0 for a full-week union by @AkashiSN in #67
- feat(startup): fail fast when the required Karpenter v1 API surface is unavailable by @AkashiSN in #68
- docs(compat): document the Karpenter v1 compatibility policy for EKS Auto Mode by @AkashiSN in #69
- docs(readme): update project status for the v0.3 surge MVP by @AkashiSN in #70
- docs(agents): update project status to the v0.3 MVP by @AkashiSN in #71
- test(controller): cover the inducedClaim never-bound fallback by @AkashiSN in #83
- test(controller): cover warning Event dedup transitions and Forget by @AkashiSN in #82
- test(chart): assert rendered RBAC/PriorityClass and values.schema.json rejections by @AkashiSN in #84
- test(controller): exercise production SetupWithManager watches under envtest by @AkashiSN in #85
- test(chart): add expected-to-fail schema cases for placeholder.priorityClass.value=0 and warmup.enabled=true by @AkashiSN in #87
- test(controller): add a multi-step end-to-end rotation lifecycle test by @AkashiSN in #88
- perf(controller): benchmark and assess cluster-wide Pod list scalability by @AkashiSN in #89
- docs(runbook): add production runbook and optional PrometheusRule alerts by @AkashiSN in #90
- test: close defensive and boundary branch-coverage gaps by @AkashiSN in #91
- feat(e2e): add KWOK-based Karpenter e2e harness for the surge mechanism by @AkashiSN in #94
- feat(surge): make placeholder hostname exclusion a soft preference so Karpenter can provision new surge capacity by @AkashiSN in #97
- test(e2e): add ephemeral EKS Auto Mode Terraform for real-cluster PoC by @AkashiSN in #98
- chore: keep git worktrees under .worktrees/ inside the repo by @AkashiSN in #103
- fix(controller): use just-stamped started-at to avoid stale-read readyTimeout misfire by @AkashiSN in #99
- feat(controller): add debug-verbosity un-deduplicated reconcile/findings logging by @AkashiSN in #105
- test(e2e): decouple KWOK surge assertion budget from the aging sleep to fix load-induced flake by @AkashiSN in #104
- chore(tooling): pin CLI versions with aqua, replacing go install by @AkashiSN in #102
- test(e2e): deliver PoC controller image to EKS Auto Mode via ECR by @AkashiSN in #107
- docs(spec): record EKS Auto Mode PoC validation results in §7.2 by @AkashiSN in #108
- fix(test): fail make test when envtest assets cannot be resolved by @AkashiSN in #112
- docs(e2e): point EKS Auto Mode README invariant link to the spec by @AkashiSN in #113
- docs: reflect EKS Auto Mode PoC validation results by @AkashiSN in #115
- test(poc): validate capacity-absorb path on EKS Auto Mode (#109) by @AkashiSN in #116
- test(poc): validate remaining deterministic PoC items on EKS Auto Mode (#109) by @AkashiSN in #117
- chore(policy): drop warmup (v3) from roadmap and config schema by @AkashiSN in #121
- feat(api): RotationPolicy CRD types, deepcopy, and manifests (#119 deliverable 1) by @AkashiSN in #126
- feat(controller): read/watch RotationPolicy with targeting, conflict resolution, fallback (#119 deliverable 2) by @AkashiSN in #127
- feat(controller): populate RotationPolicy status subresource (#119 deliverable 3) by @AkashiSN in #128
- feat(helm): ship RotationPolicy CRD + sample, drop policy ConfigMap (#119 deliverable 4) by @AkashiSN in #129
- test(policy): harden RotationPolicy resolution and CRD-schema coverage by @AkashiSN in #130
- feat(release): tag-driven OCI distribution for chart + image by @AkashiSN in #132
- chore(release): cut v0.3.0-rc.1 by @AkashiSN in #133
Full Changelog: https://github.com/AkashiSN/node-rotation-controller/commits/v0.3.0-rc.1