Skip to content

Commit 80ca1e5

Browse files
committed
OSDOCS-17704 updated modules
1 parent 799174a commit 80ca1e5

File tree

3 files changed

+40
-14
lines changed

3 files changed

+40
-14
lines changed

modules/zero-trust-manager-pause-reconciliation.adoc

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,15 @@
44

55
:_mod-docs-content-type: PROCEDURE
66
[id="zero-trust-manager-pause-reconciliation_{context}"]
7+
= Pausing Operator reconciliation
78

8-
= Pausing Operator reconciliation by annotation
9+
[role="_abstract"]
10+
Pause reconciliation of the operands by enabling `create-only` mode. This setting prevents the Operator from automatically reverting your manual changes to the desired state. You can enable this mode by updating the Operator's subscription object.
911

10-
Reconciliation by annotation supports the `SpireServer`, `SpireAgent`, `SpiffeCSIDriver`, `SpireOIDCDiscoveryProvider`, and the `ZeroTrustWorkloadIdentityManager` custom resources. You can pause the reconciliation process by adding an annotation.
12+
[IMPORTANT]
13+
====
14+
When `create-only` mode is disabled, the Operator overwrites the resources if any conflicts exist.
15+
====
1116

1217
.Prerequisites
1318

@@ -17,11 +22,11 @@ Reconciliation by annotation supports the `SpireServer`, `SpireAgent`, `SpiffeCS
1722
1823
.Procedure
1924

20-
* To pause reconciling the `SpireServer` custom resource, add the `create-only` annotation to the named `cluster` by running the following command:
25+
* To pause reconciling the operands resources managed by the Operator, add the environment variable `CREATE_ONLY_MODE`: `true` in the subscription object by running the following command:
2126
+
2227
[source,terminal]
2328
----
24-
$ oc annotate SpireServer cluster -n zero-trust-workload-identity-manager ztwim.openshift.io/create-only=true
29+
$ oc -n $OPERATOR_NAMESPACE patch subscription openshift-zero-trust-workload-identity-manager --type='merge' -p '{"spec":{"config":{"env":[{"name":"CREATE_ONLY_MODE","value":"true"}]}}}'
2530
----
2631
2732
.Verification
@@ -44,3 +49,8 @@ status:
4449
type: CreateOnlyMode
4550
----
4651

52+
[IMPORTANT]
53+
====
54+
The Operator updates the upgradeable condition to `false` in the `operatorCondition` resource. You might not be able to upgrade the Operator when in `create-only` mode.
55+
====
56+

modules/zero-trust-manager-restart-reconciliation.adoc

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,18 @@
77

88
= Resuming Operator reconciliation by annotation
99

10+
[role="_abstract"]
11+
Restart reconciliation of the operands by disabling `create-only` mode. This helps to ensure that the Operator managed resource works correctly when the controller is restarted. You can disable this mode by updating the subscription object.
12+
1013
.Procedure
1114

1215
Follow these steps to restart the reconciliation process:
1316

14-
. Run the `oc annotate` command, adding a hyphen (`-`) at the end of the annotation name. This removes the annotation from the cluster resource.
17+
. To restart reconciling the Operator managed resources, add the environment variable `CREATE_ONLY_MODE`: `false` in the subscription object by running the following command:
1518
+
1619
[source,terminal]
1720
----
18-
$ oc annotate SpireServer cluster -n zero-trust-workload-identity-manager ztwim.openshift.io/create-only-
21+
$ oc -n $OPERATOR_NAMESPACE patch subscription openshift-zero-trust-workload-identity-manager --type='merge' -p '{"spec":{"config":{"env":[{"name":"CREATE_ONLY_MODE","value":"false"}]}}}'
1922
----
2023

2124
. Restart the controller by running the following command:
@@ -26,23 +29,33 @@ $ oc rollout restart deploy/zero-trust-workload-identity-manager-controller-mana
2629
----
2730

2831
.Verification
29-
* Check the status of the `SpireServer` resource to confirm that the `create-only` mode is disabled. The `status` must be `false` and the `reason` must be `CreateOnlyModeDisabled`.
32+
33+
* Check the status of the `ZeroTrustWorkloadIdentityManager` resource to confirm that the `create-only` mode is active. The `status` must be `true` and the `reason` must be `CreateOnlyModeEnabled`.
3034
+
3135
[source,terminal]
3236
----
33-
$ oc get SpireServer cluster -o yaml
37+
$ oc get zerotrustworkloadidentitymanager cluster -o yaml
3438
----
3539

3640
.Example output
3741
[source,yaml]
3842
----
3943
status:
4044
conditions:
41-
- lastTransitionTime: "2025-09-03T12:13:39Z"
42-
message: Create-only mode is enabled via ztwim.openshift.io/create-only annotation
43-
reason: CreateOnlyModeDisabled
44-
status: "False"
45+
- lastTransitionTime: "2025-12-23T11:36:58Z"
46+
message: All components are ready
47+
reason: Ready
48+
status: "True"
49+
type: Ready
50+
- lastTransitionTime: "2025-12-23T11:36:58Z"
51+
message: All operand CRs are ready
52+
reason: Ready
53+
status: "True"
54+
type: OperandsAvailable
55+
- lastTransitionTime: "2025-12-23T11:36:58Z"
56+
message: create-only mode enabled
57+
reason: CreateOnlyModeEnabled
58+
status: "True"
4559
type: CreateOnlyMode
4660
----
4761

48-
Once `create-only` mode is enabled, it persists until the Operator pod restarts, even if the annotation is removed. To exit this mode, you might need to remove or unset the annotation and restart the Operator pod.

security/zero_trust_workload_identity_manager/zero-trust-manager-reconciliation.adoc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@ include::_attributes/common-attributes.adoc[]
66

77
toc::[]
88

9-
By enabling the `create-only` mode, you can pause the Operator reconciliation, which allows you to perform manual configurations or debug without the controller overwriting your changes. This is done by annotating the API resources which are managed by the Operator. The following scenarios are examples of when the `create-only` mode might be of use:
9+
[role="_abstract"]
10+
By enabling the `create-only` mode, you can pause the Operator reconciliation, which allows you to perform manual configurations or debug without the controller overwriting your changes. This is done by setting the environment variable in the subscription object.
11+
12+
The following scenarios are examples of when the `create-only` mode might be of use:
1013

1114
**Manual Customization Required**: You need to customize operator-managed resources (ConfigMaps, Deployments, DaemonSets, etc.) with specific configurations that differ from the operator's defaults
1215

0 commit comments

Comments
 (0)