Files
kubernetes_monitoring/templates/ClusterPolicy-Prometheus-Role.yaml

73 lines
2.0 KiB
YAML

{{ if .Values.nfc_monitoring.prometheus.kyverno_role_policy }}
---
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: add-prometheus-role
annotations:
policies.kyverno.io/title: Add Prometheus Role
policies.kyverno.io/category: Monitoring
policies.kyverno.io/subject: RoleBinding
policies.kyverno.io/minversion: 1.6.0
policies.kyverno.io/description: >-
This policy is responsible for ensuring that a Role for the prometheus
monitoring instances is created to enable monitoring of the namespace in
question.
labels:
{{ toYaml $.Values.nfc_monitoring.prometheus.labels | nindent 4 }}
app.kubernetes.io/part-of: {{ $.Chart.Name }}
app.kubernetes.io/managed-by: {{ $.Release.Service }}
app.kubernetes.io/version: {{ $.Chart.Version }}
spec:
background: true
generateExisting: true
rules:
- name: generate-prometheus-role
match:
any:
- resources:
kinds:
- Namespace
generate:
synchronize: true
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
name: prometheus-k8s
namespace: "{{ `{{` }}request.object.metadata.name }}"
data:
metadata:
labels:
{{ toYaml $.Values.nfc_monitoring.prometheus.labels | nindent 14 }}
app.kubernetes.io/part-of: {{ $.Chart.Name }}
app.kubernetes.io/version: {{ $.Chart.Version }}
rules:
- apiGroups:
- ""
resources:
- services
- endpoints
- pods
verbs:
- get
- list
- watch
- apiGroups:
- extensions
resources:
- ingresses
verbs:
- get
- list
- watch
- apiGroups:
- networking.k8s.io
resources:
- ingresses
verbs:
- get
- list
- watch
{{ end }}