generate_token.sh 968 B

12345678910111213141516171819202122232425262728293031
  1. #!/bin/sh
  2. kubectl apply -n argo-api -f - <<EOF
  3. apiVersion: rbac.authorization.k8s.io/v1
  4. kind: Role
  5. metadata:
  6. name: argo-api
  7. rules:
  8. - apiGroups: [""]
  9. resources: ["pods"]
  10. verbs: ["get", "list", "watch", "create", "delete", "update", "patch"]
  11. - apiGroups: ["argoproj.io"]
  12. resources: ["workflows"]
  13. verbs: ["list", "update"]
  14. EOF
  15. kubectl create sa argo-api --namespace=argo-api
  16. kubectl create rolebinding argo-api --role=argo-api --serviceaccount=argo:argo-api --namespace=argo-api
  17. kubectl apply -n argo-api -f - <<EOF
  18. apiVersion: v1
  19. kind: Secret
  20. metadata:
  21. name: argo-api.service-account-token
  22. annotations:
  23. kubernetes.io/service-account.name: argo-api
  24. type: kubernetes.io/service-account-token
  25. EOF
  26. ARGO_TOKEN="Bearer $(kubectl get secret argo-api.service-account-token -o=jsonpath='{.data.token}' -n argo-api | base64 --decode)"
  27. echo "$ARGO_TOKEN"
  28. curl https://localhost:32337/api/v1/workflows/argo -H "Authorization: $ARGO_TOKEN" --insecure