-
Hi, We're just getting started with Argo CD and I am in the process of setting up Argo RBAC as per projects documentation. Please comment if this is the right approach or I am missing anything here. We're using OpenShift GitOps operator which is nothing but an upstream version of Argo CD 2.0.x. Thanks |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hi cnukwas, this is correct: with Argo CD, the Argo RBAC is the primary way to support multitenant deployments of Applications. With this, the Argo CD administrator defines an For example, this would create Applications based on the directories found within the Git repository, but restricting the Applications to the restrictions of the apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
name: cluster-addons
spec:
generators:
- git:
repoURL: https://github.com/argoproj-labs/applicationset.git
revision: HEAD
directories:
- path: examples/git-generator-directory/cluster-addons/*
template:
metadata:
name: '{{path.basename}}'
spec:
project: my-project # my-project is the project that restricts the tenant
source:
repoURL: https://github.com/argoproj-labs/applicationset.git
targetRevision: HEAD
path: '{{path}}'
destination:
server: https://kubernetes.default.svc
namespace: '{{path.basename}}' |
Beta Was this translation helpful? Give feedback.
Hi cnukwas, this is correct: with Argo CD, the Argo RBAC is the primary way to support multitenant deployments of Applications. With this, the Argo CD administrator defines an
AppProject
resource that restricts what namespaces/git repositories an Application can deploy to/from, and then ensures that Applications that are generated are assigned to this project.For example, this would create Applications based on the directories found within the Git repository, but restricting the Applications to the restrictions of the
my-project
project: