-
Notifications
You must be signed in to change notification settings - Fork 58
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This commit makes the following changes: 1. Bump Rukpak to use version 0.17.0 2. Modify the BundleDeployment spec accordingly to not specify a bundle template. 3. Introduce `watchNamespaces` field in the spec that accepts a list of namespaces to watch. 4. Fix unit and e2e tests accordingly. Signed-off-by: Varsha Prasad Narsing <[email protected]>
- Loading branch information
1 parent
e46702e
commit 66ce118
Showing
20 changed files
with
680 additions
and
524 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# Install Modes and WatchNamespaces in OMLv1 | ||
|
||
Operator Lifecycle Manager (OLM) operates with cluster-admin privileges, enabling it to grant necessary permissions to the Extensions it deploys. For extensions packaged as [`RegistryV1`][registryv1] bundles, it's the responsibility of the authors to specify supported `InstallModes` in the ClusterServiceVersion ([CSV][csv]). InstallModes define the operational scope of the extension within the Kubernetes cluster, particularly in terms of namespace availability. The four recognized InstallModes are as follows: | ||
|
||
1. OwnNamespace: This mode allows the extension to monitor and respond to events within its own deployment namespace. | ||
1. SingleNamespace: In this mode, the extension is set up to observe events in a single, specific namespace other than the one it is deployed in. | ||
1. MultiNamespace: This enables the extension to function across multiple specified namespaces. | ||
1. AllNamespaces: Under this mode, the extension is equipped to monitor events across all namespaces within the cluster. | ||
|
||
When creating a cluster extension, users have the option to define a list of `watchNamespaces`. This list determines the specific namespaces within which they intend the operator to operate. The configuration of `watchNamespaces` must align with the InstallModes supported by the extension as specified by the bundle author. The supported configurations in the order of preference are as follows: | ||
|
||
|
||
| Length of `watchNamespaces` specified through ClusterExtension | Allowed values | Supported InstallMode in CSV | Description | | ||
|------------------------------|-------------------------------------------------------|----------------------|-----------------------------------------------------------------| | ||
| **0 (Empty/Unset)** | - | AllNamespaces | Extension monitors all namespaces. | | ||
| | - | OwnNamespace | Supported when `AllNamespaces` is false. Extension only active in its deployment namespace. | | ||
| **1 (Single Entry)** | `""` (Empty String) | AllNamespaces | Extension monitors all namespaces. | | ||
| | Entry equals Install Namespace | OwnNamespace | Extension watches only its install namespace. | | ||
| | Entry is a specific namespace (not the Install Namespace) | SingleNamespace | Extension monitors a single, specified namespace in the spec. | | ||
| **>1 (Multiple Entries)** | Entries are specific, multiple namespaces | MultiNamespace | Extension monitors each of the specified multiple namespaces in the spec. | ||
|
||
|
||
[registryv1]: https://olm.operatorframework.io/docs/tasks/creating-operator-manifests/#writing-your-operator-manifests | ||
[csv]: https://olm.operatorframework.io/docs/concepts/crds/clusterserviceversion/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.