blob: 3372336adfb8f206221438ba945b67321d71048b [file] [log] [blame]
Jeremy Ronquillo223db002020-06-05 10:28:22 -07001{{- /*
Jeremy Ronquilloec2d3e42020-06-05 11:33:39 -07002
Jeremy Ronquillo223db002020-06-05 10:28:22 -07003# Copyright 2019-present Open Networking Foundation
4#
Jeremy Ronquilloec2d3e42020-06-05 11:33:39 -07005# SPDX-License-Identifier: Apache-2.0
6# SPDX-License-Identifier: LicenseRef-ONF-Member-Only
7
Jeremy Ronquillo223db002020-06-05 10:28:22 -07008*/ -}}
9
10{{/*
11Render a set of standardised label
12*/}}
13{{- define "accelleran-cbrs-common.metadata_labels" -}}
14{{- $application := index . 0 -}}
15{{- $context := index . 1 -}}
16release: {{ $context.Release.Name }}
17app: {{ $application }}
18{{- end -}}
19
20{{/*
21Render ServiceAccount, Role, and RoleBinding required for kubernetes-entrypoint.
22*/}}
23{{- define "accelleran-cbrs-common.service_account" -}}
24{{- $context := index . 1 -}}
25{{- $saName := index . 0 -}}
26{{- $saNamespace := $context.Release.Namespace }}
27---
28apiVersion: v1
29kind: ServiceAccount
30metadata:
31 name: {{ $saName }}
32 namespace: {{ $saNamespace }}
33 labels:
34{{ tuple $saName $context | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
35---
36apiVersion: rbac.authorization.k8s.io/v1beta1
37kind: RoleBinding
38metadata:
39 name: {{ $saName }}
40 namespace: {{ $saNamespace }}
41 labels:
42{{ tuple $saName $context | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
43roleRef:
44 apiGroup: rbac.authorization.k8s.io
45 kind: Role
46 name: {{ $saName }}
47subjects:
48 - kind: ServiceAccount
49 name: {{ $saName }}
50 namespace: {{ $saNamespace }}
51---
52apiVersion: rbac.authorization.k8s.io/v1beta1
53kind: Role
54metadata:
55 name: {{ $saName }}
56 namespace: {{ $saNamespace }}
57 labels:
58{{ tuple $saName $context | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
59rules:
60 - apiGroups:
61 - ""
62 - extensions
63 - batch
64 - apps
65 verbs:
66 - get
67 - list
68 - patch
69 resources:
70 - statefulsets
71 - daemonsets
72 - jobs
73 - pods
74 - services
75 - endpoints
76 - configmaps
77{{- end -}}