Skip to content

Add expireAfter field to cycle pods after a configured lifetime#1051

Open
xiangyuwang-stripe wants to merge 1 commit intohumio:masterfrom
xiangyuwang-stripe:nodepool-expire-after
Open

Add expireAfter field to cycle pods after a configured lifetime#1051
xiangyuwang-stripe wants to merge 1 commit intohumio:masterfrom
xiangyuwang-stripe:nodepool-expire-after

Conversation

@xiangyuwang-stripe
Copy link
Copy Markdown

@xiangyuwang-stripe xiangyuwang-stripe commented Apr 17, 2026

Summary

  • Adds expireAfter (a metav1.Duration) to HumioNodeSpec, configurable per node pool, that defines the maximum time a pod is allowed to run before being replaced
  • Implements ensureExpiredPodsAreDeleted in the reconcile loop, which checks pod ages against the TTL and deletes expired pods oldest-first while respecting all existing safety gates (MaxUnavailable, MinReadySeconds, zone awareness, waitingOnPods)
  • Runs as a separate reconcile step after spec-drift detection and before pod creation, so image/config updates always take priority over TTL cycling

Example usage

spec:
  expireAfter: "168h"  # cycle pods every 7 days
  # or per node pool:
  nodePools:
    - name: ingest
      spec:
        expireAfter: "24h"

@xiangyuwang-stripe xiangyuwang-stripe marked this pull request as ready for review April 17, 2026 21:23
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