Skip to content

Commit

Permalink
Apply suggestions from code review
Browse files Browse the repository at this point in the history
  • Loading branch information
acpana authored May 21, 2024
1 parent 3071bf9 commit 144af5a
Showing 1 changed file with 8 additions and 9 deletions.
17 changes: 8 additions & 9 deletions docs/features/pause.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Pause KCC

> `Feature State`: KCC version v1.114+ (alpha)
> `Feature State`: `alpha` as of version v1.114
KCC can be configured to pause actuation of resouces on the cloud provider
(GCP). K8s objects continue to be reconciled with the api server but any
Expand All @@ -12,17 +12,18 @@ debugging purposes or to have a hot standby.
We extended the API definitions for the ConfigConnector and ConfigConnectorContext resources to
support a new field, `spec.actuationMode`. The field's current supported values are `Reconciling`
and `Paused` with `Reconciling` being the default for backwards compatiblity.
As such, KCC can be "paused" both globablly and on a per namespace level if running in namesapce mode
As such, KCC can be "paused" both globally and on a per-namespace level if running in namespace mode

### Pausing Globally

To pause KCC across namespaces it is suffcient to set the ConfigConnector's `actuationMode: Paused`. This will work when KCC runs in `Cluster` and `Namesapced` mode. To eventually resume actuation just set the field back to `Reconciling`.
To pause KCC across namespaces it is sufficient to set the ConfigConnector's `actuationMode: Paused`. This will work when KCC runs in `Cluster` and `Namespaced` mode. To eventually resume actuation just set the field back to `Reconciling`.

### Pausing Per Namespace

When KCC is running in `Namesapced` mode (and only then), operators can set
When KCC is running in `Namespaced` mode (and only then), operators can set
`actuationMode: Paused` on the `ConfigConnectorContext` resource. To eventually
resume actuation for that namespace set the field back to `Reconciling`.
resume actuation for that namespace set the field back to `Reconciling`. The `actuationMode`
value on the `ConfigConnectorContext` takes precedence over the value in `ConfigConnector`.

### Reconciling Per Namespace (only)

Expand All @@ -32,12 +33,10 @@ and the `actuationMode: Paused` on the `ConfigConnector` resource. Then
reconciling can be turned on for a namespace by changing the `actuationMode`
field for the`ConfigConnectorContext` to `Reconciling` for that namespace.
NOTE: you can avoid any pausing in actuation by first changing the
`ConfigConnectorContext` actuationMode first.
`ConfigConnectorContext` actuationMode.

## Caveats

### Eventual state transitions & Jitter

When changing actuation modes for a cluster or namespace, a KCC resource should eventually actuate
(or not depending on the intent). Note that, in order to protect the k8s api server, KCC resources
are re-enqueued with a jitter amount.
When you un-pause actuation, reconciliation will not happen immediately, but will instead start happening on the normal re-reconciliation interval (with jitter). We may enhance this behavior in future

0 comments on commit 144af5a

Please sign in to comment.