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