blob: 0ac79baaba6735e750f73f26c5f7795be3e4b26e [file] [log] [blame]
Woojoong Kimd3c132c2020-08-26 14:46:47 -07001{{- /*
2
3# Copyright 2020-present Open Networking Foundation
4#
5# SPDX-License-Identifier: Apache-2.0
Woojoong Kimd3c132c2020-08-26 14:46:47 -07006
7*/ -}}
8
9{{/*
10Renders a set of standardised labels
11*/}}
12{{- define "thingsboard-iot-platform.metadata_labels" -}}
13{{- $application := index . 0 -}}
14{{- $context := index . 1 -}}
15release: {{ $context.Release.Name }}
16app: {{ $application }}
17{{- end -}}
18
19{{/*
20Render the given template.
21*/}}
22{{- define "thingsboard-iot-platform.template" -}}
23{{- $name := index . 0 -}}
24{{- $context := index . 1 -}}
25{{- $last := base $context.Template.Name }}
26{{- $wtf := $context.Template.Name | replace $last $name -}}
27{{ include $wtf $context }}
28{{- end -}}
29
30{{/*
31Render ServiceAccount, Role, and RoleBinding required for kubernetes-entrypoint.
32*/}}
33{{- define "thingsboard-iot-platform.service_account" -}}
34{{- $context := index . 1 -}}
35{{- $saName := index . 0 -}}
36{{- $saNamespace := $context.Release.Namespace }}
37---
38apiVersion: v1
39kind: ServiceAccount
40metadata:
41 name: {{ $saName }}
42 namespace: {{ $saNamespace }}
43 labels:
44{{ tuple $saName $context | include "thingsboard-iot-platform.metadata_labels" | indent 4 }}
45---
Hyunsun Moondea0cb52021-02-19 16:53:22 -080046apiVersion: rbac.authorization.k8s.io/v1
Woojoong Kimd3c132c2020-08-26 14:46:47 -070047kind: RoleBinding
48metadata:
49 name: {{ $saName }}
50 namespace: {{ $saNamespace }}
51 labels:
52{{ tuple $saName $context | include "thingsboard-iot-platform.metadata_labels" | indent 4 }}
53roleRef:
54 apiGroup: rbac.authorization.k8s.io
55 kind: Role
56 name: {{ $saName }}
57subjects:
58 - kind: ServiceAccount
59 name: {{ $saName }}
60 namespace: {{ $saNamespace }}
61---
Hyunsun Moondea0cb52021-02-19 16:53:22 -080062apiVersion: rbac.authorization.k8s.io/v1
Woojoong Kimd3c132c2020-08-26 14:46:47 -070063kind: Role
64metadata:
65 name: {{ $saName }}
66 namespace: {{ $saNamespace }}
67 labels:
68{{ tuple $saName $context | include "thingsboard-iot-platform.metadata_labels" | indent 4 }}
69rules:
70 - apiGroups:
71 - ""
72 - extensions
73 - batch
74 - apps
75 verbs:
76 - get
77 - list
78 - patch
79 resources:
80 - statefulsets
81 - daemonsets
82 - jobs
83 - pods
84 - services
85 - endpoints
86 - configmaps
Hyunsun Moondea0cb52021-02-19 16:53:22 -080087{{- end -}}