| {{- /* |
| |
| # Copyright 2020-present Open Networking Foundation |
| # |
| # SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0 |
| |
| */ -}} |
| |
| {{/* |
| Renders a set of standardised labels |
| */}} |
| {{- define "phylo.metadata_labels" -}} |
| {{- $application := index . 0 -}} |
| {{- $context := index . 1 -}} |
| release: {{ $context.Release.Name }} |
| app: {{ $application }} |
| {{- end -}} |
| |
| {{/* |
| Render the given template. |
| */}} |
| {{- define "phylo.template" -}} |
| {{- $name := index . 0 -}} |
| {{- $context := index . 1 -}} |
| {{- $last := base $context.Template.Name }} |
| {{- $wtf := $context.Template.Name | replace $last $name -}} |
| {{ include $wtf $context }} |
| {{- end -}} |
| |
| {{/* |
| Render ServiceAccount, Role, and RoleBinding required for kubernetes-entrypoint. |
| */}} |
| {{- define "phylo.service_account" -}} |
| {{- $context := index . 1 -}} |
| {{- $saName := index . 0 -}} |
| {{- $saNamespace := $context.Release.Namespace }} |
| --- |
| apiVersion: v1 |
| kind: ServiceAccount |
| metadata: |
| name: {{ $saName }} |
| namespace: {{ $saNamespace }} |
| labels: |
| {{ tuple $saName $context | include "phylo.metadata_labels" | indent 4 }} |
| --- |
| apiVersion: rbac.authorization.k8s.io/v1beta1 |
| kind: RoleBinding |
| metadata: |
| name: {{ $saName }} |
| namespace: {{ $saNamespace }} |
| labels: |
| {{ tuple $saName $context | include "phylo.metadata_labels" | indent 4 }} |
| roleRef: |
| apiGroup: rbac.authorization.k8s.io |
| kind: Role |
| name: {{ $saName }} |
| subjects: |
| - kind: ServiceAccount |
| name: {{ $saName }} |
| namespace: {{ $saNamespace }} |
| --- |
| apiVersion: rbac.authorization.k8s.io/v1beta1 |
| kind: Role |
| metadata: |
| name: {{ $saName }} |
| namespace: {{ $saNamespace }} |
| labels: |
| {{ tuple $saName $context | include "phylo.metadata_labels" | indent 4 }} |
| rules: |
| - apiGroups: |
| - "" |
| - extensions |
| - batch |
| - apps |
| verbs: |
| - get |
| - list |
| resources: |
| - statefulsets |
| - daemonsets |
| - jobs |
| - pods |
| - services |
| - endpoints |
| - configmaps |
| {{- end -}} |