mirror of https://git.rancher.io/charts
261 lines
11 KiB
YAML
261 lines
11 KiB
YAML
{{- if .Values.prometheus.enabled }}
|
|
apiVersion: monitoring.coreos.com/v1
|
|
kind: Prometheus
|
|
metadata:
|
|
name: {{ template "kube-prometheus-stack.fullname" . }}-prometheus
|
|
namespace: {{ template "kube-prometheus-stack.namespace" . }}
|
|
labels:
|
|
app: {{ template "kube-prometheus-stack.name" . }}-prometheus
|
|
{{ include "kube-prometheus-stack.labels" . | indent 4 }}
|
|
{{- if .Values.prometheus.annotations }}
|
|
annotations:
|
|
{{ toYaml .Values.prometheus.annotations | indent 4 }}
|
|
{{- end }}
|
|
spec:
|
|
alerting:
|
|
alertmanagers:
|
|
{{- if .Values.prometheus.prometheusSpec.alertingEndpoints }}
|
|
{{ toYaml .Values.prometheus.prometheusSpec.alertingEndpoints | indent 6 }}
|
|
{{- else if .Values.alertmanager.enabled }}
|
|
- namespace: {{ template "kube-prometheus-stack.namespace" . }}
|
|
name: {{ template "kube-prometheus-stack.fullname" . }}-alertmanager
|
|
port: {{ .Values.alertmanager.alertmanagerSpec.portName }}
|
|
{{- if .Values.alertmanager.alertmanagerSpec.routePrefix }}
|
|
pathPrefix: "{{ .Values.alertmanager.alertmanagerSpec.routePrefix }}"
|
|
{{- end }}
|
|
apiVersion: {{ .Values.alertmanager.apiVersion }}
|
|
{{- else }}
|
|
[]
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.apiserverConfig }}
|
|
apiserverConfig:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.apiserverConfig | indent 4}}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.image }}
|
|
baseImage: {{ template "system_default_registry" . }}{{ .Values.prometheus.prometheusSpec.image.repository }}
|
|
version: {{ .Values.prometheus.prometheusSpec.image.tag }}
|
|
{{- if .Values.prometheus.prometheusSpec.image.sha }}
|
|
sha: {{ .Values.prometheus.prometheusSpec.image.sha }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.externalLabels }}
|
|
externalLabels:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.externalLabels | indent 4}}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.prometheusExternalLabelNameClear }}
|
|
prometheusExternalLabelName: ""
|
|
{{- else if .Values.prometheus.prometheusSpec.prometheusExternalLabelName }}
|
|
prometheusExternalLabelName: "{{ .Values.prometheus.prometheusSpec.prometheusExternalLabelName }}"
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.replicaExternalLabelNameClear }}
|
|
replicaExternalLabelName: ""
|
|
{{- else if .Values.prometheus.prometheusSpec.replicaExternalLabelName }}
|
|
replicaExternalLabelName: "{{ .Values.prometheus.prometheusSpec.replicaExternalLabelName }}"
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.externalUrl }}
|
|
externalUrl: "{{ tpl .Values.prometheus.prometheusSpec.externalUrl . }}"
|
|
{{- else if and .Values.prometheus.ingress.enabled .Values.prometheus.ingress.hosts }}
|
|
externalUrl: "http://{{ tpl (index .Values.prometheus.ingress.hosts 0) . }}{{ .Values.prometheus.prometheusSpec.routePrefix }}"
|
|
{{- else }}
|
|
externalUrl: http://{{ template "kube-prometheus-stack.fullname" . }}-prometheus.{{ template "kube-prometheus-stack.namespace" . }}:{{ .Values.prometheus.service.port }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.ignoreNamespaceSelectors }}
|
|
ignoreNamespaceSelectors: {{ .Values.prometheus.prometheusSpec.ignoreNamespaceSelectors }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.nodeSelector }}
|
|
nodeSelector:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.nodeSelector | indent 4 }}
|
|
{{- end }}
|
|
paused: {{ .Values.prometheus.prometheusSpec.paused }}
|
|
replicas: {{ .Values.prometheus.prometheusSpec.replicas }}
|
|
logLevel: {{ .Values.prometheus.prometheusSpec.logLevel }}
|
|
logFormat: {{ .Values.prometheus.prometheusSpec.logFormat }}
|
|
listenLocal: {{ .Values.prometheus.prometheusSpec.listenLocal }}
|
|
enableAdminAPI: {{ .Values.prometheus.prometheusSpec.enableAdminAPI }}
|
|
{{- if .Values.prometheus.prometheusSpec.scrapeInterval }}
|
|
scrapeInterval: {{ .Values.prometheus.prometheusSpec.scrapeInterval }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.evaluationInterval }}
|
|
evaluationInterval: {{ .Values.prometheus.prometheusSpec.evaluationInterval }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.resources }}
|
|
resources:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.resources | indent 4 }}
|
|
{{- end }}
|
|
retention: {{ .Values.prometheus.prometheusSpec.retention | quote }}
|
|
{{- if .Values.prometheus.prometheusSpec.retentionSize }}
|
|
retentionSize: {{ .Values.prometheus.prometheusSpec.retentionSize | quote }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.walCompression }}
|
|
walCompression: {{ .Values.prometheus.prometheusSpec.walCompression }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.routePrefix }}
|
|
routePrefix: {{ .Values.prometheus.prometheusSpec.routePrefix | quote }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.secrets }}
|
|
secrets:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.secrets | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.configMaps }}
|
|
configMaps:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.configMaps | indent 4 }}
|
|
{{- end }}
|
|
serviceAccountName: {{ template "kube-prometheus-stack.prometheus.serviceAccountName" . }}
|
|
{{- if .Values.prometheus.prometheusSpec.serviceMonitorSelector }}
|
|
serviceMonitorSelector:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.serviceMonitorSelector | indent 4 }}
|
|
{{ else if .Values.prometheus.prometheusSpec.serviceMonitorSelectorNilUsesHelmValues }}
|
|
serviceMonitorSelector:
|
|
matchLabels:
|
|
release: {{ $.Release.Name | quote }}
|
|
{{ else }}
|
|
serviceMonitorSelector: {}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.serviceMonitorNamespaceSelector }}
|
|
serviceMonitorNamespaceSelector:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.serviceMonitorNamespaceSelector | indent 4 }}
|
|
{{ else }}
|
|
serviceMonitorNamespaceSelector: {}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.podMonitorSelector }}
|
|
podMonitorSelector:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.podMonitorSelector | indent 4 }}
|
|
{{ else if .Values.prometheus.prometheusSpec.podMonitorSelectorNilUsesHelmValues }}
|
|
podMonitorSelector:
|
|
matchLabels:
|
|
release: {{ $.Release.Name | quote }}
|
|
{{ else }}
|
|
podMonitorSelector: {}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.podMonitorNamespaceSelector }}
|
|
podMonitorNamespaceSelector:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.podMonitorNamespaceSelector | indent 4 }}
|
|
{{ else }}
|
|
podMonitorNamespaceSelector: {}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.remoteRead }}
|
|
remoteRead:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.remoteRead | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.remoteWrite }}
|
|
remoteWrite:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.remoteWrite | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.securityContext }}
|
|
securityContext:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.securityContext | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.ruleNamespaceSelector }}
|
|
ruleNamespaceSelector:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.ruleNamespaceSelector | indent 4 }}
|
|
{{ else }}
|
|
ruleNamespaceSelector: {}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.ruleSelector }}
|
|
ruleSelector:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.ruleSelector | indent 4}}
|
|
{{- else if .Values.prometheus.prometheusSpec.ruleSelectorNilUsesHelmValues }}
|
|
ruleSelector:
|
|
matchLabels:
|
|
app: {{ template "kube-prometheus-stack.name" . }}
|
|
release: {{ $.Release.Name | quote }}
|
|
{{ else }}
|
|
ruleSelector: {}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.storageSpec }}
|
|
storage:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.storageSpec | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.podMetadata }}
|
|
podMetadata:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.podMetadata | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.query }}
|
|
query:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.query | indent 4}}
|
|
{{- end }}
|
|
{{- if or .Values.prometheus.prometheusSpec.podAntiAffinity .Values.prometheus.prometheusSpec.affinity }}
|
|
affinity:
|
|
{{- if .Values.prometheus.prometheusSpec.affinity }}
|
|
{{ toYaml .Values.prometheus.prometheusSpec.affinity | indent 4 }}
|
|
{{- end }}
|
|
{{- if eq .Values.prometheus.prometheusSpec.podAntiAffinity "hard" }}
|
|
podAntiAffinity:
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
- topologyKey: {{ .Values.prometheus.prometheusSpec.podAntiAffinityTopologyKey }}
|
|
labelSelector:
|
|
matchLabels:
|
|
app: prometheus
|
|
prometheus: {{ template "kube-prometheus-stack.fullname" . }}-prometheus
|
|
{{- else if eq .Values.prometheus.prometheusSpec.podAntiAffinity "soft" }}
|
|
podAntiAffinity:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
- weight: 100
|
|
podAffinityTerm:
|
|
topologyKey: {{ .Values.prometheus.prometheusSpec.podAntiAffinityTopologyKey }}
|
|
labelSelector:
|
|
matchLabels:
|
|
app: prometheus
|
|
prometheus: {{ template "kube-prometheus-stack.fullname" . }}-prometheus
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.tolerations }}
|
|
tolerations:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.tolerations | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.global.imagePullSecrets }}
|
|
imagePullSecrets:
|
|
{{ toYaml .Values.global.imagePullSecrets | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.additionalScrapeConfigs }}
|
|
additionalScrapeConfigs:
|
|
name: {{ template "kube-prometheus-stack.fullname" . }}-prometheus-scrape-confg
|
|
key: additional-scrape-configs.yaml
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.additionalScrapeConfigsSecret.enabled }}
|
|
additionalScrapeConfigs:
|
|
name: {{ .Values.prometheus.prometheusSpec.additionalScrapeConfigsSecret.name }}
|
|
key: {{ .Values.prometheus.prometheusSpec.additionalScrapeConfigsSecret.key }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.additionalAlertManagerConfigs }}
|
|
additionalAlertManagerConfigs:
|
|
name: {{ template "kube-prometheus-stack.fullname" . }}-prometheus-am-confg
|
|
key: additional-alertmanager-configs.yaml
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.additionalAlertRelabelConfigs }}
|
|
additionalAlertRelabelConfigs:
|
|
name: {{ template "kube-prometheus-stack.fullname" . }}-prometheus-am-relabel-confg
|
|
key: additional-alert-relabel-configs.yaml
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.containers }}
|
|
containers:
|
|
{{ tpl .Values.prometheus.prometheusSpec.containers $ | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.initContainers }}
|
|
initContainers:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.initContainers | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.priorityClassName }}
|
|
priorityClassName: {{ .Values.prometheus.prometheusSpec.priorityClassName }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.thanos }}
|
|
thanos:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.thanos | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.disableCompaction }}
|
|
disableCompaction: {{ .Values.prometheus.prometheusSpec.disableCompaction }}
|
|
{{- end }}
|
|
portName: {{ .Values.prometheus.prometheusSpec.portName }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.enforcedNamespaceLabel }}
|
|
enforcedNamespaceLabel: {{ .Values.prometheus.prometheusSpec.enforcedNamespaceLabel }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.volumes }}
|
|
volumes:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.volumes | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.prometheus.prometheusSpec.volumeMounts }}
|
|
volumeMounts:
|
|
{{ toYaml .Values.prometheus.prometheusSpec.volumeMounts | indent 4 }}
|
|
{{- end }}
|