131 lines
3.9 KiB
YAML
131 lines
3.9 KiB
YAML
# Bootstrap once with an administrator identity. This credential can update
|
|
# only the existing Dashboard resources and cannot read Kubernetes Secrets.
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: kubernetes-dashboard-deployer
|
|
namespace: kubernetes-dashboard
|
|
automountServiceAccountToken: false
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: Role
|
|
metadata:
|
|
name: kubernetes-dashboard-deployer
|
|
namespace: kubernetes-dashboard
|
|
rules:
|
|
- apiGroups: [""]
|
|
resources: [serviceaccounts]
|
|
resourceNames:
|
|
- kubernetes-dashboard-kong
|
|
- kubernetes-dashboard-api
|
|
- kubernetes-dashboard-metrics-scraper
|
|
- kubernetes-dashboard-web
|
|
verbs: [get, patch, update]
|
|
- apiGroups: [""]
|
|
resources: [configmaps]
|
|
resourceNames:
|
|
- kong-dbless-config
|
|
- kubernetes-dashboard-web-settings
|
|
- kubernetes-dashboard-auth-proxy
|
|
verbs: [get, patch, update]
|
|
- apiGroups: [""]
|
|
resources: [services]
|
|
resourceNames:
|
|
- kubernetes-dashboard-kong-proxy
|
|
- kubernetes-dashboard-api
|
|
- kubernetes-dashboard-auth
|
|
- kubernetes-dashboard-metrics-scraper
|
|
- kubernetes-dashboard-web
|
|
- kubernetes-dashboard-auth-proxy
|
|
verbs: [get, patch, update]
|
|
- apiGroups: [apps]
|
|
resources: [deployments]
|
|
resourceNames:
|
|
- kubernetes-dashboard-kong
|
|
- kubernetes-dashboard-api
|
|
- kubernetes-dashboard-auth
|
|
- kubernetes-dashboard-metrics-scraper
|
|
- kubernetes-dashboard-web
|
|
- kubernetes-dashboard-auth-proxy
|
|
verbs: [get, patch, update]
|
|
- apiGroups: [policy]
|
|
resources: [poddisruptionbudgets]
|
|
resourceNames:
|
|
- kubernetes-dashboard
|
|
- kubernetes-dashboard-auth-proxy
|
|
verbs: [get, patch, update]
|
|
- apiGroups: [networking.k8s.io]
|
|
resources: [networkpolicies]
|
|
resourceNames: [kubernetes-dashboard-auth-proxy]
|
|
verbs: [get, patch, update]
|
|
- apiGroups: [rbac.authorization.k8s.io]
|
|
resources: [roles]
|
|
resourceNames:
|
|
- kubernetes-dashboard-api
|
|
- kubernetes-dashboard-web
|
|
verbs: [get, patch, update, escalate]
|
|
- apiGroups: [rbac.authorization.k8s.io]
|
|
resources: [rolebindings]
|
|
resourceNames:
|
|
- kubernetes-dashboard-api
|
|
- kubernetes-dashboard-web
|
|
verbs: [get, patch, update, bind]
|
|
- apiGroups: [traefik.io]
|
|
resources: [ingressroutes]
|
|
resourceNames: [kubernetes-dashboard-ingressroute]
|
|
verbs: [get, patch, update]
|
|
- apiGroups: [traefik.io]
|
|
resources: [middlewares]
|
|
resourceNames: [kubernetes-dashboard-authentik]
|
|
verbs: [get, patch, update]
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: RoleBinding
|
|
metadata:
|
|
name: kubernetes-dashboard-deployer
|
|
namespace: kubernetes-dashboard
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: Role
|
|
name: kubernetes-dashboard-deployer
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: kubernetes-dashboard-deployer
|
|
namespace: kubernetes-dashboard
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
name: kubernetes-dashboard-deployer
|
|
rules:
|
|
- apiGroups: [rbac.authorization.k8s.io]
|
|
resources: [clusterroles]
|
|
resourceNames: [kubernetes-dashboard-metrics-scraper]
|
|
verbs: [get, patch, update, escalate]
|
|
- apiGroups: [rbac.authorization.k8s.io]
|
|
resources: [clusterrolebindings]
|
|
resourceNames: [kubernetes-dashboard-metrics-scraper]
|
|
verbs: [get, patch, update, bind]
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRoleBinding
|
|
metadata:
|
|
name: kubernetes-dashboard-deployer
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: ClusterRole
|
|
name: kubernetes-dashboard-deployer
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: kubernetes-dashboard-deployer
|
|
namespace: kubernetes-dashboard
|
|
---
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: kubernetes-dashboard-deployer-token
|
|
namespace: kubernetes-dashboard
|
|
annotations:
|
|
kubernetes.io/service-account.name: kubernetes-dashboard-deployer
|
|
type: kubernetes.io/service-account-token
|