Link các bài viết tham khảo:
https://faun.pub/create-argo-cd-local-users-9e830db3763f
https://ksummersill.medium.com/create-a-new-user-in-argocd-using-the-cli-and-configmap-8cbb27cf5904
Nếu bạn lười thì đến hướng dẫn chi tiết của mình:
Để create user chúng ta cần chỉnh config map và set password bằng cli
Tham khảo bài hướng dẫn cài argocd cli
Update the ConfigMap để tạo User
kubectl get configmap argocd-cm -n argocd -o yaml > argocd-cm.yml
Bạn thêm tên user bạn muốn tạo
data:
accounts.<new-username>: apiKey,login
ở đây chúng ta cho phép user process apiKey,login qua cli và UI

>>>>Giờ apply lại thôi
kubectl -n argocd apply -f argocd-cm.yml
>>>>Kiểm tra lại user
argocd account list
WARN[0000] Failed to invoke grpc call. Use flag --grpc-web in grpc calls. To avoid this warning message, use flag --grpc-web.
NAME ENABLED CAPABILITIES
admin true login
nim true apiKey, login
Set passwork cho user
argocd account update-password --account <new-username> --new-password <new-password>Lúc này nó sẽ hỏi “*** Enter current password:” thì bạn điền pass user admin vào nhé (chúng ta đang login vào bằng user admin mà)
Update the Role-Based Access Control (RBAC) for Local User
giờ chúng ta lại export file config map và sửa
kubectl get configmap argocd-rbac-cm -n argocd -o yaml > argocd-rbac.yml
>>>>> thêm cái này vào file:
data:
policy.csv: |
p, role:org-admin, applications, *, */*, allow
p, role:org-admin, clusters, get, *, allow
p, role:org-admin, repositories, get, *, allow
p, role:org-admin, repositories, create, *, allow
p, role:org-admin, repositories, update, *, allow
p, role:org-admin, repositories, delete, *, allow
g, <new-user>, role:org-admin
policy.default: role:''

các bạn cần đọc tài liệu tham khảo để hiều về role này
https://github.com/argoproj/argo-cd/blob/master/assets/builtin-policy.csv
Nếu có j hay ho mình sẽ cập nhật thêm giờ apply là xong rồi
kubectl -n argocd apply -f argcd-rbac.yml
Mình apply thì nó báo là error: the path “argcd-rbac.yml” does not exist
nên chắc edit thôi:
kubectl edit configmap argocd-rbac-cm -n argocd
Giờ login bằng ui và thưởng thức thôi.
Create a Token to integrate with ArgoCD.
Bạn phải login vào trong argocd thông qua argocd command:
argocd login argocd.com –grpc-web
Username: admin Password: 'admin:login' logged in successfully Context 'argocd.com' updated
tiếp theo bạn add thêm user để nó tạo ra apikey vào configmap: argocd-cm
apiVersion: v1 data: accounts.openclaw-n8n-automation: apiKey

Restart argocd-server để nhận config trên
Sau đó bạn run command để tạo token:
argocd account generate-token --account openclaw-n8n-automation

Tiếp theo bạn sẽ tiếp tục cần phân quyền cho user openclaw-n8n-automation
Một là bạn cho nó quyển admin:
apiVersion: v1
data:
policy.csv: |
g, openclaw-n8n-automation, role:admin
kind: ConfigMap
Hoặc là anh em có thể phân quyền kỹ hơn:
data:
policy.csv: |
p, role:openclaw-n8n-automation, applications, get, */*, allow
p, role:openclaw-n8n-automation, applications, sync, */*, allow
p, role:openclaw-n8n-automation, applications, action/*, */*, allow
p, role:openclaw-n8n-automation, projects, get, *, allow
p, role:openclaw-n8n-automation, repositories, get, *, allow
g, openclaw-n8n-automation, role:openclaw-n8n-automation
Sau đó bạn tiếp tục restart to argo-server.
Giờ bạn thưc hiện run argocd command hoặc API để kiểm tra token
ARGOCD_AUTH_TOKEN='<token>' argocd app list --server <ARGOCD_SERVER> --grpc-web
Nếu self-signed:
ARGOCD_AUTH_TOKEN='<token>' argocd app list --server <ARGOCD_SERVER> --grpc-web --insecure
hoặc curl API:
curl -k \ -H "Authorization: Bearer <token>" \ https://<ARGOCD_SERVER>/api/v1/applications