diff --git a/helm/jenkins/templates/rbac.yaml b/helm/jenkins/templates/rbac.yaml new file mode 100644 index 0000000..e2793fa --- /dev/null +++ b/helm/jenkins/templates/rbac.yaml @@ -0,0 +1,47 @@ +{{- if .Values.rbac.enabled }} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Values.rbac.serviceAccountName }} + namespace: {{ .Values.namespace }} + labels: + {{- include "jenkins.labels" . | nindent 4 }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ .Values.rbac.clusterRoleName }} + labels: + {{- include "jenkins.labels" . | nindent 4 }} +rules: + - apiGroups: [""] + resources: ["pods", "services", "configmaps", "secrets"] + verbs: ["get", "list", "watch", "create", "update", "patch", "delete"] + - apiGroups: [""] + resources: ["pods/exec", "pods/log"] + verbs: ["create", "get"] + - apiGroups: ["apps"] + resources: ["deployments", "statefulsets", "daemonsets", "replicasets"] + verbs: ["get", "list", "watch", "create", "update", "patch", "delete"] + - apiGroups: ["networking.k8s.io"] + resources: ["ingresses"] + verbs: ["get", "list", "watch", "create", "update", "patch", "delete"] + - apiGroups: ["argoproj.io"] + resources: ["applications"] + verbs: ["get", "list", "watch", "update", "patch"] +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ .Values.rbac.clusterRoleName }} + labels: + {{- include "jenkins.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ .Values.rbac.clusterRoleName }} +subjects: + - kind: ServiceAccount + name: {{ .Values.rbac.serviceAccountName }} + namespace: {{ .Values.namespace }} +{{- end }}