v0.4.0
Understudy now holds protected evictions at admission instead of owning a PodDisruptionBudget. This removes the structural node-pinning failure: disrupters can select and begin terminating a node, while the fail-open webhook returns HTTP 429 until a healthy stand-in is ready.
Breaking changes
understudy_pdb_relaxed_totalis renamed tounderstudy_hold_relaxed_total.understudy_node_pinned_totaland theNodePinnedcondition are removed.- Helm values
signals.evictionWebhook*,signals.pinDetection, andfailsafeare retired. Webhook settings are nowwebhook.timeoutSecondsandwebhook.namespaceSelector. - The ValidatingWebhookConfiguration suffix changes from
-eviction-observerto-eviction-hold; the admission URL remains/observe-evictionfor safe upgrades. - Operator unavailability now creates a protection gap rather than leaving blocking budgets behind. Use two replicas on separate nodes for production.
Upgrade behavior
A leader-gated startup sweep deletes legacy PodDisruptionBudgets labeled understudy.sh/owned=true. PDB RBAC is reduced to get, list, and delete for this migration and will be removed in v0.5.0. Existing webhook certificate material is reused across Helm upgrades.
Artifacts
- Image:
ghcr.io/kylan11/understudy:0.4.0(linux/amd64,linux/arm64) - Chart:
oci://ghcr.io/kylan11/charts/understudy --version 0.4.0