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
// ClusterScopedArgoRolloutsNamespaces is an environment variable that can be used to configure namespaces that are allowed to host cluster-scoped Argo Rollouts
Copy file name to clipboardExpand all lines: controllers/utils.go
+42-4Lines changed: 42 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -17,9 +17,10 @@ import (
17
17
)
18
18
19
19
const (
20
-
UnsupportedRolloutManagerConfiguration="when there exists a cluster-scoped RolloutManager on the cluster, there may not exist another: only a single cluster-scoped RolloutManager is supported"
21
-
UnsupportedRolloutManagerClusterScoped="when Subscription has environment variable NAMESPACE_SCOPED_ARGO_ROLLOUTS set to True, there may not exist any cluster-scoped RolloutManagers: in this case, only namespace-scoped RolloutManager resources are supported"
22
-
UnsupportedRolloutManagerNamespaceScoped="when Subscription has environment variable NAMESPACE_SCOPED_ARGO_ROLLOUTS set to False, there may not exist any namespace-scoped RolloutManagers: only a single cluster-scoped RolloutManager is supported"
20
+
UnsupportedRolloutManagerConfiguration="when there exists a cluster-scoped RolloutManager on the cluster, there may not exist another: only a single cluster-scoped RolloutManager is supported"
21
+
UnsupportedRolloutManagerClusterScoped="when Subscription has environment variable NAMESPACE_SCOPED_ARGO_ROLLOUTS set to True, there may not exist any cluster-scoped RolloutManagers: in this case, only namespace-scoped RolloutManager resources are supported"
22
+
UnsupportedRolloutManagerNamespaceScoped="when Subscription has environment variable NAMESPACE_SCOPED_ARGO_ROLLOUTS set to False, there may not exist any namespace-scoped RolloutManagers: only a single cluster-scoped RolloutManager is supported"
23
+
UnsupportedRolloutManagerClusterScopedNamespace="Namespace is not specified in CLUSTER_SCOPED_ARGO_ROLLOUTS_NAMESPACES environment variable of Subscription resource. If you wish to install a cluster-scoped Argo Rollouts instance outside the default namespace, ensure it is defined in CLUSTER_SCOPED_ARGO_ROLLOUTS_NAMESPACES"
23
24
)
24
25
25
26
// pluginItem is a clone of PluginItem from "github.com/argoproj/argo-rollouts/utils/plugin/types"
// if cluster-scoped RolloutManager being reconciled, is not specified in CLUSTER_SCOPED_ARGO_ROLLOUTS_NAMESPACES environment variable of Subscription resource,
Copy file name to clipboardExpand all lines: docs/usage/getting_started.md
+46Lines changed: 46 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,3 +29,49 @@ kubectl get all
29
29
30
30
If you would like to understand the siginificance of each rollout controller resource created by the operator, please go through the official rollouts controller [docs](https://argo-rollouts.readthedocs.io/en/stable/).
31
31
32
+
33
+
34
+
35
+
## Namespace Scoped Rollouts Instance
36
+
37
+
A namespace-scoped Rollouts instance can manage Rollouts resources of same namespace it is deployed into. To deploy a namespace-scoped Rollouts instance set `spec.namespaceScoped` field to `true`.
38
+
39
+
```yml
40
+
apiVersion: argoproj.io/v1alpha1
41
+
kind: RolloutManager
42
+
metadata:
43
+
name: argo-rollout
44
+
spec:
45
+
namespaceScoped: true
46
+
```
47
+
48
+
49
+
## Cluster Scoped Rollouts Instance
50
+
51
+
A cluster-scoped Rollouts instance can manage Rollouts resources from other namespaces as well. To install a cluster-scoped Rollouts instance first you need to add `NAMESPACE_SCOPED_ARGO_ROLLOUTS` and `CLUSTER_SCOPED_ARGO_ROLLOUTS_NAMESPACES` environment variables in subscription resource. If `NAMESPACE_SCOPED_ARGO_ROLLOUTS` is set to `false` then only you are allowed to create a cluster-scoped instance and then you need to provide list of namespaces that are allowed host a cluster-scoped Rollouts instance via `CLUSTER_SCOPED_ARGO_ROLLOUTS_NAMESPACES` environment variable.
52
+
53
+
```yml
54
+
apiVersion: operators.coreos.com/v1alpha1
55
+
kind: Subscription
56
+
metadata:
57
+
name: argo-operator
58
+
spec:
59
+
config:
60
+
env:
61
+
- name: NAMESPACE_SCOPED_ARGO_ROLLOUTS
62
+
value: 'false'
63
+
- name: CLUSTER_SCOPED_ARGO_ROLLOUTS_NAMESPACES
64
+
value: <list of namespaces of cluster-scoped Argo CD instances>
65
+
(...)
66
+
```
67
+
68
+
Now set `spec.namespaceScoped` field to `false` to create a Rollouts instance.
0 commit comments