blob: 2d09c3ad85b764dd861e684ba025b1605c2f77fd [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-remote.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-remote.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{{/*
30Get Domain name
31*/}}
32{{- define "cdn-remote.get_domain" -}}
33{{- $service := index . 0 -}}
34{{- $context := index . 1 -}}
35{{- printf "%s.%s.svc.%s" $service $context.Release.Namespace $context.Values.config.clusterDomain -}}
36{{- end -}}
37
38{{/*
39Render ServiceAccount, Role, and RoleBinding required for kubernetes-entrypoint.
40*/}}
41{{- define "cdn-remote.service_account" -}}
42{{- $saName := index . 0 -}}
43{{- $context := index . 1 -}}
44{{- $saNamespace := $context.Release.Namespace }}
45---
46apiVersion: v1
47kind: ServiceAccount
48metadata:
49 name: {{ $saName }}
50 namespace: {{ $saNamespace }}
51 labels:
52{{ tuple $saName $context | include "cdn-remote.metadata_labels" | indent 4 }}
53---
54apiVersion: rbac.authorization.k8s.io/v1beta1
55kind: RoleBinding
56metadata:
57 name: {{ $saName }}
58 namespace: {{ $saNamespace }}
59 labels:
60{{ tuple $saName $context | include "cdn-remote.metadata_labels" | indent 4 }}
61roleRef:
62 apiGroup: rbac.authorization.k8s.io
63 kind: Role
64 name: {{ $saName }}
65subjects:
66 - kind: ServiceAccount
67 name: {{ $saName }}
68 namespace: {{ $saNamespace }}
69---
70apiVersion: rbac.authorization.k8s.io/v1beta1
71kind: Role
72metadata:
73 name: {{ $saName }}
74 namespace: {{ $saNamespace }}
75 labels:
76{{ tuple $saName $context | include "cdn-remote.metadata_labels" | indent 4 }}
77rules:
78 - apiGroups:
79 - ""
80 - extensions
81 - batch
82 - apps
83 verbs:
84 - get
85 - list
86 - patch
87 resources:
88 - statefulsets
89 - daemonsets
90 - jobs
91 - pods
92 - services
93 - endpoints
94 - configmaps
95{{- end -}}