Clean up RBAC rules. Add rbac option to helm chart.

This commit is contained in:
James Munnelly 2017-09-21 19:32:27 +01:00
parent 4558908910
commit f9ae158a6e
5 changed files with 61 additions and 15 deletions

View File

@ -15,6 +15,8 @@ spec:
app: {{ template "name" . }}
release: {{ .Release.Name }}
spec:
serviceAccount: {{ template "fullname" . }}
serviceAccountName: {{ template "fullname" . }}
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"

View File

@ -0,0 +1,42 @@
{{- if .Values.rbac.enabled -}}
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRole
metadata:
name: {{ template "fullname" . }}
labels:
app: {{ template "name" . }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
rules:
- apiGroups: ["certmanager.k8s.io"]
resources: ["certificates", "issuers"]
verbs: ["*"]
- apiGroups: [""]
resources: ["secrets", "events", "endpoints", "services"]
verbs: ["*"]
- apiGroups: ["extensions"]
resources: ["ingresses"]
verbs: ["*"]
- apiGroups: ["batch"]
resources: ["jobs"]
verbs: ["list", "watch", "create", "delete", "get"]
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: {{ template "fullname" . }}
labels:
app: {{ template "name" . }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ template "fullname" . }}
subjects:
- name: {{ template "fullname" . }}
namespace: {{ .Release.Namespace | quote }}
kind: ServiceAccount
{{- end -}}

View File

@ -0,0 +1,9 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ template "fullname" . }}
labels:
app: {{ template "name" . }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}

View File

@ -10,4 +10,7 @@ image:
createCustomResource: true
rbac:
enabled: true
resources: {}

View File

@ -5,31 +5,21 @@ metadata:
rules:
- apiGroups: ["certmanager.k8s.io"]
resources: ["certificates", "issuers"]
verbs: ["get", "list", "watch", "update", "create"]
verbs: ["*"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get", "list", "watch", "update", "create", "delete"]
- apiGroups: [""]
resources: ["events"]
verbs: ["get", "list", "watch", "update", "create", "patch"]
- apiGroups: [""]
resources: ["endpoints"]
verbs: ["get", "put", "create", "update", "list", "watch"]
- apiGroups: [""]
resources: ["services"]
verbs: ["list","watch","get", "create", "update", "delete"]
resources: ["secrets", "events", "endpoints", "services"]
verbs: ["*"]
- apiGroups: ["extensions"]
resources: ["ingresses"]
verbs: ["list","watch","get", "update", "delete", "create"]
verbs: ["*"]
- apiGroups: ["batch"]
resources: ["jobs"]
verbs: ["list","watch","update","create","delete", "get"]
verbs: ["list", "watch", "create", "delete", "get"]
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: cert-manager-binding
namespace: default
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole