Skip to content

Commit 4bd23cb

Browse files
authored
feat: Support appset in any namespace ArgoCD feature (#1209)
* Support appset in any namespace ArgoCD feature --------- Signed-off-by: Siddhesh Ghadi <[email protected]>
1 parent f717026 commit 4bd23cb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+2117
-268
lines changed

api/v1beta1/argocd_types.go

+6
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,12 @@ type ArgoCDApplicationSet struct {
172172

173173
// Enabled is the flag to enable the Application Set Controller during ArgoCD installation. (optional, default `true`)
174174
Enabled *bool `json:"enabled,omitempty"`
175+
176+
// SourceNamespaces defines the namespaces applicationset resources are allowed to be created in
177+
SourceNamespaces []string `json:"sourceNamespaces,omitempty"`
178+
179+
// SCMProviders defines the list of allowed custom SCM provider API URLs
180+
SCMProviders []string `json:"scmProviders,omitempty"`
175181
}
176182

177183
func (a *ArgoCDApplicationSet) IsEnabled() bool {

api/v1beta1/zz_generated.deepcopy.go

+10
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bundle/manifests/argoproj.io_argocds.yaml

+12
Original file line numberDiff line numberDiff line change
@@ -7173,11 +7173,23 @@ spec:
71737173
Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
71747174
type: object
71757175
type: object
7176+
scmProviders:
7177+
description: SCMProviders defines the list of allowed custom SCM
7178+
provider API URLs
7179+
items:
7180+
type: string
7181+
type: array
71767182
scmRootCAConfigMap:
71777183
description: SCMRootCAConfigMap is the name of the config map
71787184
that stores the Gitlab SCM Provider's TLS certificate which
71797185
will be mounted on the ApplicationSet Controller (optional).
71807186
type: string
7187+
sourceNamespaces:
7188+
description: SourceNamespaces defines the namespaces applicationset
7189+
resources are allowed to be created in
7190+
items:
7191+
type: string
7192+
type: array
71817193
version:
71827194
description: Version is the Argo CD ApplicationSet image tag.
71837195
(optional)

common/defaults.go

+6
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,12 @@ const (
4242
// ArgoCDNotificationsControllerComponent is the name of the Notifications controller control plane component
4343
ArgoCDNotificationsControllerComponent = "argocd-notifications-controller"
4444

45+
// ArgoCDApplicationSetControllerComponent is the name of the ApplictionSet controller control plane component
46+
ArgoCDApplicationSetControllerComponent = "argocd-applicationset-controller"
47+
48+
// ArgoCDOperatorGrafanaComponent is the name of the Grafana control plane component
49+
ArgoCDOperatorGrafanaComponent = "argocd-grafana"
50+
4551
// ArgoCDDefaultAdminPasswordLength is the length of the generated default admin password.
4652
ArgoCDDefaultAdminPasswordLength = 32
4753

common/keys.go

+3
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,9 @@ const (
207207
// ArgoCDManagedByClusterArgoCDLabel is needed to identify namespace mentioned as sourceNamespace on ArgoCD
208208
ArgoCDManagedByClusterArgoCDLabel = "argocd.argoproj.io/managed-by-cluster-argocd"
209209

210+
// ArgoCDManagedByClusterArgoCDLabel is needed to identify namespace mentioned as sourceNamespace on ArgoCD
211+
ArgoCDApplicationSetManagedByClusterArgoCDLabel = "argocd.argoproj.io/applicationset-managed-by-cluster-argocd"
212+
210213
// ArgoCDControllerClusterRoleEnvName is an environment variable to specify a custom cluster role for Argo CD application controller
211214
ArgoCDControllerClusterRoleEnvName = "CONTROLLER_CLUSTER_ROLE"
212215

config/crd/bases/argoproj.io_argocds.yaml

+12
Original file line numberDiff line numberDiff line change
@@ -7164,11 +7164,23 @@ spec:
71647164
Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
71657165
type: object
71667166
type: object
7167+
scmProviders:
7168+
description: SCMProviders defines the list of allowed custom SCM
7169+
provider API URLs
7170+
items:
7171+
type: string
7172+
type: array
71677173
scmRootCAConfigMap:
71687174
description: SCMRootCAConfigMap is the name of the config map
71697175
that stores the Gitlab SCM Provider's TLS certificate which
71707176
will be mounted on the ApplicationSet Controller (optional).
71717177
type: string
7178+
sourceNamespaces:
7179+
description: SourceNamespaces defines the namespaces applicationset
7180+
resources are allowed to be created in
7181+
items:
7182+
type: string
7183+
type: array
71727184
version:
71737185
description: Version is the Argo CD ApplicationSet image tag.
71747186
(optional)

0 commit comments

Comments
 (0)