blob: 452fb6d0adac883c0db5e210002986b1d1ae1e9a [file] [log] [blame]
Woojoong Kim4feaddf2019-11-21 00:05:07 -08001{{- /*
2# Copyright 2019-present Open Networking Foundation
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15*/ -}}
16
17{{/*
18Render a set of standardised label
19*/}}
20{{- define "accelleran-cbrs-common.metadata_labels" -}}
21{{- $application := index . 0 -}}
22{{- $context := index . 1 -}}
23release: {{ $context.Release.Name }}
24app: {{ $application }}
25{{- end -}}
26
27{{/*
28Render ServiceAccount, Role, and RoleBinding required for kubernetes-entrypoint.
29*/}}
30{{- define "accelleran-cbrs-common.service_account" -}}
31{{- $context := index . 1 -}}
32{{- $saName := index . 0 -}}
33{{- $saNamespace := $context.Release.Namespace }}
34---
35apiVersion: v1
36kind: ServiceAccount
37metadata:
38 name: {{ $saName }}
39 namespace: {{ $saNamespace }}
40 labels:
41{{ tuple $saName $context | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
42---
43apiVersion: rbac.authorization.k8s.io/v1beta1
44kind: RoleBinding
45metadata:
46 name: {{ $saName }}
47 namespace: {{ $saNamespace }}
48 labels:
49{{ tuple $saName $context | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
50roleRef:
51 apiGroup: rbac.authorization.k8s.io
52 kind: Role
53 name: {{ $saName }}
54subjects:
55 - kind: ServiceAccount
56 name: {{ $saName }}
57 namespace: {{ $saNamespace }}
58---
59apiVersion: rbac.authorization.k8s.io/v1beta1
60kind: Role
61metadata:
62 name: {{ $saName }}
63 namespace: {{ $saNamespace }}
64 labels:
65{{ tuple $saName $context | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
66rules:
67 - apiGroups:
68 - ""
69 - extensions
70 - batch
71 - apps
72 verbs:
73 - get
74 - list
75 - patch
76 resources:
77 - statefulsets
78 - daemonsets
79 - jobs
80 - pods
81 - services
82 - endpoints
83 - configmaps
84{{- end -}}