summaryrefslogtreecommitdiffstats
path: root/files/origin-components/rbac-template.yaml
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2017-09-21 20:21:52 -0700
committerGitHub <noreply@github.com>2017-09-21 20:21:52 -0700
commit2adb0ebeb523daa5c3b1b8fd4bf77d679c5bd5d7 (patch)
tree7ecff9c114cbbac05ee25939a17fabe679fbf17b /files/origin-components/rbac-template.yaml
parentee8252d536c4204b9e0c4a88d0899297caf39423 (diff)
parentdace5169e0b5066a027746dd6f28f0268248043f (diff)
downloadopenshift-2adb0ebeb523daa5c3b1b8fd4bf77d679c5bd5d7.tar.gz
openshift-2adb0ebeb523daa5c3b1b8fd4bf77d679c5bd5d7.tar.bz2
openshift-2adb0ebeb523daa5c3b1b8fd4bf77d679c5bd5d7.tar.xz
openshift-2adb0ebeb523daa5c3b1b8fd4bf77d679c5bd5d7.zip
Merge pull request #5226 from ewolinetz/template_service_broker
Automatic merge from submit-queue Creating initial tsb role to consume and apply templates provided for… … tsb cc: @deads2k @sdodson Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1486623 https://bugzilla.redhat.com/show_bug.cgi?id=1470623 https://bugzilla.redhat.com/show_bug.cgi?id=1491626
Diffstat (limited to 'files/origin-components/rbac-template.yaml')
-rw-r--r--files/origin-components/rbac-template.yaml92
1 files changed, 92 insertions, 0 deletions
diff --git a/files/origin-components/rbac-template.yaml b/files/origin-components/rbac-template.yaml
new file mode 100644
index 000000000..0937a9065
--- /dev/null
+++ b/files/origin-components/rbac-template.yaml
@@ -0,0 +1,92 @@
+apiVersion: template.openshift.io/v1
+kind: Template
+metadata:
+ name: template-service-broker-rbac
+parameters:
+- name: NAMESPACE
+ value: openshift-template-service-broker
+- name: KUBE_SYSTEM
+ value: kube-system
+objects:
+
+# Grant the service account permission to call the TSB
+- apiVersion: rbac.authorization.k8s.io/v1beta1
+ kind: ClusterRoleBinding
+ metadata:
+ name: templateservicebroker-client
+ roleRef:
+ kind: ClusterRole
+ name: system:openshift:templateservicebroker-client
+ subjects:
+ - kind: ServiceAccount
+ namespace: ${NAMESPACE}
+ name: templateservicebroker-client
+
+# to delegate authentication and authorization
+- apiVersion: rbac.authorization.k8s.io/v1beta1
+ kind: ClusterRoleBinding
+ metadata:
+ name: auth-delegator-${NAMESPACE}
+ roleRef:
+ kind: ClusterRole
+ name: system:auth-delegator
+ subjects:
+ - kind: ServiceAccount
+ namespace: ${NAMESPACE}
+ name: apiserver
+
+# to have the template service broker powers
+- apiVersion: rbac.authorization.k8s.io/v1beta1
+ kind: ClusterRoleBinding
+ metadata:
+ name: tsb-${NAMESPACE}
+ roleRef:
+ kind: ClusterRole
+ name: system:openshift:controller:template-service-broker
+ subjects:
+ - kind: ServiceAccount
+ namespace: ${NAMESPACE}
+ name: apiserver
+
+# to read the config for terminating authentication
+- apiVersion: rbac.authorization.k8s.io/v1beta1
+ kind: RoleBinding
+ metadata:
+ namespace: ${KUBE_SYSTEM}
+ name: extension-apiserver-authentication-reader-${NAMESPACE}
+ roleRef:
+ kind: Role
+ name: extension-apiserver-authentication-reader
+ subjects:
+ - kind: ServiceAccount
+ namespace: ${NAMESPACE}
+ name: apiserver
+
+# allow the kube service catalog's SA to read the static secret defined
+# above, which will contain the token for the SA that can call the TSB.
+- apiVersion: rbac.authorization.k8s.io/v1beta1
+ kind: Role
+ metadata:
+ name: templateservicebroker-auth-reader
+ namespace: ${NAMESPACE}
+ rules:
+ - apiGroups:
+ - ""
+ resourceNames:
+ - templateservicebroker-client
+ resources:
+ - secrets
+ verbs:
+ - get
+- apiVersion: rbac.authorization.k8s.io/v1beta1
+ kind: RoleBinding
+ metadata:
+ namespace: ${NAMESPACE}
+ name: templateservicebroker-auth-reader
+ roleRef:
+ kind: Role
+ name: templateservicebroker-auth-reader
+ subjects:
+ - kind: ServiceAccount
+ namespace: kube-service-catalog
+ name: service-catalog-controller