-
Notifications
You must be signed in to change notification settings - Fork 457
Description
At present, the operator only supports namespace-scoped installs via the --namespaced parameter, which is currently hardcoded to be enabled by default.
Work required
-
Controller should default to cluster-scoped install by default
-
Add an optional
namespaceScopedbool field to theRolloutsManagerCR- if true, the current behaviour remains that the Rollouts controller will only watch the particular Namespace
- if false, the RolloutsManager will watch the whole cluster
-
The cluster-scoped install should ensure a ClusterRole/ClusterRoleBinding exist that allow the rollouts manager to watch the whole cluster
- For example, from upstream:
- https://github.com/argoproj/argo-rollouts/blob/c688dd89a7f883c8c004b4024b390104b5be5770/manifests/install.yaml#L15566
- https://github.com/argoproj/argo-rollouts/blob/c688dd89a7f883c8c004b4024b390104b5be5770/manifests/install.yaml#L15790
- The existing Role/RoleBinding that are currently created in the Namespace does not need to be created in this case
-
Likewise, the cluster-scoped install should NOT run with the
--namespacedparameter -
In the case where there exist multiple
RolloutsManagerCRs on the cluster, we should detect and report an invalid configuration. The.statusfield should indicate why these are not being reconciled.- See comment below for my brain dump on how this could work.
-
Unit/E2E tests (using Ginkgo) to verify each of the above