You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: enhancements/olm-toggle-copied-csvs.md
+7-19Lines changed: 7 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -75,23 +75,9 @@ That is, all CSVs installed by a given `Subscription` share an `Operator` resour
75
75
76
76
Orphaned CSVs are CSVs that were installed via a `Subscription` that no longer exists. Since the lifetimes -- i.e. the period of existence on a cluster -- of `Operator` resources aren't directly tied to the lifetimes of the resources that triggered their generation, the `Operator` resource(s) associated with Orphaned CSVs will continue to exist _after_ a `Subscription` is deleted. If that `Operator` resource is deleted explicitly, OLM will generate another as per the rules [outlined above](#operator-cardinality).
77
77
78
-
#### Copied RBAC
79
-
80
-
In addition to operator discoverability, Copied CSVs also serve as convienient vehicles for the garbage collection of Copied RBAC. These are resources that are copied along with the CSV to provide the operator access to a namespace. To support the loss of Copied CSVs, the RBAC copying logic in OLM will be extended to write additional owner references from copied resources to the related Operator resource.
81
-
82
-
#### The Toggle
83
-
84
-
A feature toggle will be added to control OLM's use of Copied CSVs. When enabled (toggled on), OLM will delete all existing Copied CSVs and will not generate any more. When disabled (toggled off), OLM will generate Copied CSVs (much like it does today).
85
-
86
-
When toggled (on then off), OLM will recreate any missing Copied CSVs and reassociate the owner references of related copied resources with them (i.e. the inverse operation of the one described in the [Copied RBAC](#copied-rbac) section).
87
-
88
-
The toggle will be disabled by default.
89
-
90
-
The toggle can be set from a command-line option on the olm-operator binary.
91
-
92
78
#### Config CRD w/ Toggle
93
79
94
-
A novel cluster-scoped `OLMConfig` CRD will be added to OLM. The resource type it defines will allow users to apply a limited set of configurations to the OLM instance on their cluster by creating or modifying a singlton (of that type) on the cluster.
80
+
A novel cluster-scoped `OLMConfig` CRD will be added to OLM. The resource type it defines will allow users to apply a limited set of configurations to the OLM instance on their cluster by creating or modifying a singleton (of that type) on the cluster.
95
81
96
82
The name of that singleton will be `cluster` and OLM will ignore all other `OLMConfig` resources on a cluster.
97
83
@@ -106,12 +92,14 @@ metadata:
106
92
name: cluster
107
93
spec:
108
94
features:
109
-
'disable-copied-csvs': true
95
+
disableCopiedCSVs: true
110
96
```
111
97
112
-
When both the [command-line option](#the-toggle) _and_ `cluster` resource toggle field are present, the latter takes precedence.
98
+
When enabled (toggled on), OLM will delete all existing Copied CSVs and will not generate any more. When disabled (toggled off), OLM will generate Copied CSVs (much like it does today).
99
+
100
+
When toggled (on then off), OLM will recreate any missing Copied CSVs.
113
101
114
-
When the `cluster` resource isn't present, OLM uses its default settings (in this case, Copied CSVs would be **on** by default).
102
+
The toggle will be disabled by default. When the `cluster` resource isn't present, OLM uses its default settings (in this case, Copied CSVs would be **on** by default).
115
103
116
104
### Risks and Mitigations
117
105
@@ -122,7 +110,7 @@ When the `cluster` resource isn't present, OLM uses its default settings (in thi
122
110
**Mitigations:**
123
111
124
112
- Reduce number of impacted users by limiting toggle to operators installed in `AllNamespace` mode only; that is, `Single` and `MultiNamespace` mode Copied CSVs will not be affected by the toggle.
125
-
- OLM fires an alert in all affected namespaces on startup when Copied CSVs are disabled
113
+
- When Copied CSVs are disabled, an event will be created in the namespace for each `AllNamespace` mode CSV.
126
114
- Docs suggest admins notify their cluster tenants of installed operators directly; i.e. email, slack, etc
0 commit comments