Gitlab 集成
然后点击提交(save application), 将得到应用创建后的信息:
注册完成后, 我们可以看到应用现在只有0个Clients, 即还没有任何实例作为这个Application的实例进行认证:
但不管怎么说, 应用注册这一步我们算成功完成啦! Give Me Five~
用如下命令编辑 configMap
kubectl edit configmap argocd-cm -n argocd
这里因为我将ArgoCD与个人Gitlab帐户集成,因此不需要org部分。
data: dex.config: | connectors: # GitHub example - type: gitlab id: gitlab name: Gitlab config: clientID: d67495a7d2d6d4f756040a65b2726197e603a1edfc1a615c70d915d383570a7d clientSecret: 60fba8381473ba78841499133b2f24691a2dd8c00605412a38d89f38b15a56b9 baseURL: http://101.43.196.155:32080 #GILAB 地址 redirectURI: https://101.43.196.155:32198/api/dex/callback #argocd地址 # orgs: # - name: your-github-org url: https://101.43.196.155:32198 # argocd 地址
保存后,更改应该自动生效。但是在登录的时候出现了一些问题 invalid session token: failed to verify signature: failed to verify id token signature
我们需要重启 argocd-server
deployment.
kubectl rollout restart deploy argocd-server -n argocd
打开浏览器再次进入
然后返回 gitlab 查看 有一个账户已经登录成功
此时 登录 argocd 单击 LOG IN VIA GITLAB 无需密码可直接登录
RBAC
虽然现在可以登录,但是权限不够,我们需要参考 官方文档 配置RBAC权限。
不幸的是,Dex
不能将组织作为组映射/导出到ArgoCD中,只能将用户电子邮件映射到ArgoCD中。对我来说,scope参数是:'[email,groups]',所以我可以通过电子邮件将用户分配给一个角色。
kubectl edit configmap argocd-rbac-cm -n argocd # add this part apiVersion: v1 data: policy.csv: | g, [email protected], role:admin policy.default: role:readonly scopes: '[email, group]'
如果您是组织用户,请遵循如下所示的类似步骤。
data: scopes: '[email, group]' policy.default: role:readonly policy.csv: | p, role:readonly, applications, get, */*, allow p, role:readonly, logs, get, */*, allow p, role:readonly, applications, action/apps/Deployment/restart, */*, allow p, role:admin, applications, get, */*, allow p, role:admin, applications, update, */*, allow p, role:admin, applications, delete, */*, allow p, role:admin, applications, sync, */*, allow p, role:admin, applications, override, */*, allow p, role:admin, applications, action/*, */*, allow p, role:admin, logs, get, */*, allow p, role:admin, clusters, get, *, allow p, role:admin, projects, get, *, allow p, role:admin, repositories, get, *, allow p, role:admin, certificates, get, *, allow g, your-org:developers, role:readonly g, your-org:devops, role:admin
developers
anddevops
are group in your orgnazation github.
参考
感谢阅读,如果您觉得本文的内容对您的学习有所帮助,您可以打赏和推荐,您的鼓励是我创作的动力。
标签:get,admin,argocd,Gitlab,ArgoCD,RBAC,applications,role,allow From: https://www.cnblogs.com/nb-blog/p/17984651