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
fix(operatorgroups): write out CSV status on OperatorGroup issues
- Adds 3 new CSV transition reasons: NoOperatorGroup, TooManyOperatorGroups, and UnsupportedOperatorGroup
- Transitions CSVs to failed with the approriate status reason whenever an OperatorGroup issue is detected
- OperatorGroup reconciliation annotates CSVs in any phase
- Update InstallModes supports logic
Copy file name to clipboardExpand all lines: Documentation/design/building-your-csv.md
+15Lines changed: 15 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -236,6 +236,12 @@ The metadata section contains general metadata around the name, version and othe
236
236
237
237
**Selectors** (optional): A label selector to identify related resources. Set this to select on current labels applied to this CSV object (if applicable).
238
238
239
+
**InstallModes**: A set of `InstallMode`s that tell OLM which `OperatorGroup`s an Operator can belong to. Belonging to an `OperatorGroup` means that OLM provides the set of targetted namespaces as an annotation on the Operator's CSV and any deployments defined therin. These deployments can then untilize [the Downward API](https://kubernetes.io/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/#the-downward-api) to inject the list of namespaces into its container(s). An `InstallMode` consists of an `InstallModeType` field and a boolean `Supported` field. There are four `InstallModeTypes`:
240
+
* `OwnNamespace`: If supported, the set of namespaces targetted by an `OperatorGroup` must contain the namespace the Operator is to be installed in.
241
+
* `SingleNamespace`: If supported, the set of namespaces targetted by an `OperatorGroup` can be of length 1.
242
+
* `MultiNamespace`: If supported, the set of namespaces targetted by an `OperatorGroup` can be of length >= 1. Any Operator supporting `MultiNamespace` implicitly supports `SingleNamespace` as well.
243
+
* `AllNamespaces`: If supported, the Operator can support an `OperatorGroup` that selects all namespaces with a targetted set = [""]. Any Operator supporting `AllNamespaces` implicity supports `OwnNamespace` as well.
0 commit comments