@@ -56,11 +56,43 @@ kubectl rollout status -n olmv1-system deployment/operator-controller-controller
5656## Configuring the ` ClusterExtension `
5757
5858A ` ClusterExtension ` can be configured to install bundle in ` Single- ` or ` OwnNamespace ` mode through the
59- ` .spec.config.inline.watchNamespace ` property. The * installMode* is inferred in the following way:
60-
61- - * AllNamespaces* : ` watchNamespace ` is empty, or not set
62- - * OwnNamespace* : ` watchNamespace ` is the install namespace (i.e. ` .spec.namespace ` )
63- - * SingleNamespace* : ` watchNamespace ` * not* the install namespace
59+ ` .spec.config.inline.watchNamespace ` property which may or may not be present or required depending on the bundle's
60+ install mode support, if the bundle:
61+
62+ - only supports * AllNamespaces* mode => ` watchNamespace ` is not a configuration
63+ - supports * AllNamespaces* and * SingleNamespace* and/or * OwnNamespace* => ` watchNamespace ` is optional
64+ - bundle only supports * SingleNamespace* and/or * OwnNamespace* => ` watchNamespace ` is required
65+
66+ The ` watchNamespace ` configuration can only be the install namespace if the bundle supports the * OwnNamespace* install mode, and
67+ it can only be any other namespace if the bundle supports the * SingleNamespace* install mode.
68+
69+ Examples:
70+
71+ Bundle only supports * AllNamespaces* :
72+ - ` watchNamespace ` is not a configuration
73+ - bundle will be installed in * AllNamespaces* mode
74+
75+ Bundle only supports * OwnNamespace* :
76+ - ` watchNamespace ` is required
77+ - ` watchNamespace ` must be the install namespace
78+ - bundle will always be installed in * OwnNamespace* mode
79+
80+ Bundle supports * AllNamespace* and * OwnNamespace* :
81+ - ` watchNamespace ` is optional
82+ - if ` watchNamespace ` = install namespace => bundle will be installed in * OwnNamespace* mode
83+ - if ` watchNamespace ` is null or not set => bundle will be installed in * AllNamespaces* mode
84+ - if ` watchNamespace ` != install namespace => error
85+
86+ Bundle only supports * SingleNamespace* :
87+ - ` watchNamespace ` is required
88+ - ` watchNamespace ` must * NOT* be the install namespace
89+ - bundle will always be installed in * SingleNamespace* mode
90+
91+ Bundle supports * AllNamespaces* , * SingleNamespace* , and * OwnNamespace* install modes:
92+ - ` watchNamespace ` can be optionally configured
93+ - if ` watchNamespace ` = install namespace => bundle will be installed in * OwnNamespace* mode
94+ - if ` watchNamespace ` != install namespace => bundle will be installed in * SingleNamespace* mode
95+ - if ` watchNamespace ` is null or not set => bundle will be installed in * AllNamespaces* mode
6496
6597### Examples
6698
0 commit comments