The Stackable Commons Operator can automatically restart Pod objects based on certain criteria. This can be applied to either the Pod or certain controller objects (such as StatefulSet).


Pods are evicted when any of their restart criteria (listed below) expire, with the expectation that their owning controller is then responsible for restarting them.

Because they are evicted rather than deleted, this process should respect PodDisruptionBudget constraints, allowing users to ensure that clusters are restarted gracefully.

Expiration date


Pods can be configured to expire at a certain point in time. In this case, the Pod should have the annotation{tag} set to a datetime formatted according to RFC 3339 (such as "2022-04-21T13:24:15.225774724+00:00"). {tag} should be a deterministic but unique ID identifying the reason for the expiry.

Multiple expires-at annotations can be set on the same Pod, in which case the earliest expiration datetime takes precedence.


StatefulSets are rolling-restarted when any of their restart criteria (listed below) expire.

Stale configuration


StatefulSets can be configured to restart when any referenced configuration object (ConfigMap or Secret) changes. To enable this, set the label on the StatefulSet to true.