mirror of
https://github.com/edgelesssys/constellation.git
synced 2024-12-15 19:04:23 -05:00
968cdc1a38
* cli: move internal packages Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com> * cli: fix buildfiles Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com> * bazel: fix exclude dir Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com> * cli: move back libraries that will not be used by TF provider Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com> --------- Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
104 lines
3.7 KiB
YAML
104 lines
3.7 KiB
YAML
{{- if .Values.cainjector.enabled }}
|
|
{{- if .Values.global.rbac.create }}
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
name: {{ template "cainjector.fullname" . }}
|
|
labels:
|
|
app: {{ include "cainjector.name" . }}
|
|
app.kubernetes.io/name: {{ include "cainjector.name" . }}
|
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
app.kubernetes.io/component: "cainjector"
|
|
{{- include "labels" . | nindent 4 }}
|
|
rules:
|
|
- apiGroups: ["cert-manager.io"]
|
|
resources: ["certificates"]
|
|
verbs: ["get", "list", "watch"]
|
|
- apiGroups: [""]
|
|
resources: ["secrets"]
|
|
verbs: ["get", "list", "watch"]
|
|
- apiGroups: [""]
|
|
resources: ["events"]
|
|
verbs: ["get", "create", "update", "patch"]
|
|
- apiGroups: ["admissionregistration.k8s.io"]
|
|
resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"]
|
|
verbs: ["get", "list", "watch", "update"]
|
|
- apiGroups: ["apiregistration.k8s.io"]
|
|
resources: ["apiservices"]
|
|
verbs: ["get", "list", "watch", "update"]
|
|
- apiGroups: ["apiextensions.k8s.io"]
|
|
resources: ["customresourcedefinitions"]
|
|
verbs: ["get", "list", "watch", "update"]
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRoleBinding
|
|
metadata:
|
|
name: {{ template "cainjector.fullname" . }}
|
|
labels:
|
|
app: {{ include "cainjector.name" . }}
|
|
app.kubernetes.io/name: {{ include "cainjector.name" . }}
|
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
app.kubernetes.io/component: "cainjector"
|
|
{{- include "labels" . | nindent 4 }}
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: ClusterRole
|
|
name: {{ template "cainjector.fullname" . }}
|
|
subjects:
|
|
- name: {{ template "cainjector.serviceAccountName" . }}
|
|
namespace: {{ include "cert-manager.namespace" . }}
|
|
kind: ServiceAccount
|
|
|
|
---
|
|
# leader election rules
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: Role
|
|
metadata:
|
|
name: {{ template "cainjector.fullname" . }}:leaderelection
|
|
namespace: {{ .Values.global.leaderElection.namespace }}
|
|
labels:
|
|
app: {{ include "cainjector.name" . }}
|
|
app.kubernetes.io/name: {{ include "cainjector.name" . }}
|
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
app.kubernetes.io/component: "cainjector"
|
|
{{- include "labels" . | nindent 4 }}
|
|
rules:
|
|
# Used for leader election by the controller
|
|
# cert-manager-cainjector-leader-election is used by the CertificateBased injector controller
|
|
# see cmd/cainjector/start.go#L113
|
|
# cert-manager-cainjector-leader-election-core is used by the SecretBased injector controller
|
|
# see cmd/cainjector/start.go#L137
|
|
- apiGroups: ["coordination.k8s.io"]
|
|
resources: ["leases"]
|
|
resourceNames: ["cert-manager-cainjector-leader-election", "cert-manager-cainjector-leader-election-core"]
|
|
verbs: ["get", "update", "patch"]
|
|
- apiGroups: ["coordination.k8s.io"]
|
|
resources: ["leases"]
|
|
verbs: ["create"]
|
|
|
|
---
|
|
|
|
# grant cert-manager permission to manage the leaderelection configmap in the
|
|
# leader election namespace
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: RoleBinding
|
|
metadata:
|
|
name: {{ include "cainjector.fullname" . }}:leaderelection
|
|
namespace: {{ .Values.global.leaderElection.namespace }}
|
|
labels:
|
|
app: {{ include "cainjector.name" . }}
|
|
app.kubernetes.io/name: {{ include "cainjector.name" . }}
|
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
app.kubernetes.io/component: "cainjector"
|
|
{{- include "labels" . | nindent 4 }}
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: Role
|
|
name: {{ template "cainjector.fullname" . }}:leaderelection
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: {{ template "cainjector.serviceAccountName" . }}
|
|
namespace: {{ include "cert-manager.namespace" . }}
|
|
{{- end }}
|
|
{{- end }}
|