Commit new Chart releases for TrueCharts
Signed-off-by: TrueCharts-Bot <bot@truecharts.org>
This commit is contained in:
parent
9fd4737a12
commit
19a3151d32
|
@ -0,0 +1,99 @@
|
||||||
|
---
|
||||||
|
title: Changelog
|
||||||
|
---
|
||||||
|
|
||||||
|
**Important:**
|
||||||
|
*for the complete changelog, please refer to the website*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## [prometheus-16.4.8](https://github.com/truecharts/charts/compare/prometheus-16.4.7...prometheus-16.4.8) (2024-02-12)
|
||||||
|
|
||||||
|
### Chore
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- update container image bitnami/alertmanager to 0.26.0[@537c5f5](https://github.com/537c5f5) by renovate ([#18200](https://github.com/truecharts/charts/issues/18200))
|
||||||
|
|
||||||
|
- update container image bitnami/prometheus to 2.49.1[@c382eae](https://github.com/c382eae) by renovate ([#18032](https://github.com/truecharts/charts/issues/18032))
|
||||||
|
|
||||||
|
|
||||||
|
## [prometheus-16.4.7](https://github.com/truecharts/charts/compare/prometheus-16.4.6...prometheus-16.4.7) (2024-02-12)
|
||||||
|
|
||||||
|
### Chore
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- update container image bitnami/alertmanager to 0.26.0[@130b6ff](https://github.com/130b6ff) by renovate ([#18154](https://github.com/truecharts/charts/issues/18154))
|
||||||
|
|
||||||
|
|
||||||
|
## [prometheus-16.4.6](https://github.com/truecharts/charts/compare/prometheus-16.4.5...prometheus-16.4.6) (2024-02-12)
|
||||||
|
|
||||||
|
### Chore
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- update container image bitnami/alertmanager to 0.26.0[@de8bbbd](https://github.com/de8bbbd) by renovate ([#18026](https://github.com/truecharts/charts/issues/18026))
|
||||||
|
|
||||||
|
|
||||||
|
## [prometheus-16.4.5](https://github.com/truecharts/charts/compare/prometheus-16.4.4...prometheus-16.4.5) (2024-02-05)
|
||||||
|
|
||||||
|
### Chore
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- update container image bitnami/alertmanager to 0.26.0[@d58f3c7](https://github.com/d58f3c7) by renovate ([#17812](https://github.com/truecharts/charts/issues/17812))
|
||||||
|
|
||||||
|
|
||||||
|
## [prometheus-16.4.4](https://github.com/truecharts/charts/compare/prometheus-16.4.3...prometheus-16.4.4) (2024-02-04)
|
||||||
|
|
||||||
|
|
||||||
|
## [prometheus-16.4.3](https://github.com/truecharts/charts/compare/prometheus-16.4.2...prometheus-16.4.3) (2024-02-03)
|
||||||
|
|
||||||
|
### Chore
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- update container image common to v17.2.30[@19ad5ec](https://github.com/19ad5ec) by renovate ([#17804](https://github.com/truecharts/charts/issues/17804))
|
||||||
|
|
||||||
|
|
||||||
|
## [prometheus-16.4.2](https://github.com/truecharts/charts/compare/prometheus-16.4.1...prometheus-16.4.2) (2024-02-03)
|
||||||
|
|
||||||
|
### Chore
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- update helm general non-major by renovate ([#17801](https://github.com/truecharts/charts/issues/17801))
|
||||||
|
|
||||||
|
- update container image bitnami/prometheus to 2.49.1[@0f2e8e9](https://github.com/0f2e8e9) by renovate ([#17795](https://github.com/truecharts/charts/issues/17795))
|
||||||
|
|
||||||
|
|
||||||
|
## [prometheus-16.4.1](https://github.com/truecharts/charts/compare/prometheus-16.4.0...prometheus-16.4.1) (2024-01-30)
|
||||||
|
|
||||||
|
### Chore
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- update helm chart kube-state-metrics to 6.1.15 by renovate ([#17758](https://github.com/truecharts/charts/issues/17758))
|
||||||
|
|
||||||
|
|
||||||
|
## [prometheus-16.4.0](https://github.com/truecharts/charts/compare/prometheus-16.3.9...prometheus-16.4.0) (2024-01-29)
|
||||||
|
|
||||||
|
### Chore
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- update container image quay.io/thanos/thanos to v0.34.0[@2356a5f](https://github.com/2356a5f) by renovate ([#17699](https://github.com/truecharts/charts/issues/17699))
|
||||||
|
|
||||||
|
|
||||||
|
## [prometheus-16.3.9](https://github.com/truecharts/charts/compare/prometheus-16.3.8...prometheus-16.3.9) (2024-01-29)
|
||||||
|
|
||||||
|
### Chore
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- update container image bitnami/alertmanager to 0.26.0[@243bc77](https://github.com/243bc77) by renovate ([#17578](https://github.com/truecharts/charts/issues/17578))
|
||||||
|
|
||||||
|
|
||||||
|
## [prometheus-16.3.8](https://github.com/truecharts/charts/compare/prometheus-16.3.7...prometheus-16.3.8) (2024-01-27)
|
||||||
|
|
|
@ -0,0 +1,53 @@
|
||||||
|
annotations:
|
||||||
|
max_scale_version: 23.10.2
|
||||||
|
min_scale_version: 23.10.0
|
||||||
|
truecharts.org/SCALE-support: "true"
|
||||||
|
truecharts.org/category: metrics
|
||||||
|
truecharts.org/max_helm_version: "3.14"
|
||||||
|
truecharts.org/min_helm_version: "3.12"
|
||||||
|
truecharts.org/train: enterprise
|
||||||
|
apiVersion: v2
|
||||||
|
appVersion: 2.49.1
|
||||||
|
dependencies:
|
||||||
|
- name: common
|
||||||
|
version: 17.2.30
|
||||||
|
repository: oci://tccr.io/truecharts
|
||||||
|
condition: ""
|
||||||
|
alias: ""
|
||||||
|
tags: []
|
||||||
|
import-values: []
|
||||||
|
- name: node-exporter
|
||||||
|
version: 6.1.15
|
||||||
|
repository: https://deps.truecharts.org
|
||||||
|
condition: exporters.enabled,exporters.node-exporter.enabled
|
||||||
|
alias: ""
|
||||||
|
tags: []
|
||||||
|
import-values: []
|
||||||
|
- name: kube-state-metrics
|
||||||
|
version: 6.1.15
|
||||||
|
repository: https://deps.truecharts.org
|
||||||
|
condition: exporters.enabled,exporters.kube-state-metrics.enabled
|
||||||
|
alias: ""
|
||||||
|
tags: []
|
||||||
|
import-values: []
|
||||||
|
deprecated: false
|
||||||
|
description: kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.
|
||||||
|
home: https://truecharts.org/charts/enterprise/prometheus
|
||||||
|
icon: https://truecharts.org/img/hotlink-ok/chart-icons/prometheus.png
|
||||||
|
keywords:
|
||||||
|
- metrics
|
||||||
|
kubeVersion: ">=1.24.0-0"
|
||||||
|
maintainers:
|
||||||
|
- name: TrueCharts
|
||||||
|
email: info@truecharts.org
|
||||||
|
url: https://truecharts.org
|
||||||
|
name: prometheus
|
||||||
|
sources:
|
||||||
|
- https://github.com/prometheus-community/helm-charts
|
||||||
|
- https://github.com/prometheus-operator/kube-prometheus
|
||||||
|
- https://github.com/truecharts/charts/tree/master/charts/enterprise/prometheus
|
||||||
|
- https://quay.io/thanos/thanos
|
||||||
|
- https://hub.docker.com/r/bitnami/prometheus
|
||||||
|
- https://hub.docker.com/r/bitnami/alertmanager
|
||||||
|
type: application
|
||||||
|
version: 16.4.8
|
|
@ -0,0 +1,106 @@
|
||||||
|
Business Source License 1.1
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
|
||||||
|
Licensor: The TrueCharts Project, it's owner and it's contributors
|
||||||
|
Licensed Work: The TrueCharts "Prometheus" Helm Chart
|
||||||
|
Additional Use Grant: You may use the licensed work in production, as long
|
||||||
|
as it is directly sourced from a TrueCharts provided
|
||||||
|
official repository, catalog or source. You may also make private
|
||||||
|
modification to the directly sourced licenced work,
|
||||||
|
when used in production.
|
||||||
|
|
||||||
|
The following cases are, due to their nature, also
|
||||||
|
defined as 'production use' and explicitly prohibited:
|
||||||
|
- Bundling, including or displaying the licensed work
|
||||||
|
with(in) another work intended for production use,
|
||||||
|
with the apparent intend of facilitating and/or
|
||||||
|
promoting production use by third parties in
|
||||||
|
violation of this license.
|
||||||
|
|
||||||
|
Change Date: 2050-01-01
|
||||||
|
|
||||||
|
Change License: 3-clause BSD license
|
||||||
|
|
||||||
|
For information about alternative licensing arrangements for the Software,
|
||||||
|
please contact: legal@truecharts.org
|
||||||
|
|
||||||
|
Notice
|
||||||
|
|
||||||
|
The Business Source License (this document, or the “License”) is not an Open
|
||||||
|
Source license. However, the Licensed Work will eventually be made available
|
||||||
|
under an Open Source License, as stated in this License.
|
||||||
|
|
||||||
|
License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
|
||||||
|
“Business Source License” is a trademark of MariaDB Corporation Ab.
|
||||||
|
|
||||||
|
-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Business Source License 1.1
|
||||||
|
|
||||||
|
Terms
|
||||||
|
|
||||||
|
The Licensor hereby grants you the right to copy, modify, create derivative
|
||||||
|
works, redistribute, and make non-production use of the Licensed Work. The
|
||||||
|
Licensor may make an Additional Use Grant, above, permitting limited
|
||||||
|
production use.
|
||||||
|
|
||||||
|
Effective on the Change Date, or the fourth anniversary of the first publicly
|
||||||
|
available distribution of a specific version of the Licensed Work under this
|
||||||
|
License, whichever comes first, the Licensor hereby grants you rights under
|
||||||
|
the terms of the Change License, and the rights granted in the paragraph
|
||||||
|
above terminate.
|
||||||
|
|
||||||
|
If your use of the Licensed Work does not comply with the requirements
|
||||||
|
currently in effect as described in this License, you must purchase a
|
||||||
|
commercial license from the Licensor, its affiliated entities, or authorized
|
||||||
|
resellers, or you must refrain from using the Licensed Work.
|
||||||
|
|
||||||
|
All copies of the original and modified Licensed Work, and derivative works
|
||||||
|
of the Licensed Work, are subject to this License. This License applies
|
||||||
|
separately for each version of the Licensed Work and the Change Date may vary
|
||||||
|
for each version of the Licensed Work released by Licensor.
|
||||||
|
|
||||||
|
You must conspicuously display this License on each original or modified copy
|
||||||
|
of the Licensed Work. If you receive the Licensed Work in original or
|
||||||
|
modified form from a third party, the terms and conditions set forth in this
|
||||||
|
License apply to your use of that work.
|
||||||
|
|
||||||
|
Any use of the Licensed Work in violation of this License will automatically
|
||||||
|
terminate your rights under this License for the current and all other
|
||||||
|
versions of the Licensed Work.
|
||||||
|
|
||||||
|
This License does not grant you any right in any trademark or logo of
|
||||||
|
Licensor or its affiliates (provided that you may use a trademark or logo of
|
||||||
|
Licensor as expressly required by this License).
|
||||||
|
|
||||||
|
TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
|
||||||
|
AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
|
||||||
|
TITLE.
|
||||||
|
|
||||||
|
MariaDB hereby grants you permission to use this License’s text to license
|
||||||
|
your works, and to refer to it using the trademark “Business Source License”,
|
||||||
|
as long as you comply with the Covenants of Licensor below.
|
||||||
|
|
||||||
|
Covenants of Licensor
|
||||||
|
|
||||||
|
In consideration of the right to use this License’s text and the “Business
|
||||||
|
Source License” name and trademark, Licensor covenants to MariaDB, and to all
|
||||||
|
other recipients of the licensed work to be provided by Licensor:
|
||||||
|
|
||||||
|
1. To specify as the Change License the GPL Version 2.0 or any later version,
|
||||||
|
or a license that is compatible with GPL Version 2.0 or a later version,
|
||||||
|
where “compatible” means that software provided under the Change License can
|
||||||
|
be included in a program with software provided under GPL Version 2.0 or a
|
||||||
|
later version. Licensor may specify additional Change Licenses without
|
||||||
|
limitation.
|
||||||
|
|
||||||
|
2. To either: (a) specify an additional grant of rights to use that does not
|
||||||
|
impose any additional restriction on the right granted in this License, as
|
||||||
|
the Additional Use Grant; or (b) insert the text “None”.
|
||||||
|
|
||||||
|
3. To specify a Change Date.
|
||||||
|
|
||||||
|
4. Not to modify this License in any other way.
|
|
@ -0,0 +1,28 @@
|
||||||
|
---
|
||||||
|
title: README
|
||||||
|
---
|
||||||
|
|
||||||
|
## General Info
|
||||||
|
|
||||||
|
TrueCharts can be installed as both _normal_ Helm Charts or as Apps on TrueNAS SCALE.
|
||||||
|
However only installations using the TrueNAS SCALE Apps system are supported.
|
||||||
|
|
||||||
|
For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/enterprise/prometheus)
|
||||||
|
|
||||||
|
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
|
||||||
|
|
||||||
|
## Support
|
||||||
|
|
||||||
|
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE/guides/scale-intro).
|
||||||
|
- See the [Website](https://truecharts.org)
|
||||||
|
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||||
|
- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Sponsor TrueCharts
|
||||||
|
|
||||||
|
TrueCharts can only exist due to the incredible effort of our staff.
|
||||||
|
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
|
||||||
|
|
||||||
|
_All Rights Reserved - The TrueCharts Project_
|
|
@ -0,0 +1,11 @@
|
||||||
|
|
||||||
|
|
||||||
|
## [prometheus-16.4.8](https://github.com/truecharts/charts/compare/prometheus-16.4.7...prometheus-16.4.8) (2024-02-12)
|
||||||
|
|
||||||
|
### Chore
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- update container image bitnami/alertmanager to 0.26.0[@537c5f5](https://github.com/537c5f5) by renovate ([#18200](https://github.com/truecharts/charts/issues/18200))
|
||||||
|
|
||||||
|
- update container image bitnami/prometheus to 2.49.1[@c382eae](https://github.com/c382eae) by renovate ([#18032](https://github.com/truecharts/charts/issues/18032))
|
|
@ -0,0 +1,8 @@
|
||||||
|
kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.
|
||||||
|
|
||||||
|
This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/enterprise/prometheus](https://truecharts.org/charts/enterprise/prometheus)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
TrueCharts can only exist due to the incredible effort of our staff.
|
||||||
|
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1 @@
|
||||||
|
{{- include "tc.v1.common.lib.chart.notes" $ -}}
|
|
@ -0,0 +1,210 @@
|
||||||
|
{{/* Name suffixed with operator */}}
|
||||||
|
{{- define "kube-prometheus.fullname" -}}
|
||||||
|
{{- printf "%s" (include "tc.v1.common.lib.chart.names.fullname" . ) -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/* Name suffixed with operator */}}
|
||||||
|
{{- define "kube-prometheus.name" -}}
|
||||||
|
{{- printf "%s" (include "tc.v1.common.lib.chart.names.fullname" . ) -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/* Name suffixed with operator */}}
|
||||||
|
{{- define "kube-prometheus.operator.name" -}}
|
||||||
|
{{- printf "%s-operator" (include "tc.v1.common.lib.chart.names.fullname" . ) -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/* Name suffixed with prometheus */}}
|
||||||
|
{{- define "kube-prometheus.prometheus.name" -}}
|
||||||
|
{{- printf "%s-prometheus" (include "tc.v1.common.lib.chart.names.fullname" . ) -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/* Name suffixed with alertmanager */}}
|
||||||
|
{{- define "kube-prometheus.alertmanager.name" -}}
|
||||||
|
{{- printf "%s-alertmanager" (include "tc.v1.common.lib.chart.names.fullname" . ) -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/* Name suffixed with thanos */}}
|
||||||
|
{{- define "kube-prometheus.thanos.name" -}}
|
||||||
|
{{- printf "%s-thanos" (include "tc.v1.common.lib.chart.names.fullname" . ) -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/* Fullname suffixed with operator */}}
|
||||||
|
{{- define "kube-prometheus.operator.fullname" -}}
|
||||||
|
{{- printf "%s-operator" (include "tc.v1.common.lib.chart.names.fullname" . ) -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/* Fullname suffixed with prometheus */}}
|
||||||
|
{{- define "kube-prometheus.prometheus.fullname" -}}
|
||||||
|
{{- printf "%s-prometheus" (include "tc.v1.common.lib.chart.names.fullname" . ) -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/* Fullname suffixed with alertmanager */}}
|
||||||
|
{{- define "kube-prometheus.alertmanager.fullname" -}}
|
||||||
|
{{- printf "%s-alertmanager" (include "tc.v1.common.lib.chart.names.fullname" . ) -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/* Fullname suffixed with thanos */}}
|
||||||
|
{{- define "kube-prometheus.thanos.fullname" -}}
|
||||||
|
{{- printf "%s-thanos" (include "kube-prometheus.prometheus.fullname" .) -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- define "kube-prometheus.chart" -}}
|
||||||
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Common Labels
|
||||||
|
*/}}
|
||||||
|
{{- define "kube-prometheus.labels" -}}
|
||||||
|
{{- $labels := (include "tc.v1.common.lib.metadata.allLabels" $ | fromYaml) -}}
|
||||||
|
{{- with (include "tc.v1.common.lib.metadata.render" (dict "rootCtx" $ "labels" $labels) | trim) }}
|
||||||
|
{{- . | nindent 0 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.global.labels }}
|
||||||
|
{{ toYaml .Values.global.labels }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Labels for operator
|
||||||
|
*/}}
|
||||||
|
{{- define "kube-prometheus.operator.labels" -}}
|
||||||
|
{{- $labels := (include "tc.v1.common.lib.metadata.allLabels" $ | fromYaml) -}}
|
||||||
|
{{- with (include "tc.v1.common.lib.metadata.render" (dict "rootCtx" $ "labels" $labels) | trim) }}
|
||||||
|
{{- . | nindent 0 }}
|
||||||
|
{{- end }}
|
||||||
|
app.kubernetes.io/component: operator
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Labels for prometheus
|
||||||
|
*/}}
|
||||||
|
{{- define "kube-prometheus.prometheus.labels" -}}
|
||||||
|
{{- $labels := (include "tc.v1.common.lib.metadata.allLabels" $ | fromYaml) -}}
|
||||||
|
{{- with (include "tc.v1.common.lib.metadata.render" (dict "rootCtx" $ "labels" $labels) | trim) }}
|
||||||
|
{{- . | nindent 0 }}
|
||||||
|
{{- end }}
|
||||||
|
app.kubernetes.io/component: prometheus
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Labels for alertmanager
|
||||||
|
*/}}
|
||||||
|
{{- define "kube-prometheus.alertmanager.labels" -}}
|
||||||
|
{{- $labels := (include "tc.v1.common.lib.metadata.allLabels" $ | fromYaml) -}}
|
||||||
|
{{- with (include "tc.v1.common.lib.metadata.render" (dict "rootCtx" $ "labels" $labels) | trim) }}
|
||||||
|
{{- . | nindent 0 }}
|
||||||
|
{{- end }}
|
||||||
|
app.kubernetes.io/component: alertmanager
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
matchLabels for operator
|
||||||
|
*/}}
|
||||||
|
{{- define "kube-prometheus.operator.matchLabels" -}}
|
||||||
|
{{ include "tc.v1.common.lib.metadata.selectorLabels" (dict "rootCtx" $ )}}
|
||||||
|
app.kubernetes.io/component: operator
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
matchLabels for prometheus
|
||||||
|
*/}}
|
||||||
|
{{- define "kube-prometheus.prometheus.matchLabels" -}}
|
||||||
|
{{ include "tc.v1.common.lib.metadata.selectorLabels" (dict "rootCtx" $ )}}
|
||||||
|
app.kubernetes.io/component: prometheus
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
matchLabels for alertmanager
|
||||||
|
*/}}
|
||||||
|
{{- define "kube-prometheus.alertmanager.matchLabels" -}}
|
||||||
|
{{ include "tc.v1.common.lib.metadata.selectorLabels" (dict "rootCtx" $ )}}
|
||||||
|
app.kubernetes.io/component: alertmanager
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Return the proper Prometheus Operator image name
|
||||||
|
*/}}
|
||||||
|
{{- define "kube-prometheus.image" -}}
|
||||||
|
{{ printf "%s:%s" .Values.image.repository (default .Chart.AppVersion .Values.image.tag) | quote }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Return the proper Prometheus Operator Reloader image name
|
||||||
|
*/}}
|
||||||
|
{{- define "kube-prometheus.prometheusConfigReloader.image" -}}
|
||||||
|
{{- include "kube-prometheus.image" . -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Return the proper Prometheus Image name
|
||||||
|
*/}}
|
||||||
|
{{- define "kube-prometheus.prometheus.image" -}}
|
||||||
|
{{ printf "%s:%s" .Values.image.repository (default .Chart.AppVersion .Values.image.tag) | quote }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Return the proper Thanos Image name
|
||||||
|
*/}}
|
||||||
|
{{- define "kube-prometheus.prometheus.thanosImage" -}}
|
||||||
|
{{ printf "%s:%s" .Values.thanosImage.repository (default .Chart.AppVersion .Values.thanosImage.tag) | quote }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Return the proper Alertmanager Image name
|
||||||
|
*/}}
|
||||||
|
{{- define "kube-prometheus.alertmanager.image" -}}
|
||||||
|
{{ printf "%s:%s" .Values.alertmanagerImage.repository (default .Chart.AppVersion .Values.alertmanagerImage.tag) | quote }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Return the proper Docker Image Registry Secret Names
|
||||||
|
*/}}
|
||||||
|
{{- define "kube-prometheus.imagePullSecrets" -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create the name of the operator service account to use
|
||||||
|
*/}}
|
||||||
|
{{- define "kube-prometheus.operator.serviceAccountName" -}}
|
||||||
|
{{- if .Values.operator.serviceAccount.create -}}
|
||||||
|
{{ default (include "kube-prometheus.operator.fullname" .) .Values.operator.serviceAccount.name }}
|
||||||
|
{{- else -}}
|
||||||
|
{{ default "default" .Values.operator.serviceAccount.name }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create the name of the prometheus service account to use
|
||||||
|
*/}}
|
||||||
|
{{- define "kube-prometheus.prometheus.serviceAccountName" -}}
|
||||||
|
{{- if .Values.prometheus.serviceAccount.create -}}
|
||||||
|
{{ default (include "kube-prometheus.prometheus.fullname" .) .Values.prometheus.serviceAccount.name }}
|
||||||
|
{{- else -}}
|
||||||
|
{{ default "default" .Values.prometheus.serviceAccount.name }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create the name of the alertmanager service account to use
|
||||||
|
*/}}
|
||||||
|
{{- define "kube-prometheus.alertmanager.serviceAccountName" -}}
|
||||||
|
{{- if .Values.alertmanager.serviceAccount.create -}}
|
||||||
|
{{ default (include "kube-prometheus.alertmanager.fullname" .) .Values.alertmanager.serviceAccount.name }}
|
||||||
|
{{- else -}}
|
||||||
|
{{ default "default" .Values.alertmanager.serviceAccount.name }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Compile all warnings into a single message, and call fail.
|
||||||
|
*/}}
|
||||||
|
{{- define "kube-prometheus.validateValues" -}}
|
||||||
|
{{- $messages := list -}}
|
||||||
|
{{- $messages := without $messages "" -}}
|
||||||
|
{{- $message := join "\n" $messages -}}
|
||||||
|
|
||||||
|
{{- if $message -}}
|
||||||
|
{{- printf "\nVALUES VALIDATION:\n%s" $message | fail -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
|
@ -0,0 +1,174 @@
|
||||||
|
{{- define "prometheus.alertmanager.alertmanager" -}}
|
||||||
|
{{- if .Values.alertmanager.enabled }}
|
||||||
|
---
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: Alertmanager
|
||||||
|
metadata:
|
||||||
|
name: {{ template "kube-prometheus.alertmanager.fullname" . }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
replicas: {{ .Values.alertmanager.replicaCount }}
|
||||||
|
serviceAccountName: {{ template "kube-prometheus.alertmanager.serviceAccountName" . }}
|
||||||
|
{{- if .Values.alertmanager.image }}
|
||||||
|
image: {{ template "kube-prometheus.alertmanager.image" . }}
|
||||||
|
{{- end }}
|
||||||
|
listenLocal: {{ .Values.alertmanager.listenLocal }}
|
||||||
|
{{- if index .Values.alertmanager "externalUrl" }}
|
||||||
|
externalUrl: "{{ .Values.alertmanager.externalUrl }}"
|
||||||
|
{{- else if and .Values.ingress.alertmanager.enabled .Values.ingress.alertmanager.hosts }}
|
||||||
|
externalUrl: {{ if .Values.ingress.alertmanager.tls }}https{{else}}http{{ end }}://{{ (index .Values.ingress.alertmanager.hosts 0).name }}{{ .Values.alertmanager.routePrefix }}
|
||||||
|
{{- else }}
|
||||||
|
externalUrl: http://{{ template "kube-prometheus.alertmanager.fullname" . }}.{{ .Release.Namespace }}:{{ .Values.service.alertmanager.ports.alertmanager.port }}{{ .Values.alertmanager.routePrefix }}
|
||||||
|
{{- end }}
|
||||||
|
portName: "{{ .Values.alertmanager.portName }}"
|
||||||
|
paused: {{ .Values.alertmanager.paused }}
|
||||||
|
logFormat: {{ .Values.alertmanager.logFormat }}
|
||||||
|
logLevel: {{ .Values.alertmanager.logLevel }}
|
||||||
|
retention: {{ .Values.alertmanager.retention }}
|
||||||
|
{{- if .Values.alertmanager.secrets }}
|
||||||
|
secrets: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.secrets "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.configMaps }}
|
||||||
|
configMaps: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.configMaps "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
resources: {{- toYaml .Values.alertmanager.resources | nindent 4 }}
|
||||||
|
routePrefix: "{{ .Values.alertmanager.routePrefix }}"
|
||||||
|
{{- if .Values.alertmanager.podSecurityContext.enabled }}
|
||||||
|
securityContext: {{- omit .Values.alertmanager.podSecurityContext "enabled" | toYaml | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.storageSpec }}
|
||||||
|
storage: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.storageSpec "context" $) | nindent 4 }}
|
||||||
|
{{- else }}
|
||||||
|
{{- if .Values.alertmanager.persistence.enabled }}
|
||||||
|
storage:
|
||||||
|
volumeClaimTemplate:
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
{{- range .Values.alertmanager.persistence.accessModes }}
|
||||||
|
- {{ . | quote }}
|
||||||
|
{{- end }}
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: {{ .Values.alertmanager.persistence.size | quote }}
|
||||||
|
{{- with (include "tc.v1.common.lib.storage.storageClassName" ( dict "rootCtx" . "objectData" .Values.prometheus.persistence )) | trim }}
|
||||||
|
storageClassName: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if or .Values.alertmanager.podMetadata.labels .Values.alertmanager.podMetadata.annotations (eq .Values.alertmanager.podAntiAffinityPreset "soft") (eq .Values.alertmanager.podAntiAffinityPreset "hard") }}
|
||||||
|
podMetadata:
|
||||||
|
labels:
|
||||||
|
{{- if .Values.alertmanager.podMetadata.labels }}
|
||||||
|
{{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.podMetadata.labels "context" $) | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if or (eq .Values.alertmanager.podAntiAffinityPreset "soft") (eq .Values.alertmanager.podAntiAffinityPreset "hard") }}
|
||||||
|
{{- include "kube-prometheus.alertmanager.matchLabels" . | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.podMetadata.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.podMetadata.annotations "context" $) | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.affinity }}
|
||||||
|
affinity: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.affinity "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.nodeSelector }}
|
||||||
|
nodeSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.nodeSelector "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.tolerations }}
|
||||||
|
tolerations: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.tolerations "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.volumes }}
|
||||||
|
volumes: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.volumes "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.volumeMounts }}
|
||||||
|
volumeMounts: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.volumeMounts "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- include "kube-prometheus.imagePullSecrets" . | indent 2 }}
|
||||||
|
{{- if or .Values.alertmanager.containers .Values.alertmanager.containerSecurityContext.enabled .Values.operator.prometheusConfigReloader.containerSecurityContext.enabled }}
|
||||||
|
containers:
|
||||||
|
{{- if or .Values.alertmanager.containerSecurityContext.enabled .Values.alertmanager.livenessProbe.enabled .Values.alertmanager.readinessProbe.enabled }}
|
||||||
|
## This monkey patching is needed until the securityContexts are
|
||||||
|
## directly patchable via the CRD.
|
||||||
|
## ref: https://github.com/prometheus-operator/prometheus-operator/issues/3947
|
||||||
|
## currently implemented with strategic merge
|
||||||
|
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/strategic-merge-patch.md
|
||||||
|
- name: alertmanager
|
||||||
|
{{- if .Values.alertmanager.containerSecurityContext.enabled }}
|
||||||
|
securityContext: {{- omit .Values.alertmanager.containerSecurityContext "enabled" | toYaml | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.livenessProbe.enabled }}
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: {{ .Values.alertmanager.livenessProbe.path }}
|
||||||
|
port: alertmanager
|
||||||
|
scheme: HTTP
|
||||||
|
initialDelaySeconds: {{ .Values.alertmanager.livenessProbe.initialDelaySeconds }}
|
||||||
|
periodSeconds: {{ .Values.alertmanager.livenessProbe.periodSeconds }}
|
||||||
|
timeoutSeconds: {{ .Values.alertmanager.livenessProbe.timeoutSeconds }}
|
||||||
|
failureThreshold: {{ .Values.alertmanager.livenessProbe.failureThreshold }}
|
||||||
|
successThreshold: {{ .Values.alertmanager.livenessProbe.successThreshold }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.readinessProbe.enabled }}
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: {{ .Values.alertmanager.readinessProbe.path }}
|
||||||
|
port: alertmanager
|
||||||
|
scheme: HTTP
|
||||||
|
initialDelaySeconds: {{ .Values.alertmanager.readinessProbe.initialDelaySeconds }}
|
||||||
|
periodSeconds: {{ .Values.alertmanager.readinessProbe.periodSeconds }}
|
||||||
|
timeoutSeconds: {{ .Values.alertmanager.readinessProbe.timeoutSeconds }}
|
||||||
|
failureThreshold: {{ .Values.alertmanager.readinessProbe.failureThreshold }}
|
||||||
|
successThreshold: {{ .Values.alertmanager.readinessProbe.successThreshold }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if or .Values.operator.prometheusConfigReloader.containerSecurityContext.enabled .Values.operator.prometheusConfigReloader.livenessProbe.enabled .Values.operator.prometheusConfigReloader.readinessProbe.enabled }}
|
||||||
|
## This monkey patching is needed until the securityContexts are
|
||||||
|
## directly patchable via the CRD.
|
||||||
|
## ref: https://github.com/prometheus-operator/prometheus-operator/issues/3947
|
||||||
|
## currently implemented with strategic merge
|
||||||
|
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/strategic-merge-patch.md
|
||||||
|
- name: config-reloader
|
||||||
|
{{- if .Values.operator.prometheusConfigReloader.containerSecurityContext.enabled }}
|
||||||
|
securityContext: {{- omit .Values.operator.prometheusConfigReloader.containerSecurityContext "enabled" | toYaml | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.operator.prometheusConfigReloader.livenessProbe.enabled }}
|
||||||
|
livenessProbe:
|
||||||
|
tcpSocket:
|
||||||
|
port: reloader-web
|
||||||
|
initialDelaySeconds: {{ .Values.operator.prometheusConfigReloader.livenessProbe.initialDelaySeconds }}
|
||||||
|
periodSeconds: {{ .Values.operator.prometheusConfigReloader.livenessProbe.periodSeconds }}
|
||||||
|
timeoutSeconds: {{ .Values.operator.prometheusConfigReloader.livenessProbe.timeoutSeconds }}
|
||||||
|
failureThreshold: {{ .Values.operator.prometheusConfigReloader.livenessProbe.failureThreshold }}
|
||||||
|
successThreshold: {{ .Values.operator.prometheusConfigReloader.livenessProbe.successThreshold }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.operator.prometheusConfigReloader.readinessProbe.enabled }}
|
||||||
|
readinessProbe:
|
||||||
|
tcpSocket:
|
||||||
|
port: reloader-web
|
||||||
|
initialDelaySeconds: {{ .Values.operator.prometheusConfigReloader.readinessProbe.initialDelaySeconds }}
|
||||||
|
periodSeconds: {{ .Values.operator.prometheusConfigReloader.readinessProbe.periodSeconds }}
|
||||||
|
timeoutSeconds: {{ .Values.operator.prometheusConfigReloader.readinessProbe.timeoutSeconds }}
|
||||||
|
failureThreshold: {{ .Values.operator.prometheusConfigReloader.readinessProbe.failureThreshold }}
|
||||||
|
successThreshold: {{ .Values.operator.prometheusConfigReloader.readinessProbe.successThreshold }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.containers }}
|
||||||
|
{{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.containers "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.priorityClassName }}
|
||||||
|
priorityClassName: {{ .Values.alertmanager.priorityClassName }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.additionalPeers }}
|
||||||
|
additionalPeers: {{ .Values.alertmanager.additionalPeers }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.configNamespaceSelector }}
|
||||||
|
alertmanagerConfigNamespaceSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.configNamespaceSelector "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.configSelector }}
|
||||||
|
alertmanagerConfigSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.configSelector "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,13 @@
|
||||||
|
{{- if (and .Values.alertmanager.enabled (not .Values.alertmanager.externalConfig) ) }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: alertmanager-{{ template "kube-prometheus.alertmanager.fullname" . }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }}
|
||||||
|
data:
|
||||||
|
alertmanager.yaml: {{ toYaml .Values.alertmanager.config | b64enc | quote }}
|
||||||
|
{{- range $key, $val := .Values.alertmanager.templateFiles }}
|
||||||
|
{{ $key }}: {{ $val | b64enc | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,12 @@
|
||||||
|
{{- if and .Values.alertmanager.enabled .Values.alertmanager.serviceAccount.create }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: {{ template "kube-prometheus.alertmanager.serviceAccountName" . }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }}
|
||||||
|
{{- if index .Values.alertmanager.serviceAccount "annotations" }}
|
||||||
|
annotations: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.serviceAccount.annotations "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- include "kube-prometheus.imagePullSecrets" . }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,26 @@
|
||||||
|
{{- if and .Values.alertmanager.enabled .Values.alertmanager.serviceMonitor.enabled }}
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: {{ template "kube-prometheus.alertmanager.fullname" . }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels: {{- include "kube-prometheus.alertmanager.matchLabels" . | nindent 6 }}
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- {{ .Release.Namespace }}
|
||||||
|
endpoints:
|
||||||
|
- port: http
|
||||||
|
{{- if .Values.alertmanager.serviceMonitor.interval }}
|
||||||
|
interval: {{ .Values.alertmanager.serviceMonitor.interval }}
|
||||||
|
{{- end }}
|
||||||
|
path: {{ trimSuffix "/" .Values.alertmanager.routePrefix }}/metrics
|
||||||
|
{{- if .Values.alertmanager.serviceMonitor.metricRelabelings }}
|
||||||
|
metricRelabelings: {{- include "tc.v1.common.tplvalues.render" ( dict "value" .Values.alertmanager.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.serviceMonitor.relabelings }}
|
||||||
|
relabelings: {{- toYaml .Values.alertmanager.serviceMonitor.relabelings | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,13 @@
|
||||||
|
{{/* Make sure all variables are set properly */}}
|
||||||
|
{{- include "tc.v1.common.loader.init" . }}
|
||||||
|
|
||||||
|
{{- include "prometheus.prometheus.prometheus" . }}
|
||||||
|
{{- include "prometheus.prometheus.additionalprometheusrules" . }}
|
||||||
|
{{- include "prometheus.prometheus.additionalscrapejobs" . }}
|
||||||
|
{{- include "prometheus.prometheus.servicemonitor" . }}
|
||||||
|
|
||||||
|
{{- include "prometheus.alertmanager.alertmanager" . }}
|
||||||
|
|
||||||
|
|
||||||
|
{{/* Render the templates */}}
|
||||||
|
{{ include "tc.v1.common.loader.apply" . }}
|
|
@ -0,0 +1,22 @@
|
||||||
|
{{- if and .Values.coreDns.enabled .Values.coreDns.service.enabled }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: {{ template "kube-prometheus.fullname" . }}-coredns
|
||||||
|
namespace: {{ .Values.coreDns.namespace }}
|
||||||
|
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
|
||||||
|
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-coredns
|
||||||
|
spec:
|
||||||
|
clusterIP: None
|
||||||
|
ports:
|
||||||
|
- name: http-metrics
|
||||||
|
port: {{ .Values.coreDns.service.port }}
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: {{ .Values.coreDns.service.targetPort }}
|
||||||
|
selector:
|
||||||
|
{{- if .Values.coreDns.service.selector }}
|
||||||
|
{{ toYaml .Values.coreDns.service.selector | indent 4 }}
|
||||||
|
{{- else}}
|
||||||
|
k8s-app: kube-dns
|
||||||
|
{{- end}}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,29 @@
|
||||||
|
{{- if .Values.coreDns.enabled }}
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: {{ template "kube-prometheus.fullname" . }}-coredns
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
|
||||||
|
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-coredns
|
||||||
|
spec:
|
||||||
|
jobLabel: k8s-app
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-coredns
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- {{ .Values.coreDns.namespace }}
|
||||||
|
endpoints:
|
||||||
|
- port: http-metrics
|
||||||
|
{{- if .Values.coreDns.serviceMonitor.interval}}
|
||||||
|
interval: {{ .Values.coreDns.serviceMonitor.interval }}
|
||||||
|
{{- end }}
|
||||||
|
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||||||
|
{{- if .Values.coreDns.serviceMonitor.metricRelabelings }}
|
||||||
|
metricRelabelings: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.coreDns.serviceMonitor.metricRelabelings "context" $) | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.coreDns.serviceMonitor.relabelings }}
|
||||||
|
relabelings: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.coreDns.serviceMonitor.relabelings "context" $) | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,35 @@
|
||||||
|
{{- if .Values.kubeApiServer.enabled }}
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: {{ template "kube-prometheus.fullname" . }}-apiserver
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
|
||||||
|
app.kubernetes.io/component: apiserver
|
||||||
|
spec:
|
||||||
|
jobLabel: component
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
component: apiserver
|
||||||
|
provider: kubernetes
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- default
|
||||||
|
endpoints:
|
||||||
|
- port: https
|
||||||
|
scheme: https
|
||||||
|
tlsConfig:
|
||||||
|
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||||||
|
serverName: kubernetes
|
||||||
|
insecureSkipVerify: true
|
||||||
|
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||||||
|
{{- if .Values.kubeApiServer.serviceMonitor.interval }}
|
||||||
|
interval: {{ .Values.kubeApiServer.serviceMonitor.interval }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.kubeApiServer.serviceMonitor.metricRelabelings }}
|
||||||
|
metricRelabelings: {{- include "tc.v1.common.tplvalues.render" ( dict "value" .Values.kubeApiServer.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.kubeApiServer.serviceMonitor.relabelings }}
|
||||||
|
relabelings: {{- toYaml .Values.kubeApiServer.serviceMonitor.relabelings | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,18 @@
|
||||||
|
{{- if and .Values.kubeControllerManager.enabled .Values.kubeControllerManager.endpoints }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Endpoints
|
||||||
|
metadata:
|
||||||
|
name: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager
|
||||||
|
namespace: {{ .Values.kubeControllerManager.namespace }}
|
||||||
|
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
|
||||||
|
app.kubernetes.io/component: kube-controller-manager
|
||||||
|
subsets:
|
||||||
|
- addresses:
|
||||||
|
{{- range .Values.kubeControllerManager.endpoints }}
|
||||||
|
- ip: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
ports:
|
||||||
|
- name: http-metrics
|
||||||
|
port: {{ .Values.kubeControllerManager.service.port }}
|
||||||
|
protocol: TCP
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,25 @@
|
||||||
|
{{- if and .Values.kubeControllerManager.enabled .Values.kubeControllerManager.service.enabled }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager
|
||||||
|
namespace: {{ .Values.kubeControllerManager.namespace }}
|
||||||
|
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
|
||||||
|
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager
|
||||||
|
spec:
|
||||||
|
clusterIP: None
|
||||||
|
ports:
|
||||||
|
- name: http-metrics
|
||||||
|
port: {{ .Values.kubeControllerManager.service.port }}
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: {{ .Values.kubeControllerManager.service.targetPort }}
|
||||||
|
{{- if .Values.kubeControllerManager.endpoints }}{{- else }}
|
||||||
|
selector:
|
||||||
|
{{- if .Values.kubeControllerManager.service.selector }}
|
||||||
|
{{ toYaml .Values.kubeControllerManager.service.selector | indent 4 }}
|
||||||
|
{{- else}}
|
||||||
|
component: kube-controller-manager
|
||||||
|
{{- end}}
|
||||||
|
{{- end }}
|
||||||
|
type: ClusterIP
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,40 @@
|
||||||
|
{{- if .Values.kubeControllerManager.enabled }}
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
|
||||||
|
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager
|
||||||
|
spec:
|
||||||
|
jobLabel: component
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- {{ .Values.kubeControllerManager.namespace }}
|
||||||
|
endpoints:
|
||||||
|
- port: http-metrics
|
||||||
|
{{- if .Values.kubeControllerManager.serviceMonitor.interval }}
|
||||||
|
interval: {{ .Values.kubeControllerManager.serviceMonitor.interval }}
|
||||||
|
{{- end }}
|
||||||
|
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||||||
|
{{- if .Values.kubeControllerManager.serviceMonitor.https }}
|
||||||
|
scheme: https
|
||||||
|
tlsConfig:
|
||||||
|
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||||||
|
{{- if .Values.kubeControllerManager.serviceMonitor.insecureSkipVerify }}
|
||||||
|
insecureSkipVerify: {{ .Values.kubeControllerManager.serviceMonitor.insecureSkipVerify }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.kubeControllerManager.serviceMonitor.serverName }}
|
||||||
|
serverName: {{ .Values.kubeControllerManager.serviceMonitor.serverName }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.kubeControllerManager.serviceMonitor.metricRelabelings }}
|
||||||
|
metricRelabelings: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.kubeControllerManager.serviceMonitor.metricRelabelings "context" $) | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.kubeControllerManager.serviceMonitor.relabelings }}
|
||||||
|
relabelings: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.kubeControllerManager.serviceMonitor.relabelings "context" $) | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,18 @@
|
||||||
|
{{- if and .Values.kubeScheduler.enabled .Values.kubeScheduler.endpoints }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Endpoints
|
||||||
|
metadata:
|
||||||
|
name: {{ template "kube-prometheus.fullname" . }}-kube-scheduler
|
||||||
|
namespace: {{ .Values.kubeScheduler.namespace }}
|
||||||
|
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
|
||||||
|
app.kubernetes.io/component: kube-scheduler
|
||||||
|
subsets:
|
||||||
|
- addresses:
|
||||||
|
{{- range .Values.kubeScheduler.endpoints }}
|
||||||
|
- ip: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
ports:
|
||||||
|
- name: http-metrics
|
||||||
|
port: {{ .Values.kubeScheduler.service.port }}
|
||||||
|
protocol: TCP
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,25 @@
|
||||||
|
{{- if and .Values.kubeScheduler.enabled .Values.kubeScheduler.service.enabled }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: {{ template "kube-prometheus.fullname" . }}-kube-scheduler
|
||||||
|
namespace: {{ .Values.kubeScheduler.namespace }}
|
||||||
|
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
|
||||||
|
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-scheduler
|
||||||
|
spec:
|
||||||
|
clusterIP: None
|
||||||
|
ports:
|
||||||
|
- name: http-metrics
|
||||||
|
port: {{ .Values.kubeScheduler.service.port}}
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: {{ .Values.kubeScheduler.service.targetPort}}
|
||||||
|
{{- if .Values.kubeScheduler.endpoints }}{{- else }}
|
||||||
|
selector:
|
||||||
|
{{- if .Values.kubeScheduler.service.selector }}
|
||||||
|
{{ toYaml .Values.kubeScheduler.service.selector | indent 4 }}
|
||||||
|
{{- else}}
|
||||||
|
component: kube-scheduler
|
||||||
|
{{- end}}
|
||||||
|
{{- end }}
|
||||||
|
type: ClusterIP
|
||||||
|
{{- end -}}
|
|
@ -0,0 +1,40 @@
|
||||||
|
{{- if .Values.kubeScheduler.enabled }}
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: {{ template "kube-prometheus.fullname" . }}-kube-scheduler
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
|
||||||
|
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-scheduler
|
||||||
|
spec:
|
||||||
|
jobLabel: component
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-scheduler
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- {{ .Values.kubeScheduler.namespace }}
|
||||||
|
endpoints:
|
||||||
|
- port: http-metrics
|
||||||
|
{{- if .Values.kubeScheduler.serviceMonitor.interval }}
|
||||||
|
interval: {{ .Values.kubeScheduler.serviceMonitor.interval }}
|
||||||
|
{{- end }}
|
||||||
|
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||||||
|
{{- if .Values.kubeScheduler.serviceMonitor.https }}
|
||||||
|
scheme: https
|
||||||
|
tlsConfig:
|
||||||
|
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||||||
|
{{- if .Values.kubeScheduler.serviceMonitor.insecureSkipVerify }}
|
||||||
|
insecureSkipVerify: {{ .Values.kubeScheduler.serviceMonitor.insecureSkipVerify }}
|
||||||
|
{{- end}}
|
||||||
|
{{- if .Values.kubeScheduler.serviceMonitor.serverName }}
|
||||||
|
serverName: {{ .Values.kubeScheduler.serviceMonitor.serverName }}
|
||||||
|
{{- end}}
|
||||||
|
{{- end}}
|
||||||
|
{{- if .Values.kubeScheduler.serviceMonitor.metricRelabelings }}
|
||||||
|
metricRelabelings: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.kubeScheduler.serviceMonitor.metricRelabelings "context" $) | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.kubeScheduler.serviceMonitor.relabelings }}
|
||||||
|
metricRelabelings: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.kubeScheduler.serviceMonitor.relabelings "context" $) | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,85 @@
|
||||||
|
{{- if .Values.kubelet.enabled }}
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: {{ template "kube-prometheus.fullname" . }}-kubelet
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
|
||||||
|
app.kubernetes.io/component: kubelet
|
||||||
|
spec:
|
||||||
|
jobLabel: k8s-app
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
k8s-app: kubelet
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- {{ .Values.kubelet.namespace }}
|
||||||
|
endpoints:
|
||||||
|
{{- if .Values.kubelet.serviceMonitor.https }}
|
||||||
|
- port: https-metrics
|
||||||
|
scheme: https
|
||||||
|
tlsConfig:
|
||||||
|
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||||||
|
serverName: kubernetes
|
||||||
|
insecureSkipVerify: true
|
||||||
|
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||||||
|
honorLabels: true
|
||||||
|
{{- if .Values.kubelet.serviceMonitor.interval }}
|
||||||
|
interval: {{ .Values.kubelet.serviceMonitor.interval }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.kubelet.serviceMonitor.metricRelabelings }}
|
||||||
|
metricRelabelings: {{- include "tc.v1.common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.kubelet.serviceMonitor.relabelings }}
|
||||||
|
relabelings: {{- toYaml .Values.kubelet.serviceMonitor.relabelings | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
- port: https-metrics
|
||||||
|
path: /metrics/cadvisor
|
||||||
|
scheme: https
|
||||||
|
tlsConfig:
|
||||||
|
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||||||
|
serverName: kubernetes
|
||||||
|
insecureSkipVerify: true
|
||||||
|
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||||||
|
honorLabels: true
|
||||||
|
{{- if .Values.kubelet.serviceMonitor.interval }}
|
||||||
|
interval: {{ .Values.kubelet.serviceMonitor.interval }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings }}
|
||||||
|
metricRelabelings: {{- include "tc.v1.common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings "context" $) | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.kubelet.serviceMonitor.cAdvisorRelabelings }}
|
||||||
|
relabelings: {{- toYaml .Values.kubelet.serviceMonitor.cAdvisorRelabelings | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- else }}
|
||||||
|
- port: http-metrics
|
||||||
|
scheme: http
|
||||||
|
tlsConfig:
|
||||||
|
insecureSkipVerify: false
|
||||||
|
honorLabels: true
|
||||||
|
{{- if .Values.kubelet.serviceMonitor.interval }}
|
||||||
|
interval: {{ .Values.kubelet.serviceMonitor.interval }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.kubelet.serviceMonitor.metricRelabelings }}
|
||||||
|
metricRelabelings: {{- include "tc.v1.common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.kubelet.serviceMonitor.relabelings }}
|
||||||
|
relabelings: {{- toYaml .Values.kubelet.serviceMonitor.relabelings | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
- port: http-metrics
|
||||||
|
path: /metrics/cadvisor
|
||||||
|
scheme: http
|
||||||
|
tlsConfig:
|
||||||
|
insecureSkipVerify: false
|
||||||
|
honorLabels: true
|
||||||
|
{{- if .Values.kubelet.serviceMonitor.interval }}
|
||||||
|
interval: {{ .Values.kubelet.serviceMonitor.interval }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings }}
|
||||||
|
metricRelabelings: {{- include "tc.v1.common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings "context" $) | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.kubelet.serviceMonitor.cAdvisorRelabelings }}
|
||||||
|
relabelings: {{- toYaml .Values.kubelet.serviceMonitor.cAdvisorRelabelings | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,15 @@
|
||||||
|
{{- define "prometheus.prometheus.additionalprometheusrules" -}}
|
||||||
|
{{- if and .Values.prometheus.enabled .Values.prometheus.additionalPrometheusRules}}
|
||||||
|
{{- range .Values.prometheus.additionalPrometheusRules }}
|
||||||
|
---
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: PrometheusRule
|
||||||
|
metadata:
|
||||||
|
name: {{ template "kube-prometheus.name" $ }}-{{ .name }}
|
||||||
|
namespace: {{ $.Release.Namespace }}
|
||||||
|
labels: {{ include "kube-prometheus.prometheus.labels" $ | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
groups: {{- toYaml .groups | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,13 @@
|
||||||
|
{{- define "prometheus.prometheus.additionalscrapejobs" -}}
|
||||||
|
{{- if (and .Values.prometheus.additionalScrapeConfigs.enabled (eq .Values.prometheus.additionalScrapeConfigs.type "internal") ) }}
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: additional-scrape-jobs-{{ template "kube-prometheus.prometheus.fullname" . }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
|
||||||
|
data:
|
||||||
|
scrape-jobs.yaml: {{ include "tc.v1.common.tplvalues.render" ( dict "value" .Values.prometheus.additionalScrapeConfigs.internal.jobList "context" $ ) | b64enc | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,366 @@
|
||||||
|
{{- define "prometheus.prometheus.prometheus" -}}
|
||||||
|
{{- if .Values.prometheus.enabled }}
|
||||||
|
---
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: Prometheus
|
||||||
|
metadata:
|
||||||
|
name: {{ template "kube-prometheus.prometheus.fullname" . }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
replicas: {{ .Values.prometheus.replicaCount }}
|
||||||
|
serviceAccountName: {{ template "kube-prometheus.prometheus.serviceAccountName" . }}
|
||||||
|
{{- if .Values.prometheus.serviceMonitorSelector }}
|
||||||
|
serviceMonitorSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.serviceMonitorSelector "context" $) | nindent 4 }}
|
||||||
|
{{- else }}
|
||||||
|
serviceMonitorSelector: {}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.podMonitorSelector }}
|
||||||
|
podMonitorSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.podMonitorSelector "context" $) | nindent 4 }}
|
||||||
|
{{- else }}
|
||||||
|
podMonitorSelector: {}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.probeSelector }}
|
||||||
|
probeSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.probeSelector "context" $) | nindent 4 }}
|
||||||
|
{{- else }}
|
||||||
|
probeSelector: {}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.scrapeConfigSelector }}
|
||||||
|
scrapeConfigSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.scrapeConfigSelector "context" $) | nindent 4 }}
|
||||||
|
{{- else }}
|
||||||
|
scrapeConfigSelector: {}
|
||||||
|
{{- end }}
|
||||||
|
alerting:
|
||||||
|
alertmanagers:
|
||||||
|
{{- if .Values.prometheus.alertingEndpoints }}
|
||||||
|
{{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.alertingEndpoints "context" $) | nindent 6 }}
|
||||||
|
{{- else if .Values.alertmanager.enabled }}
|
||||||
|
- namespace: {{ .Release.Namespace }}
|
||||||
|
name: {{ template "kube-prometheus.alertmanager.fullname" . }}
|
||||||
|
port: http
|
||||||
|
pathPrefix: "{{ .Values.alertmanager.routePrefix }}"
|
||||||
|
{{- else }}
|
||||||
|
[]
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.image }}
|
||||||
|
image: {{ template "kube-prometheus.prometheus.image" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.externalLabels }}
|
||||||
|
externalLabels: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.externalLabels "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.prometheusExternalLabelNameClear }}
|
||||||
|
prometheusExternalLabelName: ""
|
||||||
|
{{- else if .Values.prometheus.prometheusExternalLabelName }}
|
||||||
|
prometheusExternalLabelName: "{{ .Values.prometheus.prometheusExternalLabelName }}"
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.replicaExternalLabelNameClear }}
|
||||||
|
replicaExternalLabelName: ""
|
||||||
|
{{- else if .Values.prometheus.replicaExternalLabelName }}
|
||||||
|
replicaExternalLabelName: "{{ .Values.prometheus.replicaExternalLabelName }}"
|
||||||
|
{{- end }}
|
||||||
|
{{- if index .Values.prometheus "externalUrl" }}
|
||||||
|
externalUrl: "{{ .Values.prometheus.externalUrl }}"
|
||||||
|
{{- else if and .Values.ingress.main.enabled .Values.ingress.main.hosts }}
|
||||||
|
externalUrl: {{ if .Values.ingress.main.tls }}https{{else}}http{{ end }}://{{ (index .Values.ingress.main.hosts 0).name }}{{ .Values.prometheus.routePrefix }}
|
||||||
|
{{- else }}
|
||||||
|
externalUrl: http://{{ template "kube-prometheus.prometheus.fullname" . }}.{{ .Release.Namespace }}:9090{{ .Values.prometheus.routePrefix }}
|
||||||
|
{{- end }}
|
||||||
|
paused: {{ .Values.prometheus.paused }}
|
||||||
|
logLevel: {{ .Values.prometheus.logLevel }}
|
||||||
|
logFormat: {{ .Values.prometheus.logFormat }}
|
||||||
|
listenLocal: {{ .Values.prometheus.listenLocal }}
|
||||||
|
enableAdminAPI: {{ .Values.prometheus.enableAdminAPI }}
|
||||||
|
{{- if .Values.prometheus.enableFeatures }}
|
||||||
|
enableFeatures:
|
||||||
|
{{- range .Values.prometheus.enableFeatures }}
|
||||||
|
- {{ . | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.scrapeInterval }}
|
||||||
|
scrapeInterval: {{ .Values.prometheus.scrapeInterval }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.evaluationInterval }}
|
||||||
|
evaluationInterval: {{ .Values.prometheus.evaluationInterval }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.resources }}
|
||||||
|
resources: {{- toYaml .Values.prometheus.resources | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
retention: {{ .Values.prometheus.retention }}
|
||||||
|
{{- if .Values.prometheus.retentionSize }}
|
||||||
|
retentionSize: {{ .Values.prometheus.retentionSize }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.disableCompaction }}
|
||||||
|
disableCompaction: {{ .Values.prometheus.disableCompaction }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.enableRemoteWriteReceiver }}
|
||||||
|
enableRemoteWriteReceiver: {{ .Values.prometheus.enableRemoteWriteReceiver }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.walCompression }}
|
||||||
|
walCompression: {{ .Values.prometheus.walCompression }}
|
||||||
|
{{- end }}
|
||||||
|
portName: "{{ .Values.prometheus.portName }}"
|
||||||
|
routePrefix: "{{ .Values.prometheus.routePrefix }}"
|
||||||
|
{{- if .Values.prometheus.secrets }}
|
||||||
|
secrets: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.secrets "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.configMaps }}
|
||||||
|
configMaps: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.configMaps "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.serviceMonitorNamespaceSelector }}
|
||||||
|
serviceMonitorNamespaceSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.serviceMonitorNamespaceSelector "context" $) | nindent 4 }}
|
||||||
|
{{- else }}
|
||||||
|
serviceMonitorNamespaceSelector: {}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.podMonitorNamespaceSelector }}
|
||||||
|
podMonitorNamespaceSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.podMonitorNamespaceSelector "context" $) | nindent 4 }}
|
||||||
|
{{- else }}
|
||||||
|
podMonitorNamespaceSelector: {}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.probeNamespaceSelector }}
|
||||||
|
probeNamespaceSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.probeNamespaceSelector "context" $) | nindent 4 }}
|
||||||
|
{{- else }}
|
||||||
|
probeNamespaceSelector: {}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.scrapeConfigNamespaceSelector }}
|
||||||
|
scrapeConfigNamespaceSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.scrapeConfigNamespaceSelector "context" $) | nindent 4 }}
|
||||||
|
{{- else }}
|
||||||
|
scrapeConfigNamespaceSelector: {}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.remoteRead }}
|
||||||
|
remoteRead: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.remoteRead "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.remoteWrite }}
|
||||||
|
remoteWrite:
|
||||||
|
{{- tpl (toYaml .) $ | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.podSecurityContext.enabled }}
|
||||||
|
securityContext: {{- omit .Values.prometheus.podSecurityContext "enabled" | toYaml | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.ruleNamespaceSelector }}
|
||||||
|
ruleNamespaceSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.ruleNamespaceSelector "context" $) | nindent 4 }}
|
||||||
|
{{- else }}
|
||||||
|
ruleNamespaceSelector: {}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.ruleSelector }}
|
||||||
|
ruleSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.ruleSelector "context" $) | nindent 4 }}
|
||||||
|
{{- else }}
|
||||||
|
ruleSelector: {}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.storageSpec }}
|
||||||
|
storage: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.storageSpec "context" $) | nindent 4 }}
|
||||||
|
{{- else if .Values.prometheus.persistence.enabled }}
|
||||||
|
storage:
|
||||||
|
volumeClaimTemplate:
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
{{- range .Values.prometheus.persistence.accessModes }}
|
||||||
|
- {{ . | quote }}
|
||||||
|
{{- end }}
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: {{ .Values.prometheus.persistence.size | quote }}
|
||||||
|
{{- with (include "tc.v1.common.lib.storage.storageClassName" ( dict "rootCtx" . "objectData" .Values.prometheus.persistence )) | trim }}
|
||||||
|
storageClassName: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if or .Values.prometheus.podMetadata.labels .Values.prometheus.podMetadata.annotations (eq .Values.prometheus.podAntiAffinityPreset "soft") (eq .Values.prometheus.podAntiAffinityPreset "hard") }}
|
||||||
|
podMetadata:
|
||||||
|
labels:
|
||||||
|
{{- if .Values.prometheus.podMetadata.labels }}
|
||||||
|
{{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.podMetadata.labels "context" $) | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if or (eq .Values.prometheus.podAntiAffinityPreset "soft") (eq .Values.prometheus.podAntiAffinityPreset "hard") }}
|
||||||
|
{{- include "kube-prometheus.prometheus.matchLabels" . | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.podMetadata.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.podMetadata.annotations "context" $) | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.querySpec }}
|
||||||
|
query: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.querySpec "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.affinity }}
|
||||||
|
affinity: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.affinity "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.nodeSelector }}
|
||||||
|
nodeSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.nodeSelector "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.tolerations }}
|
||||||
|
tolerations: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.tolerations "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.volumes }}
|
||||||
|
volumes: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.volumes "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.volumeMounts }}
|
||||||
|
volumeMounts: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.volumeMounts "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if or .Values.prometheus.additionalScrapeConfigs.enabled .Values.prometheus.additionalScrapeConfigsExternal.enabled }}
|
||||||
|
additionalScrapeConfigs:
|
||||||
|
{{- if and .Values.prometheus.additionalScrapeConfigs.enabled (eq .Values.prometheus.additionalScrapeConfigs.type "external") }}
|
||||||
|
name: {{ .Values.prometheus.additionalScrapeConfigs.external.name }}
|
||||||
|
key: {{ .Values.prometheus.additionalScrapeConfigs.external.key }}
|
||||||
|
{{- else if and .Values.prometheus.additionalScrapeConfigs.enabled (eq .Values.prometheus.additionalScrapeConfigs.type "internal") }}
|
||||||
|
name: additional-scrape-jobs-{{ template "kube-prometheus.prometheus.fullname" . }}
|
||||||
|
key: scrape-jobs.yaml
|
||||||
|
{{- else if and (not .Values.prometheus.additionalScrapeConfigs.enabled) .Values.prometheus.additionalScrapeConfigsExternal.enabled }}
|
||||||
|
name: {{ .Values.prometheus.additionalScrapeConfigsExternal.name }}
|
||||||
|
key: {{ .Values.prometheus.additionalScrapeConfigsExternal.key }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.additionalAlertRelabelConfigsExternal.enabled }}
|
||||||
|
additionalAlertRelabelConfigs:
|
||||||
|
name: {{ .Values.prometheus.additionalAlertRelabelConfigsExternal.name }}
|
||||||
|
key: {{ .Values.prometheus.additionalAlertRelabelConfigsExternal.key }}
|
||||||
|
{{- end }}
|
||||||
|
{{- include "kube-prometheus.imagePullSecrets" . | indent 2 }}
|
||||||
|
{{- if or .Values.prometheus.containers .Values.prometheus.thanos.create .Values.prometheus.containerSecurityContext.enabled .Values.prometheus.containerSecurityContext.enabled .Values.operator.prometheusConfigReloader.containerSecurityContext.enabled }}
|
||||||
|
containers:
|
||||||
|
{{- if .Values.prometheus.thanos.create }}
|
||||||
|
- name: thanos-sidecar
|
||||||
|
image: {{ template "kube-prometheus.prometheus.thanosImage" . }}
|
||||||
|
imagePullPolicy: {{ .Values.prometheus.thanos.image.pullPolicy }}
|
||||||
|
args:
|
||||||
|
- sidecar
|
||||||
|
- --prometheus.url={{ default "http://localhost:9090" .Values.prometheus.thanos.prometheusUrl }}
|
||||||
|
- --grpc-address=0.0.0.0:10901
|
||||||
|
- --http-address=0.0.0.0:10902
|
||||||
|
- --tsdb.path=/prometheus/
|
||||||
|
{{- if .Values.prometheus.thanos.objectStorageConfig }}
|
||||||
|
- --objstore.config=$(OBJSTORE_CONFIG)
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.thanos.extraArgs }}
|
||||||
|
{{ toYaml .Values.prometheus.thanos.extraArgs | indent 8 | trim }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.thanos.objectStorageConfig }}
|
||||||
|
env:
|
||||||
|
- name: OBJSTORE_CONFIG
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: {{ .Values.prometheus.thanos.objectStorageConfig.secretName }}
|
||||||
|
key: {{ .Values.prometheus.thanos.objectStorageConfig.secretKey | default "thanos.yaml" }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.thanos.resources }}
|
||||||
|
resources: {{- toYaml .Values.prometheus.thanos.resources | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
ports:
|
||||||
|
- name: thanos
|
||||||
|
containerPort: 10901
|
||||||
|
protocol: TCP
|
||||||
|
- name: http
|
||||||
|
containerPort: 10902
|
||||||
|
protocol: TCP
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /prometheus
|
||||||
|
name: prometheus-{{ template "kube-prometheus.prometheus.fullname" . }}-db
|
||||||
|
{{- if not (.Values.prometheus.storageSpec.disableMountSubPath | default (not .Values.prometheus.persistence.enabled)) }}
|
||||||
|
subPath: prometheus-db
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.thanos.extraVolumeMounts }}
|
||||||
|
{{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.thanos.extraVolumeMounts "context" $) | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.thanos.containerSecurityContext.enabled }}
|
||||||
|
# yamllint disable rule:indentation
|
||||||
|
securityContext: {{- omit .Values.prometheus.thanos.containerSecurityContext "enabled" | toYaml | nindent 8 }}
|
||||||
|
# yamllint enable rule:indentation
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.thanos.livenessProbe.enabled }}
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: {{ .Values.prometheus.thanos.livenessProbe.path }}
|
||||||
|
port: http
|
||||||
|
scheme: HTTP
|
||||||
|
initialDelaySeconds: {{ .Values.prometheus.thanos.livenessProbe.initialDelaySeconds }}
|
||||||
|
periodSeconds: {{ .Values.prometheus.thanos.livenessProbe.periodSeconds }}
|
||||||
|
timeoutSeconds: {{ .Values.prometheus.thanos.livenessProbe.timeoutSeconds }}
|
||||||
|
failureThreshold: {{ .Values.prometheus.thanos.livenessProbe.failureThreshold }}
|
||||||
|
successThreshold: {{ .Values.prometheus.thanos.livenessProbe.successThreshold }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.thanos.readinessProbe.enabled }}
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: {{ .Values.prometheus.thanos.readinessProbe.path }}
|
||||||
|
port: http
|
||||||
|
scheme: HTTP
|
||||||
|
initialDelaySeconds: {{ .Values.prometheus.thanos.readinessProbe.initialDelaySeconds }}
|
||||||
|
periodSeconds: {{ .Values.prometheus.thanos.readinessProbe.periodSeconds }}
|
||||||
|
timeoutSeconds: {{ .Values.prometheus.thanos.readinessProbe.timeoutSeconds }}
|
||||||
|
failureThreshold: {{ .Values.prometheus.thanos.readinessProbe.failureThreshold }}
|
||||||
|
successThreshold: {{ .Values.prometheus.thanos.readinessProbe.successThreshold }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if or .Values.prometheus.containerSecurityContext.enabled .Values.prometheus.livenessProbe.enabled .Values.prometheus.readinessProbe.enabled }}
|
||||||
|
## This monkey patching is needed until the securityContexts are
|
||||||
|
## directly patchable via the CRD.
|
||||||
|
## ref: https://github.com/prometheus-operator/prometheus-operator/issues/3947
|
||||||
|
## currently implemented with strategic merge
|
||||||
|
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/strategic-merge-patch.md
|
||||||
|
- name: prometheus
|
||||||
|
{{- if .Values.prometheus.containerSecurityContext.enabled }}
|
||||||
|
securityContext: {{- omit .Values.prometheus.containerSecurityContext "enabled" | toYaml | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.livenessProbe.enabled }}
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: {{ .Values.prometheus.livenessProbe.path }}
|
||||||
|
port: main
|
||||||
|
scheme: HTTP
|
||||||
|
initialDelaySeconds: {{ .Values.prometheus.livenessProbe.initialDelaySeconds }}
|
||||||
|
periodSeconds: {{ .Values.prometheus.livenessProbe.periodSeconds }}
|
||||||
|
timeoutSeconds: {{ .Values.prometheus.livenessProbe.timeoutSeconds }}
|
||||||
|
failureThreshold: {{ .Values.prometheus.livenessProbe.failureThreshold }}
|
||||||
|
successThreshold: {{ .Values.prometheus.livenessProbe.successThreshold }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.readinessProbe.enabled }}
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: {{ .Values.prometheus.readinessProbe.path }}
|
||||||
|
port: main
|
||||||
|
scheme: HTTP
|
||||||
|
initialDelaySeconds: {{ .Values.prometheus.readinessProbe.initialDelaySeconds }}
|
||||||
|
periodSeconds: {{ .Values.prometheus.readinessProbe.periodSeconds }}
|
||||||
|
timeoutSeconds: {{ .Values.prometheus.readinessProbe.timeoutSeconds }}
|
||||||
|
failureThreshold: {{ .Values.prometheus.readinessProbe.failureThreshold }}
|
||||||
|
successThreshold: {{ .Values.prometheus.readinessProbe.successThreshold }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if or .Values.operator.prometheusConfigReloader.containerSecurityContext.enabled .Values.operator.prometheusConfigReloader.livenessProbe.enabled .Values.operator.prometheusConfigReloader.readinessProbe.enabled }}
|
||||||
|
## This monkey patching is needed until the securityContexts are
|
||||||
|
## directly patchable via the CRD.
|
||||||
|
## ref: https://github.com/prometheus-operator/prometheus-operator/issues/3947
|
||||||
|
## currently implemented with strategic merge
|
||||||
|
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/strategic-merge-patch.md
|
||||||
|
- name: config-reloader
|
||||||
|
{{- if .Values.operator.prometheusConfigReloader.containerSecurityContext.enabled }}
|
||||||
|
securityContext: {{- omit .Values.operator.prometheusConfigReloader.containerSecurityContext "enabled" | toYaml | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.operator.prometheusConfigReloader.livenessProbe.enabled }}
|
||||||
|
livenessProbe:
|
||||||
|
tcpSocket:
|
||||||
|
port: reloader-web
|
||||||
|
initialDelaySeconds: {{ .Values.operator.prometheusConfigReloader.livenessProbe.initialDelaySeconds }}
|
||||||
|
periodSeconds: {{ .Values.operator.prometheusConfigReloader.livenessProbe.periodSeconds }}
|
||||||
|
timeoutSeconds: {{ .Values.operator.prometheusConfigReloader.livenessProbe.timeoutSeconds }}
|
||||||
|
failureThreshold: {{ .Values.operator.prometheusConfigReloader.livenessProbe.failureThreshold }}
|
||||||
|
successThreshold: {{ .Values.operator.prometheusConfigReloader.livenessProbe.successThreshold }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.operator.prometheusConfigReloader.readinessProbe.enabled }}
|
||||||
|
readinessProbe:
|
||||||
|
tcpSocket:
|
||||||
|
port: reloader-web
|
||||||
|
initialDelaySeconds: {{ .Values.operator.prometheusConfigReloader.readinessProbe.initialDelaySeconds }}
|
||||||
|
periodSeconds: {{ .Values.operator.prometheusConfigReloader.readinessProbe.periodSeconds }}
|
||||||
|
timeoutSeconds: {{ .Values.operator.prometheusConfigReloader.readinessProbe.timeoutSeconds }}
|
||||||
|
failureThreshold: {{ .Values.operator.prometheusConfigReloader.readinessProbe.failureThreshold }}
|
||||||
|
successThreshold: {{ .Values.operator.prometheusConfigReloader.readinessProbe.successThreshold }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.containers }}
|
||||||
|
{{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.containers "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.priorityClassName }}
|
||||||
|
priorityClassName: {{ .Values.prometheus.priorityClassName }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,29 @@
|
||||||
|
{{- define "prometheus.prometheus.servicemonitor" -}}
|
||||||
|
{{- if and .Values.prometheus.enabled .Values.prometheus.serviceMonitor.enabled }}
|
||||||
|
---
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: {{ template "kube-prometheus.prometheus.fullname" . }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels: {{- include "kube-prometheus.prometheus.matchLabels" . | nindent 6 }}
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- {{ .Release.Namespace }}
|
||||||
|
endpoints:
|
||||||
|
- port: http
|
||||||
|
{{- if .Values.prometheus.serviceMonitor.interval }}
|
||||||
|
interval: {{ .Values.prometheus.serviceMonitor.interval }}
|
||||||
|
{{- end }}
|
||||||
|
path: {{ trimSuffix "/" .Values.prometheus.routePrefix }}/metrics
|
||||||
|
{{- if .Values.prometheus.serviceMonitor.metricRelabelings }}
|
||||||
|
metricRelabelings: {{- include "tc.v1.common.tplvalues.render" ( dict "value" .Values.prometheus.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.serviceMonitor.relabelings }}
|
||||||
|
relabelings: {{- toYaml .Values.prometheus.serviceMonitor.relabelings | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,41 @@
|
||||||
|
{{- if .Values.prometheus.enabled -}}
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
|
metadata:
|
||||||
|
name: {{ template "kube-prometheus.prometheus.fullname" . }}
|
||||||
|
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- nodes/metrics
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- nodes
|
||||||
|
- nodes/proxy
|
||||||
|
- services
|
||||||
|
- endpoints
|
||||||
|
- pods
|
||||||
|
verbs:
|
||||||
|
- "get"
|
||||||
|
- "list"
|
||||||
|
- "watch"
|
||||||
|
- apiGroups:
|
||||||
|
- extensions
|
||||||
|
- "networking.k8s.io"
|
||||||
|
resources:
|
||||||
|
- ingresses
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- nonResourceURLs:
|
||||||
|
- "/metrics"
|
||||||
|
verbs:
|
||||||
|
- "get"
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,15 @@
|
||||||
|
{{- if .Values.prometheus.enabled }}
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: {{ template "kube-prometheus.prometheus.fullname" . }}
|
||||||
|
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: {{ template "kube-prometheus.prometheus.fullname" . }}
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: {{ template "kube-prometheus.prometheus.serviceAccountName" . }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,12 @@
|
||||||
|
{{- if and .Values.prometheus.enabled .Values.prometheus.serviceAccount.create }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: {{ template "kube-prometheus.prometheus.serviceAccountName" . }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
|
||||||
|
{{- if index .Values.prometheus.serviceAccount "annotations" }}
|
||||||
|
annotations: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.serviceAccount.annotations "context" $) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- include "kube-prometheus.imagePullSecrets" . }}
|
||||||
|
{{- end }}
|
Loading…
Reference in New Issue