39 lines
1.3 KiB
YAML
39 lines
1.3 KiB
YAML
{{- /*
|
|
Create pod-discovery RBAC only when all of these are true:
|
|
1) rbac.podDiscovery.enabled
|
|
2) cluster mode is enabled
|
|
3) cluster discovery is enabled
|
|
4) discovery type is kubernetes
|
|
*/ -}}
|
|
{{- if and .Values.rbac.podDiscovery.enabled .Values.bifrost.cluster.enabled .Values.bifrost.cluster.discovery.enabled (eq .Values.bifrost.cluster.discovery.type "kubernetes") -}}
|
|
{{- $podDiscoveryRoleName := printf "%s-pod-discovery" (include "bifrost.fullname" . | trunc 49 | trimSuffix "-") -}}
|
|
{{- $discoveryNamespace := .Values.bifrost.cluster.discovery.k8sNamespace | default .Release.Namespace -}}
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: Role
|
|
metadata:
|
|
name: {{ $podDiscoveryRoleName }}
|
|
namespace: {{ $discoveryNamespace }}
|
|
labels:
|
|
{{- include "bifrost.labels" . | nindent 4 }}
|
|
rules:
|
|
- apiGroups: [""]
|
|
resources: ["pods"]
|
|
verbs: ["get", "list", "watch"]
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: RoleBinding
|
|
metadata:
|
|
name: {{ $podDiscoveryRoleName }}
|
|
namespace: {{ $discoveryNamespace }}
|
|
labels:
|
|
{{- include "bifrost.labels" . | nindent 4 }}
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: {{ include "bifrost.serviceAccountName" . }}
|
|
namespace: {{ .Release.Namespace }}
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: Role
|
|
name: {{ $podDiscoveryRoleName }}
|
|
{{- end -}}
|