mirror of https://git.rancher.io/charts
174 lines
8.2 KiB
YAML
174 lines
8.2 KiB
YAML
{{- if .Values.thanosRuler.enabled }}
|
|
apiVersion: monitoring.coreos.com/v1
|
|
kind: ThanosRuler
|
|
metadata:
|
|
name: {{ template "kube-prometheus-stack.thanosRuler.name" . }}
|
|
namespace: {{ template "kube-prometheus-stack.namespace" . }}
|
|
labels:
|
|
app: {{ include "kube-prometheus-stack.thanosRuler.name" . }}
|
|
{{- include "kube-prometheus-stack.labels" . | indent 4 -}}
|
|
{{- if .Values.thanosRuler.annotations }}
|
|
annotations:
|
|
{{ toYaml .Values.thanosRuler.annotations | indent 4 }}
|
|
{{- end }}
|
|
spec:
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.image }}
|
|
{{- $registry := .Values.global.imageRegistry | default .Values.thanosRuler.thanosRulerSpec.image.registry -}}
|
|
{{- if and .Values.thanosRuler.thanosRulerSpec.image.tag .Values.thanosRuler.thanosRulerSpec.image.sha }}
|
|
image: "{{ $registry }}/{{ .Values.thanosRuler.thanosRulerSpec.image.repository }}:{{ .Values.thanosRuler.thanosRulerSpec.image.tag }}@sha256:{{ .Values.thanosRuler.thanosRulerSpec.image.sha }}"
|
|
{{- else if .Values.thanosRuler.thanosRulerSpec.image.sha }}
|
|
image: "{{ $registry }}/{{ .Values.thanosRuler.thanosRulerSpec.image.repository }}@sha256:{{ .Values.thanosRuler.thanosRulerSpec.image.sha }}"
|
|
{{- else if .Values.thanosRuler.thanosRulerSpec.image.tag }}
|
|
image: "{{ $registry }}/{{ .Values.thanosRuler.thanosRulerSpec.image.repository }}:{{ .Values.thanosRuler.thanosRulerSpec.image.tag }}"
|
|
{{- else }}
|
|
image: "{{ $registry }}/{{ .Values.thanosRuler.thanosRulerSpec.image.repository }}"
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.image.sha }}
|
|
sha: {{ .Values.thanosRuler.thanosRulerSpec.image.sha }}
|
|
{{- end }}
|
|
{{- end }}
|
|
replicas: {{ .Values.thanosRuler.thanosRulerSpec.replicas }}
|
|
listenLocal: {{ .Values.thanosRuler.thanosRulerSpec.listenLocal }}
|
|
serviceAccountName: {{ template "kube-prometheus-stack.thanosRuler.serviceAccountName" . }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.externalPrefix }}
|
|
externalPrefix: "{{ tpl .Values.thanosRuler.thanosRulerSpec.externalPrefix . }}"
|
|
{{- else if and .Values.thanosRuler.ingress.enabled .Values.thanosRuler.ingress.hosts }}
|
|
externalPrefix: "http://{{ tpl (index .Values.thanosRuler.ingress.hosts 0) . }}{{ .Values.thanosRuler.thanosRulerSpec.routePrefix }}"
|
|
{{- else }}
|
|
externalPrefix: http://{{ template "kube-prometheus-stack.thanosRuler.name" . }}.{{ template "kube-prometheus-stack.namespace" . }}:{{ .Values.thanosRuler.service.port }}
|
|
{{- end }}
|
|
nodeSelector: {{ include "linux-node-selector" . | nindent 4 }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.nodeSelector }}
|
|
{{ toYaml .Values.thanosRuler.thanosRulerSpec.nodeSelector | indent 4 }}
|
|
{{- end }}
|
|
paused: {{ .Values.thanosRuler.thanosRulerSpec.paused }}
|
|
logFormat: {{ .Values.thanosRuler.thanosRulerSpec.logFormat | quote }}
|
|
logLevel: {{ .Values.thanosRuler.thanosRulerSpec.logLevel | quote }}
|
|
retention: {{ .Values.thanosRuler.thanosRulerSpec.retention | quote }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.evaluationInterval }}
|
|
evaluationInterval: {{ .Values.thanosRuler.thanosRulerSpec.evaluationInterval }}
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.ruleNamespaceSelector }}
|
|
ruleNamespaceSelector:
|
|
{{ toYaml .Values.thanosRuler.thanosRulerSpec.ruleNamespaceSelector | indent 4 }}
|
|
{{ else }}
|
|
ruleNamespaceSelector: {}
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.ruleSelector }}
|
|
ruleSelector:
|
|
{{ toYaml .Values.thanosRuler.thanosRulerSpec.ruleSelector | indent 4}}
|
|
{{- else if .Values.thanosRuler.thanosRulerSpec.ruleSelectorNilUsesHelmValues }}
|
|
ruleSelector:
|
|
matchLabels:
|
|
release: {{ $.Release.Name | quote }}
|
|
{{ else }}
|
|
ruleSelector: {}
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.alertQueryUrl }}
|
|
alertQueryUrl: "{{ .Values.thanosRuler.thanosRulerSpec.alertQueryUrl }}"
|
|
{{- end}}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.alertmanagersUrl }}
|
|
alertmanagersUrl:
|
|
{{ toYaml .Values.thanosRuler.thanosRulerSpec.alertmanagersUrl | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.alertmanagersConfig }}
|
|
alertmanagersConfig:
|
|
{{ toYaml .Values.thanosRuler.thanosRulerSpec.alertmanagersConfig | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.queryEndpoints }}
|
|
queryEndpoints:
|
|
{{ toYaml .Values.thanosRuler.thanosRulerSpec.queryEndpoints | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.queryConfig }}
|
|
queryConfig:
|
|
{{ toYaml .Values.thanosRuler.thanosRulerSpec.queryConfig | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.resources }}
|
|
resources:
|
|
{{ toYaml .Values.thanosRuler.thanosRulerSpec.resources | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.routePrefix }}
|
|
routePrefix: "{{ .Values.thanosRuler.thanosRulerSpec.routePrefix }}"
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.securityContext }}
|
|
securityContext:
|
|
{{ toYaml .Values.thanosRuler.thanosRulerSpec.securityContext | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.storage }}
|
|
storage:
|
|
{{ toYaml .Values.thanosRuler.thanosRulerSpec.storage | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.objectStorageConfig }}
|
|
objectStorageConfig:
|
|
{{ toYaml .Values.thanosRuler.thanosRulerSpec.objectStorageConfig | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.labels }}
|
|
labels:
|
|
{{ toYaml .Values.thanosRuler.thanosRulerSpec.labels | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.objectStorageConfigFile }}
|
|
objectStorageConfigFile: {{ .Values.thanosRuler.thanosRulerSpec.objectStorageConfigFile }}
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.podMetadata }}
|
|
podMetadata:
|
|
{{ toYaml .Values.thanosRuler.thanosRulerSpec.podMetadata | indent 4 }}
|
|
{{- end }}
|
|
{{- if or .Values.thanosRuler.thanosRulerSpec.podAntiAffinity .Values.thanosRuler.thanosRulerSpec.affinity }}
|
|
affinity:
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.affinity }}
|
|
{{ toYaml .Values.thanosRuler.thanosRulerSpec.affinity | indent 4 }}
|
|
{{- end }}
|
|
{{- if eq .Values.thanosRuler.thanosRulerSpec.podAntiAffinity "hard" }}
|
|
podAntiAffinity:
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
- topologyKey: {{ .Values.thanosRuler.thanosRulerSpec.podAntiAffinityTopologyKey }}
|
|
labelSelector:
|
|
matchExpressions:
|
|
- {key: app.kubernetes.io/name, operator: In, values: [thanos-ruler]}
|
|
- {key: thanos-ruler, operator: In, values: [{{ template "kube-prometheus-stack.thanosRuler.name" . }}]}
|
|
{{- else if eq .Values.thanosRuler.thanosRulerSpec.podAntiAffinity "soft" }}
|
|
podAntiAffinity:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
- weight: 100
|
|
podAffinityTerm:
|
|
topologyKey: {{ .Values.thanosRuler.thanosRulerSpec.podAntiAffinityTopologyKey }}
|
|
labelSelector:
|
|
matchExpressions:
|
|
- {key: app.kubernetes.io/name, operator: In, values: [thanos-ruler]}
|
|
- {key: thanos-ruler, operator: In, values: [{{ template "kube-prometheus-stack.thanosRuler.name" . }}]}
|
|
{{- end }}
|
|
tolerations: {{ include "linux-node-tolerations" . | nindent 4 }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.tolerations }}
|
|
{{ toYaml .Values.thanosRuler.thanosRulerSpec.tolerations | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.topologySpreadConstraints }}
|
|
topologySpreadConstraints:
|
|
{{ toYaml .Values.thanosRuler.thanosRulerSpec.topologySpreadConstraints | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.global.imagePullSecrets }}
|
|
imagePullSecrets:
|
|
{{ toYaml .Values.global.imagePullSecrets | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.containers }}
|
|
containers:
|
|
{{ toYaml .Values.thanosRuler.thanosRulerSpec.containers | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.initContainers }}
|
|
initContainers:
|
|
{{ toYaml .Values.thanosRuler.thanosRulerSpec.initContainers | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.priorityClassName }}
|
|
priorityClassName: {{.Values.thanosRuler.thanosRulerSpec.priorityClassName }}
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.volumes }}
|
|
volumes:
|
|
{{ toYaml .Values.thanosRuler.thanosRulerSpec.volumes | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.thanosRuler.thanosRulerSpec.volumeMounts }}
|
|
volumeMounts:
|
|
{{ toYaml .Values.thanosRuler.thanosRulerSpec.volumeMounts | indent 4 }}
|
|
{{- end }}
|
|
portName: {{ .Values.thanosRuler.thanosRulerSpec.portName }}
|
|
{{- end }}
|