Skip to content

v0.4.0

Choose a tag to compare

@kylan11 kylan11 released this 07 Aug 13:34
· 7 commits to main since this release
7ac0e59

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_total is renamed to understudy_hold_relaxed_total.
  • understudy_node_pinned_total and the NodePinned condition are removed.
  • Helm values signals.evictionWebhook*, signals.pinDetection, and failsafe are retired. Webhook settings are now webhook.timeoutSeconds and webhook.namespaceSelector.
  • The ValidatingWebhookConfiguration suffix changes from -eviction-observer to -eviction-hold; the admission URL remains /observe-eviction for 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