| 
1 | 1 | = Restarter  | 
 | 2 | +:description: Automatically restart Pods or StatefulSets using Stackable Commons Operator based on expiration dates or stale configurations.  | 
2 | 3 | 
 
  | 
3 |  | -The Stackable Commons Operator can automatically restart `Pod` objects based on certain criteria. This can be applied to  | 
4 |  | -either the `Pod` or certain controller objects (such as `StatefulSet`).  | 
 | 4 | +The Stackable Commons Operator can automatically restart Pod objects based on certain criteria.  | 
 | 5 | +This can be applied to either the Pod or certain controller objects (such as StatefulSet).  | 
5 | 6 | 
 
  | 
6 |  | -== `Pod`  | 
 | 7 | +== Pod  | 
7 | 8 | 
 
  | 
8 |  | -Pods are evicted when any of their restart criteria (listed below) expire, with the expectation that their owning controller  | 
9 |  | -is then responsible for restarting them.  | 
 | 9 | +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.  | 
10 | 10 | 
 
  | 
11 |  | -Because they are evicted rather than deleted, this process should respect `PodDisruptionBudget` constraints, allowing users  | 
12 |  | -to ensure that clusters are restarted gracefully.  | 
 | 11 | +Because they are evicted rather than deleted, this process should respect PodDisruptionBudget constraints, allowing users to ensure that clusters are restarted gracefully.  | 
13 | 12 | 
 
  | 
14 | 13 | === Expiration date  | 
15 | 14 | 
 
  | 
16 | 15 | Annotation:: `restarter.stackable.tech/expires-at.\{tag\}`  | 
17 | 16 | 
 
  | 
18 |  | -Pods can be configured to expire at a certain point in time. In this case, the `Pod` should have the annotation  | 
19 |  | -`restarter.stackable.tech/expires-at.\{tag\}` set to a datetime formatted according to RFC 3339 (such as  | 
20 |  | -`"2022-04-21T13:24:15.225774724+00:00"`).  | 
 | 17 | +Pods can be configured to expire at a certain point in time.  | 
 | 18 | +In this case, the Pod should have the annotation `restarter.stackable.tech/expires-at.\{tag\}` set to a datetime formatted according to RFC 3339 (such as `"2022-04-21T13:24:15.225774724+00:00"`).  | 
21 | 19 | `\{tag\}` should be a deterministic but unique ID identifying the reason for the expiry.  | 
22 | 20 | 
 
  | 
23 |  | -Multiple `expires-at` annotations can be set on the same `Pod`, in which case the *earliest* expiration datetime  | 
24 |  | -takes precedence.  | 
 | 21 | +Multiple `expires-at` annotations can be set on the same Pod, in which case the *earliest* expiration datetime takes precedence.  | 
25 | 22 | 
 
  | 
26 |  | -== `StatefulSet`  | 
 | 23 | +== StatefulSet  | 
27 | 24 | 
 
  | 
28 | 25 | StatefulSets are rolling-restarted when any of their restart criteria (listed below) expire.  | 
29 | 26 | 
 
  | 
30 | 27 | === Stale configuration  | 
31 | 28 | 
 
  | 
32 | 29 | Label:: `restarter.stackable.tech/enabled`  | 
33 | 30 | 
 
  | 
34 |  | -StatefulSets can be configured to restart when any referenced configuration object (`ConfigMap` or `Secret`) changes.  | 
35 |  | -To enable this, set the `restarter.stackable.tech/enabled` label on the `StatefulSet` to `true`.  | 
 | 31 | +The operator can restart StatefulSets when any referenced configuration object (ConfigMap or Secret) changes.  | 
 | 32 | +To enable this, set the `restarter.stackable.tech/enabled` label on the StatefulSet to `true`.  | 
0 commit comments