You can log in to Argo CD or bash into the Argo CD pod running in Kubernetes:
argocd login <ARGOCD_SERVER> --username admin --password <ADMIN_PASSWORD>
To create a new user with a password, use the following command:
argocd account create <username> --password <password>
Apply the following ConfigMap to set the user's permissions:
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-rbac-cm
namespace: argocd
data:
policy.csv: |
p, <username>, applications, get, */*, allow
p, <username>, applications, create, */*, allow
p, <username>, applications, delete, */*, allow
p, <username>, applications, sync, */*, allow
<username>
= dev-user-1
If you want to create a role what will be assined to different users group you can do it like this;
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-rbac-cm
namespace: argocd
data:
policy.csv: |
p, <userRole>, applications, get, <project>/<application>, allow
p, <userRole>, applications, create, <project>/<application>, allow
p, <userRole>, applications, delete, <project>/<application>, allow
p, <userRole>, applications, sync, <project>/<application>, allow
g, <username>, role:<userRole>
<userRole>
= devOpsEngineers<username>
= dev-user-1<project>
= default<application>
= app-1
In Argo CD, you can provide permissions for various resources, such as:
- Applications
- Logs
- Accounts
- Projects
- Clusters
- Repositories
- Certificates
- Applicationsets
- Gpgkeys
- Get
- Create
- Update
- Delete
- Sync
- Override