容器中有一个shell脚本,需要访问ArgoCD API。脚本向API请求一个令牌,然后使用此令牌重新启动部署。
JSON=$(jq -c -n --arg username "$USER_NAME" --arg password "$PASSWORD" '$ARGS.named')
TOKEN=$(curl -k $ARGOCD_SERVER/api/v1/session -d "$JSON" | jq -r ".token")
PARAMETERS="namespace=$NAMESPACE&resourceName=$RESOURCE_NAME&kind=Deployment&group=apps&version=v1"
curl -k -H "Authorization: Bearer $TOKEN" \
-d "\"restart\"" \
"$ARGOCD_SERVER/api/v1/applications/argocd/resource/actions?$PARAMETERS"
只有当我在我的login
中启用了argo-cd-cm.yaml
选项时,这才会起作用。
...
data:
admin.enabled: "false"
accounts.<service-user>: apiKey, login
accounts.<service-user>.enabled: "true"
...
由于我对普通用户使用OIDC,我不希望这个登录选项被禁用。
是否有一种方法可以在其中一个configmap中为给定用户指定apiKey
?
发布于 2022-08-19 21:13:35
是啊!这是我们两年来的配置(舵值)。只是为了确认一下
但是,请确保使用rbacConfig也授权他,如下所示:
server:
config:
accounts.cibotuser: apiKey, login
accounts.cibotuser.enabled: "true"
rbacConfig:
policy.csv: |
p, cibotuser, applications, get, */*,allow
p, cibotuser, applications, sync, */*,allow
https://stackoverflow.com/questions/70278007
复制相似问题