helm-charts/yunikorn/templates/admission-controller-rbac.yaml (81 lines of code) (raw):

# # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. {{ if .Values.embedAdmissionController }} apiVersion: v1 kind: ServiceAccount metadata: name: {{ .Values.admissionController.serviceAccount }} namespace: {{ .Release.Namespace }} annotations: "helm.sh/hook": pre-install "helm.sh/hook-weight": "0" --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: yunikorn-admission-controller-cluster-role annotations: "helm.sh/hook": pre-install,pre-upgrade "helm.sh/hook-weight": "1" rules: - apiGroups: ["admissionregistration.k8s.io"] resources: ["validatingwebhookconfigurations"] verbs: ["get", "watch", "list", "create", "patch", "update", "delete"] - apiGroups: ["admissionregistration.k8s.io"] resources: ["mutatingwebhookconfigurations"] verbs: ["get", "watch", "list", "create", "patch", "update", "delete"] - apiGroups: [""] resources: ["pods"] verbs: ["get"] - apiGroups: [""] resources: ["namespaces"] verbs: ["get", "watch", "list"] - apiGroups: ["scheduling.k8s.io"] resources: ["priorityclasses"] verbs: ["get", "watch", "list"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: yunikorn-admission-controller-role annotations: "helm.sh/hook": pre-install,pre-upgrade "helm.sh/hook-weight": "1" rules: - apiGroups: [""] resources: ["secrets"] verbs: ["get", "watch", "list", "update"] - apiGroups: [""] resources: ["configmaps"] verbs: ["get", "watch", "list"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: yunikorn-admission-controller-cluster-rbac annotations: "helm.sh/hook": pre-install,pre-upgrade "helm.sh/hook-weight": "2" subjects: - kind: ServiceAccount name: {{ .Values.admissionController.serviceAccount }} namespace: {{ .Release.Namespace }} roleRef: kind: ClusterRole name: yunikorn-admission-controller-cluster-role apiGroup: rbac.authorization.k8s.io --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: yunikorn-admission-controller-rbac annotations: "helm.sh/hook": pre-install,pre-upgrade "helm.sh/hook-weight": "2" subjects: - kind: ServiceAccount name: {{ .Values.admissionController.serviceAccount }} namespace: {{ .Release.Namespace }} roleRef: kind: Role name: yunikorn-admission-controller-role apiGroup: rbac.authorization.k8s.io {{ end }}