Merge pull request #99 from lwolf/master

Create RBAC policy for cert-manager #34
This commit is contained in:
James Munnelly 2017-09-21 19:41:45 +01:00 committed by GitHub
commit 3d6c0ff3cb
6 changed files with 90 additions and 2 deletions

View File

@ -49,9 +49,11 @@ To deploy the latest version of cert-manager using Helm, run:
$ helm install --name cert-manager --namespace kube-system contrib/charts/cert-manager
```
**NOTE**
#### Deploy RBAC roles
* There are currently no official RBAC roles defined for cert-manager (see [#34](https://github.com/jetstack-experimental/cert-manager/issues/34))
```
$ kubectl create -f https://raw.githubusercontent.com/jetstack-experimental/cert-manager/master/docs/rbac.yaml
```
### 2. Set up letsencrypt staging issuer

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: {}

30
docs/rbac.yaml Normal file
View File

@ -0,0 +1,30 @@
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRole
metadata:
name: cert-manager
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: cert-manager-binding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cert-manager
subjects:
- namespace: default
kind: ServiceAccount
name: default