From 8c1ba322b067e272bb98149565227f36f395e786 Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Sun, 7 Jan 2024 13:34:20 +0000 Subject: [PATCH] Commit new Chart releases for TrueCharts Signed-off-by: TrueCharts-Bot --- enterprise/prometheus/16.2.1/CHANGELOG.md | 99 + enterprise/prometheus/16.2.1/Chart.yaml | 51 + enterprise/prometheus/16.2.1/LICENSE | 106 + enterprise/prometheus/16.2.1/README.md | 28 + enterprise/prometheus/16.2.1/app-changelog.md | 9 + enterprise/prometheus/16.2.1/app-readme.md | 8 + .../16.2.1/charts/common-17.2.21.tgz | Bin 0 -> 97582 bytes .../charts/kube-state-metrics-6.1.6.tgz | Bin 0 -> 102352 bytes .../16.2.1/charts/node-exporter-6.1.6.tgz | Bin 0 -> 102079 bytes enterprise/prometheus/16.2.1/ix_values.yaml | 1374 +++++++++++++ enterprise/prometheus/16.2.1/questions.yaml | 1798 +++++++++++++++++ .../prometheus/16.2.1/templates/NOTES.txt | 1 + .../prometheus/16.2.1/templates/_helpers.tpl | 210 ++ .../templates/alertmanager/_alertmanager.tpl | 174 ++ .../templates/alertmanager/secrets.yaml | 13 + .../alertmanager/serviceaccount.yaml | 12 + .../alertmanager/servicemonitor.yaml | 26 + .../prometheus/16.2.1/templates/common.yaml | 13 + .../templates/exporters/core-dns/service.yaml | 22 + .../exporters/core-dns/servicemonitor.yaml | 29 + .../kube-apiserver/servicemonitor.yaml | 35 + .../kube-controller-manager/endpoints.yaml | 18 + .../kube-controller-manager/service.yaml | 25 + .../servicemonitor.yaml | 40 + .../exporters/kube-scheduler/endpoints.yaml | 18 + .../exporters/kube-scheduler/service.yaml | 25 + .../kube-scheduler/servicemonitor.yaml | 40 + .../exporters/kubelet/servicemonitor.yaml | 85 + .../prometheus/_additionalPrometheusRules.tpl | 15 + .../prometheus/_additionalScrapeJobs.tpl | 13 + .../templates/prometheus/_prometheus.tpl | 363 ++++ .../templates/prometheus/_servicemonitor.tpl | 29 + .../templates/prometheus/clusterrole.yaml | 41 + .../prometheus/clusterrolebinding.yaml | 15 + .../templates/prometheus/serviceaccount.yaml | 12 + enterprise/prometheus/16.2.1/values.yaml | 0 36 files changed, 4747 insertions(+) create mode 100644 enterprise/prometheus/16.2.1/CHANGELOG.md create mode 100644 enterprise/prometheus/16.2.1/Chart.yaml create mode 100644 enterprise/prometheus/16.2.1/LICENSE create mode 100644 enterprise/prometheus/16.2.1/README.md create mode 100644 enterprise/prometheus/16.2.1/app-changelog.md create mode 100644 enterprise/prometheus/16.2.1/app-readme.md create mode 100644 enterprise/prometheus/16.2.1/charts/common-17.2.21.tgz create mode 100644 enterprise/prometheus/16.2.1/charts/kube-state-metrics-6.1.6.tgz create mode 100644 enterprise/prometheus/16.2.1/charts/node-exporter-6.1.6.tgz create mode 100644 enterprise/prometheus/16.2.1/ix_values.yaml create mode 100644 enterprise/prometheus/16.2.1/questions.yaml create mode 100644 enterprise/prometheus/16.2.1/templates/NOTES.txt create mode 100644 enterprise/prometheus/16.2.1/templates/_helpers.tpl create mode 100644 enterprise/prometheus/16.2.1/templates/alertmanager/_alertmanager.tpl create mode 100644 enterprise/prometheus/16.2.1/templates/alertmanager/secrets.yaml create mode 100644 enterprise/prometheus/16.2.1/templates/alertmanager/serviceaccount.yaml create mode 100644 enterprise/prometheus/16.2.1/templates/alertmanager/servicemonitor.yaml create mode 100644 enterprise/prometheus/16.2.1/templates/common.yaml create mode 100644 enterprise/prometheus/16.2.1/templates/exporters/core-dns/service.yaml create mode 100644 enterprise/prometheus/16.2.1/templates/exporters/core-dns/servicemonitor.yaml create mode 100644 enterprise/prometheus/16.2.1/templates/exporters/kube-apiserver/servicemonitor.yaml create mode 100644 enterprise/prometheus/16.2.1/templates/exporters/kube-controller-manager/endpoints.yaml create mode 100644 enterprise/prometheus/16.2.1/templates/exporters/kube-controller-manager/service.yaml create mode 100644 enterprise/prometheus/16.2.1/templates/exporters/kube-controller-manager/servicemonitor.yaml create mode 100644 enterprise/prometheus/16.2.1/templates/exporters/kube-scheduler/endpoints.yaml create mode 100644 enterprise/prometheus/16.2.1/templates/exporters/kube-scheduler/service.yaml create mode 100644 enterprise/prometheus/16.2.1/templates/exporters/kube-scheduler/servicemonitor.yaml create mode 100644 enterprise/prometheus/16.2.1/templates/exporters/kubelet/servicemonitor.yaml create mode 100644 enterprise/prometheus/16.2.1/templates/prometheus/_additionalPrometheusRules.tpl create mode 100644 enterprise/prometheus/16.2.1/templates/prometheus/_additionalScrapeJobs.tpl create mode 100644 enterprise/prometheus/16.2.1/templates/prometheus/_prometheus.tpl create mode 100644 enterprise/prometheus/16.2.1/templates/prometheus/_servicemonitor.tpl create mode 100644 enterprise/prometheus/16.2.1/templates/prometheus/clusterrole.yaml create mode 100644 enterprise/prometheus/16.2.1/templates/prometheus/clusterrolebinding.yaml create mode 100644 enterprise/prometheus/16.2.1/templates/prometheus/serviceaccount.yaml create mode 100644 enterprise/prometheus/16.2.1/values.yaml diff --git a/enterprise/prometheus/16.2.1/CHANGELOG.md b/enterprise/prometheus/16.2.1/CHANGELOG.md new file mode 100644 index 00000000000..61afe201eb8 --- /dev/null +++ b/enterprise/prometheus/16.2.1/CHANGELOG.md @@ -0,0 +1,99 @@ +--- +title: Changelog +--- + +**Important:** +*for the complete changelog, please refer to the website* + + + +## [prometheus-16.2.1](https://github.com/truecharts/charts/compare/prometheus-16.2.0...prometheus-16.2.1) (2024-01-07) + +### Chore + + + +- bump ([#16918](https://github.com/truecharts/charts/issues/16918)) + + +## [prometheus-16.2.0](https://github.com/truecharts/charts/compare/prometheus-16.1.9...prometheus-16.2.0) (2024-01-07) + + +## [prometheus-16.1.9](https://github.com/truecharts/charts/compare/prometheus-16.1.8...prometheus-16.1.9) (2024-01-05) + +### Chore + + + +- update container image bitnami/alertmanager to 0.26.0[@3ff3994](https://github.com/3ff3994) by renovate ([#16884](https://github.com/truecharts/charts/issues/16884)) + + +## [prometheus-16.1.8](https://github.com/truecharts/charts/compare/prometheus-16.1.7...prometheus-16.1.8) (2024-01-02) + +### Chore + + + +- update helm general non-major by renovate ([#16820](https://github.com/truecharts/charts/issues/16820)) + + +## [prometheus-16.1.7](https://github.com/truecharts/charts/compare/prometheus-16.1.6...prometheus-16.1.7) (2024-01-02) + +### Chore + + + +- force bump to ensure up-to-date catalogs + + +## [prometheus-16.1.6](https://github.com/truecharts/charts/compare/prometheus-16.1.5...prometheus-16.1.6) (2024-01-02) + +### Chore + + + +- update helm general non-major by renovate ([#16743](https://github.com/truecharts/charts/issues/16743)) + + +## [prometheus-16.1.5](https://github.com/truecharts/charts/compare/prometheus-16.1.4...prometheus-16.1.5) (2024-01-01) + +### Chore + + + +- increase common version for oci fixes + + +## [prometheus-16.1.4](https://github.com/truecharts/charts/compare/prometheus-16.1.3...prometheus-16.1.4) (2024-01-01) + +### Chore + + + +- update helm general non-major by renovate ([#16734](https://github.com/truecharts/charts/issues/16734)) + +- remove non-existent template refs ([#16738](https://github.com/truecharts/charts/issues/16738)) + + +## [prometheus-16.1.3](https://github.com/truecharts/charts/compare/prometheus-16.1.0...prometheus-16.1.3) (2024-01-01) + +### Chore + + + +- bump all charts for OCI test push + +- move everything to consume OCI-hosted common-chart dependency + +- update container image common to v17.2.19[@4ebb688](https://github.com/4ebb688) by renovate ([#16733](https://github.com/truecharts/charts/issues/16733)) + +- update container image common to v17.2.18[@085ba3c](https://github.com/085ba3c) by renovate ([#16732](https://github.com/truecharts/charts/issues/16732)) + +- standardize ./img references ([#16704](https://github.com/truecharts/charts/issues/16704)) + +- lints some docs, uses front-matter instead of # h1, and fix list items in changelog ([#16589](https://github.com/truecharts/charts/issues/16589)) + + +## [prometheus-16.1.2](https://github.com/truecharts/charts/compare/prometheus-16.1.0...prometheus-16.1.2) (2024-01-01) + +### Chore diff --git a/enterprise/prometheus/16.2.1/Chart.yaml b/enterprise/prometheus/16.2.1/Chart.yaml new file mode 100644 index 00000000000..e8ba9a5cd44 --- /dev/null +++ b/enterprise/prometheus/16.2.1/Chart.yaml @@ -0,0 +1,51 @@ +kubeVersion: ">=1.24.0-0" +apiVersion: v2 +name: prometheus +version: 16.2.1 +appVersion: 2.48.1 +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 +deprecated: false +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 +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +keywords: + - metrics +dependencies: + - name: common + version: 17.2.21 + repository: oci://tccr.io/truecharts + condition: "" + alias: "" + tags: [] + import-values: [] + - name: node-exporter + version: 6.1.6 + repository: https://deps.truecharts.org + condition: exporters.enabled,exporters.node-exporter.enabled + alias: "" + tags: [] + import-values: [] + - name: kube-state-metrics + version: 6.1.6 + repository: https://deps.truecharts.org + condition: exporters.enabled,exporters.kube-state-metrics.enabled + alias: "" + tags: [] + import-values: [] +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.13" + truecharts.org/min_helm_version: "3.12" + truecharts.org/train: enterprise +type: application diff --git a/enterprise/prometheus/16.2.1/LICENSE b/enterprise/prometheus/16.2.1/LICENSE new file mode 100644 index 00000000000..c30fceb4a5b --- /dev/null +++ b/enterprise/prometheus/16.2.1/LICENSE @@ -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. diff --git a/enterprise/prometheus/16.2.1/README.md b/enterprise/prometheus/16.2.1/README.md new file mode 100644 index 00000000000..fee81aacfbc --- /dev/null +++ b/enterprise/prometheus/16.2.1/README.md @@ -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_ diff --git a/enterprise/prometheus/16.2.1/app-changelog.md b/enterprise/prometheus/16.2.1/app-changelog.md new file mode 100644 index 00000000000..27b155e2547 --- /dev/null +++ b/enterprise/prometheus/16.2.1/app-changelog.md @@ -0,0 +1,9 @@ + + +## [prometheus-16.2.1](https://github.com/truecharts/charts/compare/prometheus-16.2.0...prometheus-16.2.1) (2024-01-07) + +### Chore + + + +- bump ([#16918](https://github.com/truecharts/charts/issues/16918)) \ No newline at end of file diff --git a/enterprise/prometheus/16.2.1/app-readme.md b/enterprise/prometheus/16.2.1/app-readme.md new file mode 100644 index 00000000000..93f59634eaa --- /dev/null +++ b/enterprise/prometheus/16.2.1/app-readme.md @@ -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! diff --git a/enterprise/prometheus/16.2.1/charts/common-17.2.21.tgz b/enterprise/prometheus/16.2.1/charts/common-17.2.21.tgz new file mode 100644 index 0000000000000000000000000000000000000000..247e7e80d51d061dfee4c297c67e8a0e72ae4198 GIT binary patch literal 97582 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

4-ZVO1Vc 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 H07eV|Dc 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 + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. + ## + storageClass: "" + ## @param prometheus.persistence.accessModes Persistent Volume Access Modes + ## + accessModes: + - ReadWriteOnce + ## @param prometheus.persistence.size Persistent Volume Size + ## + size: 999Gi + ## @param prometheus.priorityClassName Priority class assigned to the Pods + ## + priorityClassName: "" + ## @param prometheus.containers Containers allows injecting additional containers + ## + containers: [] + ## @param prometheus.volumes Volumes allows configuration of additional volumes + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#prometheusspec + ## + volumes: [] + ## @param prometheus.volumeMounts VolumeMounts allows configuration of additional VolumeMounts. Evaluated as a template + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#prometheusspec + ## + volumeMounts: [] + ## @param prometheus.additionalPrometheusRules PrometheusRule defines recording and alerting rules for a Prometheus instance. + additionalPrometheusRules: [] + ## - name: custom-recording-rules + ## groups: + ## - name: sum_node_by_job + ## rules: + ## - record: job:kube_node_labels:sum + ## expr: sum(kube_node_labels) by (job) + ## - name: sum_prometheus_config_reload_by_pod + ## rules: + ## - record: job:prometheus_config_last_reload_successful:sum + ## expr: sum(prometheus_config_last_reload_successful) by (pod) + ## - name: custom-alerting-rules + ## groups: + ## - name: prometheus-config + ## rules: + ## - alert: PrometheusConfigurationReload + ## expr: prometheus_config_last_reload_successful > 0 + ## for: 1m + ## labels: + ## severity: error + ## annotations: + ## summary: "Prometheus configuration reload (instance {{ $labels.instance }})" + ## description: "Prometheus configuration reload error\n VALUE = {{ $value }}\n LABELS: {{ $labels }}" + ## - name: custom-node-exporter-alerting-rules + ## rules: + ## - alert: PhysicalComponentTooHot + ## expr: node_hwmon_temp_celsius > 75 + ## for: 5m + ## labels: + ## severity: warning + ## annotations: + ## summary: "Physical component too hot (instance {{ $labels.instance }})" + ## description: "Physical hardware component too hot\n VALUE = {{ $value }}\n LABELS: {{ $labels }}" + ## - alert: NodeOvertemperatureAlarm + ## expr: node_hwmon_temp_alarm == 1 + ## for: 5m + ## labels: + ## severity: critical + ## annotations: + ## summary: "Node overtemperature alarm (instance {{ $labels.instance }})" + ## description: "Physical node temperature alarm triggered\n VALUE = {{ $value }}\n LABELS: {{ $labels }}" + ## + ## Note that the prometheus will fail to provision if the correct secret does not exist. + ## @param prometheus.additionalScrapeConfigs.enabled Enable additional scrape configs + ## @param prometheus.additionalScrapeConfigs.type Indicates if the cart should use external additional scrape configs or internal configs + ## @param prometheus.additionalScrapeConfigs.external.name Name of the secret that Prometheus should use for the additional external scrape configuration + ## @param prometheus.additionalScrapeConfigs.external.key Name of the key inside the secret to be used for the additional external scrape configuration + ## @param prometheus.additionalScrapeConfigs.internal.jobList A list of Prometheus scrape jobs + ## + additionalScrapeConfigs: + enabled: false + type: external + external: + ## Name of the secret that Prometheus should use for the additional scrape configuration + ## + name: "" + ## Name of the key inside the secret to be used for the additional scrape configuration. + ## + key: "" + internal: + jobList: [] + ## @param prometheus.additionalScrapeConfigsExternal.enabled Deprecated: Enable additional scrape configs that are managed externally to this chart + ## @param prometheus.additionalScrapeConfigsExternal.name Deprecated: Name of the secret that Prometheus should use for the additional scrape configuration + ## @param prometheus.additionalScrapeConfigsExternal.key Deprecated: Name of the key inside the secret to be used for the additional scrape configuration + ## + additionalScrapeConfigsExternal: + enabled: false + name: "" + key: "" + ## Enable additional Prometheus alert relabel configs that are managed externally to this chart + ## Note that the prometheus will fail to provision if the correct secret does not exist. + ## @param prometheus.additionalAlertRelabelConfigsExternal.enabled Enable additional Prometheus alert relabel configs that are managed externally to this chart + ## @param prometheus.additionalAlertRelabelConfigsExternal.name Name of the secret that Prometheus should use for the additional Prometheus alert relabel configuration + ## @param prometheus.additionalAlertRelabelConfigsExternal.key Name of the key inside the secret to be used for the additional Prometheus alert relabel configuration + ## + additionalAlertRelabelConfigsExternal: + enabled: false + name: "" + key: "" + ## Thanos sidecar container configuration + ## + thanos: + ## @param prometheus.thanos.create Create a Thanos sidecar container + ## + create: false + ## Bitnami Thanos image + ## ref: https://hub.docker.com/r/tccr.io/truecharts/thanos/tags/ + ## @param prometheus.thanos.image.registry Thanos image registry + ## @param prometheus.thanos.image.repository Thanos image name + ## @param prometheus.thanos.image.tag Thanos image tag + ## @param prometheus.thanos.image.pullPolicy Thanos image pull policy + ## @param prometheus.thanos.image.pullSecrets Specify docker-registry secret names as an array + ## + ## Thanos Sidecar container's securityContext + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container + ## @param prometheus.thanos.containerSecurityContext.enabled Enable container security context + ## @param prometheus.thanos.containerSecurityContext.readOnlyRootFilesystem mount / (root) as a readonly filesystem + ## @param prometheus.thanos.containerSecurityContext.allowPrivilegeEscalation Switch privilegeEscalation possibility on or off + ## @param prometheus.thanos.containerSecurityContext.runAsNonRoot Force the container to run as a non root user + ## @param prometheus.thanos.containerSecurityContext.capabilities.drop [array] Linux Kernel capabilities which should be dropped + ## + containerSecurityContext: + enabled: true + readOnlyRootFilesystem: false + allowPrivilegeEscalation: false + runAsNonRoot: true + capabilities: + drop: + - ALL + ## @param prometheus.thanos.prometheusUrl Override default prometheus url "http://localhost:9090" + ## + prometheusUrl: "" + ## @param prometheus.thanos.extraArgs Additional arguments passed to the thanos sidecar container + ## extraArgs: + ## - --log.level=debug + ## - --tsdb.path=/data/ + ## + extraArgs: [] + ## @param prometheus.thanos.objectStorageConfig Support mounting a Secret for the objectStorageConfig of the sideCar container. + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/thanos.md + ## objectStorageConfig: + ## secretName: thanos-objstore-config + ## secretKey: thanos.yaml + ## + objectStorageConfig: {} + ## ref: https://github.com/thanos-io/thanos/blob/main/docs/components/sidecar.md + ## @param prometheus.thanos.extraVolumeMounts Additional volumeMounts from `prometheus.volumes` for thanos sidecar container + ## extraVolumeMounts: + ## - name: my-secret-volume + ## mountPath: /etc/thanos/secrets/my-secret + ## + extraVolumeMounts: [] + ## Thanos sidecar container resource requests and limits. + ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ + ## We usually recommend not to specify default resources and to leave this as a conscious + ## choice for the user. This also increases chances charts run on environments with little + ## resources, such as Minikube. If you do want to specify resources, uncomment the following + ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. + ## @param prometheus.thanos.resources.limits The resources limits for the Thanos sidecar container + ## @param prometheus.thanos.resources.requests The resources requests for the Thanos sidecar container + ## + resources: + ## Example: + ## limits: + ## cpu: 100m + ## memory: 128Mi + limits: {} + ## Examples: + ## requests: + ## cpu: 100m + ## memory: 128Mi + requests: {} + ## Configure extra options for liveness probe + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes + ## @param prometheus.thanos.livenessProbe.enabled Turn on and off liveness probe + ## @param prometheus.thanos.livenessProbe.path Path of the HTTP service for checking the healthy state + ## @param prometheus.thanos.livenessProbe.initialDelaySeconds Delay before liveness probe is initiated + ## @param prometheus.thanos.livenessProbe.periodSeconds How often to perform the probe + ## @param prometheus.thanos.livenessProbe.timeoutSeconds When the probe times out + ## @param prometheus.thanos.livenessProbe.failureThreshold Minimum consecutive failures for the probe + ## @param prometheus.thanos.livenessProbe.successThreshold Minimum consecutive successes for the probe + ## + livenessProbe: + enabled: true + path: /-/healthy + initialDelaySeconds: 0 + periodSeconds: 5 + timeoutSeconds: 3 + failureThreshold: 120 + successThreshold: 1 + ## Configure extra options for readiness probe + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes + ## @param prometheus.thanos.readinessProbe.enabled Turn on and off readiness probe + ## @param prometheus.thanos.readinessProbe.path Path of the HTTP service for checking the ready state + ## @param prometheus.thanos.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated + ## @param prometheus.thanos.readinessProbe.periodSeconds How often to perform the probe + ## @param prometheus.thanos.readinessProbe.timeoutSeconds When the probe times out + ## @param prometheus.thanos.readinessProbe.failureThreshold Minimum consecutive failures for the probe + ## @param prometheus.thanos.readinessProbe.successThreshold Minimum consecutive successes for the probe + ## + readinessProbe: + enabled: true + path: /-/ready + initialDelaySeconds: 0 + periodSeconds: 5 + timeoutSeconds: 3 + failureThreshold: 120 + successThreshold: 1 + ## Thanos Sidecar Service + ## + service: + ## @param prometheus.thanos.service.type Kubernetes service type + ## + type: ClusterIP + ## @param prometheus.thanos.service.port Thanos service port + ## + port: 10901 + ## @param prometheus.thanos.service.clusterIP Specific cluster IP when service type is cluster IP. Use `None` to create headless service by default. + ## Use a "headless" service by default so it returns every pod's IP instead of loadbalancing requests. + ## + clusterIP: None + ## @param prometheus.thanos.service.nodePort Specify the nodePort value for the LoadBalancer and NodePort service types. + ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport + ## e.g: + ## nodePort: 30901 + ## + nodePort: "" + ## @param prometheus.thanos.service.loadBalancerIP `loadBalancerIP` if service type is `LoadBalancer` + ## Set the LoadBalancer service type to internal only + ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer + ## + loadBalancerIP: "" + ## @param prometheus.thanos.service.loadBalancerSourceRanges Address that are allowed when svc is `LoadBalancer` + ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service + ## e.g: + ## loadBalancerSourceRanges: + ## - 10.10.10.0/24 + ## + loadBalancerSourceRanges: [] + ## @param prometheus.thanos.service.annotations Additional annotations for Prometheus service + ## + annotations: {} + ## @param prometheus.thanos.service.extraPorts Additional ports to expose from the Thanos sidecar container + ## extraPorts: + ## - name: http + ## port: 10902 + ## targetPort: http + ## protocol: tcp + ## + extraPorts: [] + ## @param prometheus.portName Port name used for the pods and governing service. This defaults to web + ## + portName: main +#### +## Alert Manager Config +#### + +## @section Alertmanager Parameters + +## Configuration for alertmanager +## ref: https://prometheus.io/docs/alerting/alertmanager/ +## +alertmanager: + ## @param alertmanager.enabled Deploy Alertmanager to the cluster + ## + enabled: true + ## Service account for Alertmanager to use. + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ + ## + serviceAccount: + ## @param alertmanager.serviceAccount.create Specify whether to create a ServiceAccount for Alertmanager + ## + create: true + ## @param alertmanager.serviceAccount.name The name of the ServiceAccount to create + ## If not set and create is true, a name is generated using the kube-prometheus.alertmanager.fullname template + name: "" + ## Prometheus Alertmanager pods' Security Context + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod + ## @param alertmanager.podSecurityContext.enabled Enable security context + ## @param alertmanager.podSecurityContext.runAsUser User ID for the container + ## @param alertmanager.podSecurityContext.fsGroup Group ID for the container filesystem + ## + podSecurityContext: + enabled: true + runAsUser: 1001 + fsGroup: 1001 + ## Prometheus Alertmanager container's securityContext + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container + ## @param alertmanager.containerSecurityContext.enabled Enable container security context + ## @param alertmanager.containerSecurityContext.readOnlyRootFilesystem mount / (root) as a readonly filesystem + ## @param alertmanager.containerSecurityContext.allowPrivilegeEscalation Switch privilegeEscalation possibility on or off + ## @param alertmanager.containerSecurityContext.runAsNonRoot Force the container to run as a non root user + ## @param alertmanager.containerSecurityContext.capabilities.drop [array] Linux Kernel capabilities which should be dropped + ## + containerSecurityContext: + enabled: true + readOnlyRootFilesystem: false + allowPrivilegeEscalation: false + runAsNonRoot: true + capabilities: + drop: + - ALL + ## Configure pod disruption budgets for Alertmanager + ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget + ## @param alertmanager.podDisruptionBudget.enabled Create a pod disruption budget for Alertmanager + ## @param alertmanager.podDisruptionBudget.minAvailable Minimum number / percentage of pods that should remain scheduled + ## @param alertmanager.podDisruptionBudget.maxUnavailable Maximum number / percentage of pods that may be made unavailable + ## + podDisruptionBudget: + enabled: false + minAvailable: 1 + maxUnavailable: "" + ## If true, create a serviceMonitor for alertmanager + ## + serviceMonitor: + ## @param alertmanager.serviceMonitor.enabled Creates a ServiceMonitor to monitor Alertmanager + ## + enabled: true + ## @param alertmanager.serviceMonitor.interval Scrape interval. If not set, the Prometheus default scrape interval is used. + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint + ## + interval: "" + ## @param alertmanager.serviceMonitor.metricRelabelings Metric relabeling + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs + ## + metricRelabelings: [] + ## @param alertmanager.serviceMonitor.relabelings Relabel configs + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config + ## + relabelings: [] + ## @param alertmanager.externalUrl External URL used to access Alertmanager + ## e.g: + ## externalUrl: https://alertmanager.example.com + ## + externalUrl: "" + ## @param alertmanager.resources CPU/Memory resource requests/limits for node + ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ + ## + resources: {} + ## @param alertmanager.podAffinityPreset Alertmanager Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` + ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity + ## + podAffinityPreset: "" + ## @param alertmanager.podAntiAffinityPreset Alertmanager Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` + ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity + ## + podAntiAffinityPreset: soft + ## Node affinity preset + ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity + ## + nodeAffinityPreset: + ## @param alertmanager.nodeAffinityPreset.type Alertmanager Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` + ## + type: "" + ## @param alertmanager.nodeAffinityPreset.key Alertmanager Node label key to match Ignored if `affinity` is set. + ## E.g. + ## key: "kubernetes.io/e2e-az-name" + ## + key: "" + ## @param alertmanager.nodeAffinityPreset.values Alertmanager Node label values to match. Ignored if `affinity` is set. + ## E.g. + ## values: + ## - e2e-az1 + ## - e2e-az2 + ## + values: [] + ## @param alertmanager.affinity Alertmanager Affinity for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + ## Note: alertmanager.podAffinityPreset, alertmanager.podAntiAffinityPreset, and alertmanager.nodeAffinityPreset will be ignored when it's set + ## + affinity: {} + ## @param alertmanager.nodeSelector Alertmanager Node labels for pod assignment + ## ref: https://kubernetes.io/docs/user-guide/node-selection/ + ## + nodeSelector: {} + ## @param alertmanager.tolerations Alertmanager Tolerations for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + ## + tolerations: [] + ## Alertmanager configuration + ## ref: https://prometheus.io/docs/alerting/configuration/#configuration-file + ## @param alertmanager.config [object] Alertmanager configuration directive + ## @skip alertmanager.config.route.group_by + ## @skip alertmanager.config.route.routes + ## @skip alertmanager.config.receivers + ## + config: + global: + resolve_timeout: 5m + route: + group_by: + - job + group_wait: 30s + group_interval: 5m + repeat_interval: 12h + receiver: "null" + routes: + - match: + alertname: Watchdog + receiver: "null" + receivers: + - name: "null" + ## @param alertmanager.externalConfig Alertmanager configuration is created externally. If true, `alertmanager.config` is ignored, and a secret will not be created. + ## Alertmanager requires a secret named `alertmanager-{{ template "kube-prometheus.alertmanager.fullname" . }}` + ## It must contain: + ## alertmanager.yaml: + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/alerting.md#alerting + ## + externalConfig: false + ## @param alertmanager.replicaCount Number of Alertmanager replicas desired + ## + replicaCount: 1 + ## Configure extra options for liveness probe + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes + ## @param alertmanager.livenessProbe.enabled Turn on and off liveness probe + ## @param alertmanager.livenessProbe.path Path of the HTTP service for checking the healthy state + ## @param alertmanager.livenessProbe.initialDelaySeconds Delay before liveness probe is initiated + ## @param alertmanager.livenessProbe.periodSeconds How often to perform the probe + ## @param alertmanager.livenessProbe.timeoutSeconds When the probe times out + ## @param alertmanager.livenessProbe.failureThreshold Minimum consecutive failures for the probe + ## @param alertmanager.livenessProbe.successThreshold Minimum consecutive successes for the probe + ## + livenessProbe: + enabled: true + path: /-/healthy + initialDelaySeconds: 0 + periodSeconds: 5 + timeoutSeconds: 3 + failureThreshold: 120 + successThreshold: 1 + ## Configure extra options for readiness probe + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes + ## @param alertmanager.readinessProbe.enabled Turn on and off readiness probe + ## @param alertmanager.readinessProbe.path Path of the HTTP service for checking the ready state + ## @param alertmanager.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated + ## @param alertmanager.readinessProbe.periodSeconds How often to perform the probe + ## @param alertmanager.readinessProbe.timeoutSeconds When the probe times out + ## @param alertmanager.readinessProbe.failureThreshold Minimum consecutive failures for the probe + ## @param alertmanager.readinessProbe.successThreshold Minimum consecutive successes for the probe + ## + readinessProbe: + enabled: true + path: /-/ready + initialDelaySeconds: 0 + periodSeconds: 5 + timeoutSeconds: 3 + failureThreshold: 120 + successThreshold: 1 + ## @param alertmanager.logLevel Log level for Alertmanager + ## + logLevel: info + ## @param alertmanager.logFormat Log format for Alertmanager + ## + logFormat: logfmt + ## @param alertmanager.podMetadata [object] Standard object's metadata. + ## ref: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata + ## + podMetadata: + labels: {} + annotations: {} + ## @param alertmanager.secrets Secrets that should be mounted into the Alertmanager Pods + ## + secrets: [] + ## @param alertmanager.configMaps ConfigMaps that should be mounted into the Alertmanager Pods + ## + configMaps: [] + ## @param alertmanager.retention Metrics retention days + ## + retention: 240h + ## @param alertmanager.storageSpec Alertmanager StorageSpec for persistent data + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/storage.md + ## + storageSpec: {} + ## Alertmanager persistence parameters + ## + persistence: + ## @param alertmanager.persistence.enabled Use PVCs to persist data. If the storageSpec is provided this will not take effect. + ## If you want to use this configuration make sure the storageSpec is not provided. + ## + enabled: true + ## @param alertmanager.persistence.storageClass Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. + ## + storageClass: "" + ## @param alertmanager.persistence.accessModes Persistent Volume Access Modes + ## + accessModes: + - ReadWriteOnce + ## @param alertmanager.persistence.size Persistent Volume Size + ## + size: 999Gi + ## @param alertmanager.paused If true, the Operator won't process any Alertmanager configuration changes + ## + paused: false + ## @param alertmanager.listenLocal ListenLocal makes the Alertmanager server listen on loopback + ## + listenLocal: false + ## @param alertmanager.containers Containers allows injecting additional containers + ## + containers: [] + ## @param alertmanager.volumes Volumes allows configuration of additional volumes. Evaluated as a template + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#alertmanagerspec + ## + volumes: [] + ## @param alertmanager.volumeMounts VolumeMounts allows configuration of additional VolumeMounts. Evaluated as a template + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/pi.md#alertmanagerspec + ## + volumeMounts: [] + ## @param alertmanager.priorityClassName Priority class assigned to the Pods + ## + priorityClassName: "" + ## @param alertmanager.additionalPeers AdditionalPeers allows injecting a set of additional Alertmanagers to peer with to form a highly available cluster + ## + additionalPeers: [] + ## @param alertmanager.routePrefix Prefix used to register routes, overriding externalUrl route + ## Useful for proxies that rewrite URLs. + ## + routePrefix: / + ## @param alertmanager.portName Port name used for the pods and governing service. This defaults to web + ## + portName: alertmanager + ## @param alertmanager.configNamespaceSelector AlertmanagerConfigs to be selected for to merge and configure Alertmanager with. This defaults to {} + ## + configNamespaceSelector: {} + ## @param alertmanager.configSelector Namespaces to be selected for AlertmanagerConfig discovery. If nil, only check own namespace. This defaults to {} + ## + configSelector: {} +#### +## Exporters +#### + +## @section Exporters + +## Exporters +## +exporters: + node-exporter: + ## @param exporters.node-exporter.enabled Enable node-exporter + ## + enabled: true + kube-state-metrics: + ## @param exporters.kube-state-metrics.enabled Enable kube-state-metrics + ## + enabled: true +## @param kube-state-metrics [object] Node Exporter deployment configuration +## +kube-state-metrics: + serviceMonitor: + enabled: true + honorLabels: true +## Component scraping for kubelet and kubelet hosted cAdvisor +## +kubelet: + ## @param kubelet.enabled Create a ServiceMonitor to scrape kubelet service + ## + enabled: true + ## @param kubelet.namespace Namespace where kubelet service is deployed. Related configuration `operator.kubeletService.namespace` + ## + namespace: kube-system + serviceMonitor: + ## @param kubelet.serviceMonitor.https Enable scraping of the kubelet over HTTPS + ## + https: true + ## @param kubelet.serviceMonitor.interval Scrape interval (use by default, falling back to Prometheus' default) + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint + ## + interval: "" + ## @param kubelet.serviceMonitor.metricRelabelings Metric relabeling + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs + ## + metricRelabelings: [] + ## @param kubelet.serviceMonitor.relabelings Relabel configs + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config + ## + relabelings: [] + ## @param kubelet.serviceMonitor.cAdvisorMetricRelabelings Metric relabeling for scraping cAdvisor + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs + ## + cAdvisorMetricRelabelings: [] + ## @param kubelet.serviceMonitor.cAdvisorRelabelings Relabel configs for scraping cAdvisor + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs + ## + cAdvisorRelabelings: [] +## Component scraping the kube-apiserver +## +kubeApiServer: + ## @param kubeApiServer.enabled Create a ServiceMonitor to scrape kube-apiserver service + ## + enabled: true + serviceMonitor: + ## @param kubeApiServer.serviceMonitor.interval Scrape interval. If not set, the Prometheus default scrape interval is used. + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint + ## + interval: "" + ## @param kubeApiServer.serviceMonitor.metricRelabelings Metric relabeling + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs + ## + metricRelabelings: [] + ## @param kubeApiServer.serviceMonitor.relabelings Relabel configs + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config + ## + relabelings: [] +## Component scraping the kube-controller-manager +## +kubeControllerManager: + ## @param kubeControllerManager.enabled Create a ServiceMonitor to scrape kube-controller-manager service + ## + enabled: false + ## @param kubeControllerManager.endpoints If your kube controller manager is not deployed as a pod, specify IPs it can be found on + ## endpoints: + ## - 10.141.4.22 + ## - 10.141.4.23 + ## - 10.141.4.24 + ## + endpoints: [] + ## @param kubeControllerManager.namespace Namespace where kube-controller-manager service is deployed. + ## + namespace: kube-system + ## Service ports and selector information + ## @param kubeControllerManager.service.enabled Whether or not to create a Service object for kube-controller-manager + ## @param kubeControllerManager.service.port Listening port of the kube-controller-manager Service object + ## @param kubeControllerManager.service.targetPort Port to target on the kube-controller-manager Pods. This should be the port that kube-controller-manager is exposing metrics on + ## @param kubeControllerManager.service.selector Optional PODs Label selector for the service + ## + service: + enabled: true + port: 10252 + targetPort: 10252 + ## selector: + ## component: kube-controller-manager + ## + selector: {} + serviceMonitor: + ## @param kubeControllerManager.serviceMonitor.interval Scrape interval (use by default, falling back to Prometheus' default) + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint + ## + interval: "" + ## @param kubeControllerManager.serviceMonitor.https Enable scraping kube-controller-manager over https + ## Requires proper certs (not self-signed) and delegated authentication/authorization checks + ## + https: false + ## @param kubeControllerManager.serviceMonitor.insecureSkipVerify Skip TLS certificate validation when scraping + ## + insecureSkipVerify: "" + ## @param kubeControllerManager.serviceMonitor.serverName Name of the server to use when validating TLS certificate + serverName: "" + ## @param kubeControllerManager.serviceMonitor.metricRelabelings Metric relabeling + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs + ## + metricRelabelings: [] + ## @param kubeControllerManager.serviceMonitor.relabelings Relabel configs + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config + ## + relabelings: [] +## Component scraping kube scheduler +## +kubeScheduler: + ## @param kubeScheduler.enabled Create a ServiceMonitor to scrape kube-scheduler service + ## + enabled: false + ## @param kubeScheduler.endpoints If your kube scheduler is not deployed as a pod, specify IPs it can be found on + ## endpoints: + ## - 10.141.4.22 + ## - 10.141.4.23 + ## - 10.141.4.24 + ## + endpoints: [] + ## @param kubeScheduler.namespace Namespace where kube-scheduler service is deployed. + ## + namespace: kube-system + ## If using kubeScheduler.endpoints only the port and targetPort are used + ## @param kubeScheduler.service.enabled Whether or not to create a Service object for kube-scheduler + ## @param kubeScheduler.service.port Listening port of the kube scheduler Service object + ## @param kubeScheduler.service.targetPort Port to target on the kube scheduler Pods. This should be the port that kube scheduler is exposing metrics on + ## @param kubeScheduler.service.selector Optional PODs Label selector for the service + ## + service: + enabled: true + port: 10251 + targetPort: 10251 + ## selector: + ## component: kube-scheduler + ## + selector: {} + serviceMonitor: + ## @param kubeScheduler.serviceMonitor.interval Scrape interval (use by default, falling back to Prometheus' default) + ## + interval: "" + ## @param kubeScheduler.serviceMonitor.https Enable scraping kube-scheduler over https + ## Requires proper certs (not self-signed) and delegated authentication/authorization checks + ## + https: false + ## @param kubeScheduler.serviceMonitor.insecureSkipVerify Skip TLS certificate validation when scraping + ## + insecureSkipVerify: "" + ## @param kubeScheduler.serviceMonitor.serverName Name of the server to use when validating TLS certificate + ## + serverName: "" + ## @param kubeScheduler.serviceMonitor.metricRelabelings Metric relabeling + ## metricRelabelings: + ## - action: keep + ## regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' + ## sourceLabels: [__name__] + ## + metricRelabelings: [] + ## @param kubeScheduler.serviceMonitor.relabelings Relabel configs + ## relabelings: + ## - sourceLabels: [__meta_kubernetes_pod_node_name] + ## separator: ; + ## regex: ^(.*)$ + ## targetLabel: nodename + ## replacement: $1 + ## action: replace + ## + relabelings: [] +## Component scraping coreDns +## +coreDns: + ## @param coreDns.enabled Create a ServiceMonitor to scrape coredns service + ## + enabled: true + ## @param coreDns.namespace Namespace where core dns service is deployed. + ## + namespace: kube-system + ## Create a ServiceMonitor to scrape coredns service + ## @param coreDns.service.enabled Whether or not to create a Service object for coredns + ## @param coreDns.service.port Listening port of the coredns Service object + ## @param coreDns.service.targetPort Port to target on the coredns Pods. This should be the port that coredns is exposing metrics on + ## @param coreDns.service.selector Optional PODs Label selector for the service + ## + service: + enabled: true + port: 9153 + targetPort: 9153 + ## selector: + ## component: kube-dns + ## + selector: {} + serviceMonitor: + ## @param coreDns.serviceMonitor.interval Scrape interval. If not set, the Prometheus default scrape interval is used. + ## + interval: "" + ## @param coreDns.serviceMonitor.metricRelabelings Metric relabel configs to apply to samples before ingestion. + ## metricRelabelings: + ## - action: keep + ## regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' + ## sourceLabels: [__name__] + ## + metricRelabelings: [] + ## @param coreDns.serviceMonitor.relabelings Relabel configs to apply to samples before ingestion. + ## relabelings: + ## - sourceLabels: [__meta_kubernetes_pod_node_name] + ## separator: ; + ## regex: ^(.*)$ + ## targetLabel: nodename + ## replacement: $1 + ## action: replace + ## + relabelings: [] +## Component scraping the kube-proxy +## +kubeProxy: + ## @param kubeProxy.enabled Create a ServiceMonitor to scrape the kube-proxy Service + ## + enabled: false +portal: + open: + enabled: true +updated: true diff --git a/enterprise/prometheus/16.2.1/questions.yaml b/enterprise/prometheus/16.2.1/questions.yaml new file mode 100644 index 00000000000..8ec9f03551c --- /dev/null +++ b/enterprise/prometheus/16.2.1/questions.yaml @@ -0,0 +1,1798 @@ +groups: + - name: Container Image + description: Image to be used for container + - name: General Settings + description: General Deployment Settings + - name: Workload Settings + description: Workload Settings + - name: App Configuration + description: App Specific Config Options + - name: Networking and Services + description: Configure Network and Services for Container + - name: Storage and Persistence + description: Persist and Share Data that is Separate from the Container + - name: Ingress + description: Ingress Configuration + - name: Security and Permissions + description: Configure Security Context and Permissions + - name: Resources and Devices + description: "Specify Resources/Devices to be Allocated to Workload" + - name: Middlewares + description: Traefik Middlewares + - name: Metrics + description: Metrics + - name: Addons + description: Addon Configuration + - name: Advanced + description: Advanced Configuration + - name: Postgresql + description: Postgresql + - name: Documentation + description: Documentation +portals: + open: + protocols: + - "$kubernetes-resource_configmap_tcportal-open_protocol" + host: + - "$kubernetes-resource_configmap_tcportal-open_host" + ports: + - "$kubernetes-resource_configmap_tcportal-open_port" +questions: + - variable: operator + group: "App Configuration" + label: "Operator Settings" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: true + show_subquestions_if: true + subquestions: + - variable: logLevel + label: "Log Level" + description: "Log level for Operator" + schema: + type: string + default: "info" + - variable: prometheus + group: "App Configuration" + label: "Prometheus Settings" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: true + show_subquestions_if: true + subquestions: + - variable: logLevel + label: "Log Level" + description: "Log level for Prometheus" + schema: + type: string + default: "info" + - variable: retention + label: "Retention" + description: "Metrics retention days" + schema: + type: string + default: "31d" + - variable: retentionSize + label: "Max Retention Size" + description: "Maximum size of metrics" + schema: + type: string + default: "" + - variable: scrapeInterval + label: "Scrape interval" + description: "Interval between consecutive scrapes" + schema: + type: string + default: "15s" + - variable: evaluationInterval + label: "Evaluation interval" + description: "Interval between consecutive evaluations" + schema: + type: string + default: "30s" + - variable: disableCompaction + label: "Disable Compaction" + description: "Disable the compaction of the Prometheus TSDB" + schema: + type: boolean + default: false + - variable: walCompression + label: "WAL Compression" + description: "Enable compression of the write-ahead log using Snappy" + schema: + type: boolean + default: false + - variable: remoteWrite + label: "Remote Write" + schema: + type: list + default: [] + items: + - variable: remoteWriteEntry + label: Remote Write Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: url + label: URL + description: Remote write destination URL + schema: + type: string + required: true + default: "" + - variable: basicAuth + label: Basic Auth + description: Basic authentication for remote write + schema: + type: dict + attrs: + - variable: username + label: Username + description: Basic auth username + schema: + type: string + required: true + default: "" + - variable: password + label: Password + description: Basic auth password + schema: + type: string + required: false + default: "" + - variable: exporters + group: "App Configuration" + label: "Exporter Settings" + schema: + additional_attrs: true + type: dict + attrs: + - variable: node-exporter + label: "node-exporter" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: true + - variable: kube-state-metrics + label: "Kube-State-Metrics" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: true + - variable: alertmanager + group: "App Configuration" + label: "Alertmanager Settings" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: true + show_subquestions_if: true + subquestions: + - variable: logLevel + label: "Log Level" + description: "Log level for Alertmanager" + schema: + type: string + default: "info" + - variable: retention + label: "Retention" + description: "Metrics retention days" + schema: + type: string + default: "240h" + - variable: service + group: Networking and Services + label: Configure Service(s) + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The serving the Prometheus WebUI" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Service + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: LoadBalancer + description: LoadBalancer (Expose Ports) + - value: ClusterIP + description: ClusterIP (Do Not Expose Ports) + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: ports + label: "Service's Port(s) Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9090 + required: true + - variable: alertmanager + label: "alertmanager Service" + description: "alertmanager service " + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Service + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: LoadBalancer + description: LoadBalancer (Expose Ports) + - value: ClusterIP + description: ClusterIP (Do Not Expose Ports) + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: ports + label: "Service's Port(s) Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: alertmanager + label: "alertmanager Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9093 + required: true + - variable: serviceexpert + group: Networking and Services + label: Show Expert Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: scaleExternalInterface + description: Add External Interfaces + label: Add external Interfaces + group: Networking + schema: + type: list + items: + - variable: interfaceConfiguration + description: Interface Configuration + label: Interface Configuration + schema: + additional_attrs: true + type: dict + $ref: + - "normalize/interfaceConfiguration" + attrs: + - variable: hostInterface + description: Please Specify Host Interface + label: Host Interface + schema: + type: string + required: true + $ref: + - "definitions/interface" + - variable: ipam + description: Define how IP Address will be managed + label: IP Address Management + schema: + additional_attrs: true + type: dict + required: true + attrs: + - variable: type + description: Specify type for IPAM + label: IPAM Type + schema: + type: string + required: true + enum: + - value: dhcp + description: Use DHCP + - value: static + description: Use Static IP + - variable: staticIPConfigurations + label: Static IP Addresses + schema: + type: list + show_if: [["type", "=", "static"]] + items: + - variable: staticIP + label: Static IP + schema: + type: ipaddr + cidr: true + - variable: staticRoutes + label: Static Routes + schema: + type: list + show_if: [["type", "=", "static"]] + items: + - variable: staticRouteConfiguration + label: Static Route Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: destination + label: Destination + schema: + type: ipaddr + cidr: true + required: true + - variable: gateway + label: Gateway + schema: + type: ipaddr + cidr: false + required: true + - variable: serviceList + label: Add Manual Custom Services + group: Networking and Services + schema: + type: list + default: [] + items: + - variable: serviceListEntry + label: Custom Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the service + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: LoadBalancer + description: LoadBalancer (Expose Ports) + - value: ClusterIP + description: ClusterIP (Do Not Expose Ports) + - value: Simple + description: Deprecated CHANGE THIS + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: advancedsvcset + label: Show Advanced Service Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ipFamilyPolicy + label: IP Family Policy + description: Specify the IP Policy + schema: + type: string + default: SingleStack + enum: + - value: SingleStack + description: SingleStack + - value: PreferDualStack + description: PreferDualStack + - value: RequireDualStack + description: RequireDualStack + - variable: ipFamilies + label: IP Families + description: (Advanced) The IP Families that should be used + schema: + type: list + default: [] + items: + - variable: ipFamily + label: IP Family + schema: + type: string + - variable: portsList + label: Additional Service Ports + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: Custom ports + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Port + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Port Name + schema: + type: string + default: "" + - variable: protocol + label: Port Type + schema: + type: string + default: tcp + enum: + - value: http + description: HTTP + - value: https + description: HTTPS + - value: tcp + description: TCP + - value: udp + description: UDP + - variable: targetPort + label: Target Port + description: This port exposes the container port on the service + schema: + type: int + required: true + - variable: port + label: Container Port + schema: + type: int + required: true + - variable: persistenceList + label: Additional App Storage + group: Storage and Persistence + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: Custom Storage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the storage + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: hostPath + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: iscsi + label: iSCSI Options + schema: + show_if: [["type", "=", "iscsi"]] + type: dict + additional_attrs: true + attrs: + - variable: targetPortal + label: targetPortal + schema: + type: string + required: true + default: "" + - variable: iqn + label: iqn + schema: + type: string + required: true + default: "" + - variable: lun + label: lun + schema: + type: int + default: 0 + - variable: authSession + label: authSession + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: authDiscovery + label: authDiscovery + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: autoPermissions + label: Automatic Permissions Configuration + description: Automatically set permissions + schema: + show_if: [["type", "!=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: chown + label: Run CHOWN + description: | + It will run CHOWN on the path with the given fsGroup + schema: + type: boolean + default: false + - variable: chmod + label: Run CHMOD + description: | + It will run CHMOD on the path with the given value
+ Format should be 3 digits, e.g. 770 + schema: + type: string + valid_chars: '[0-9]{3}' + default: "" + - variable: recursive + label: Recursive + description: | + It will run CHOWN and CHMOD recursively + schema: + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: Mount Path + description: Path inside the container the storage is mounted + schema: + type: string + default: "" + required: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size Quotum of Storage + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: storageClass + label: 'storageClass (Advanced)' + description: 'sets the storageClass to something other than iX default. Only for advanced usecases!' + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "" + - variable: static + label: 'Static Fixed PVC Bindings (Experimental)' + description: Link a PVC to a specific storage location + schema: + show_if: [["type", "=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: mode + label: mode + description: | + disabled: use normal dynamic PVCs + smb: connect to an SMB share + nfs: connect to an NFS share + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: disabled + - value: smb + description: smb + - value: nfs + description: nfs + - variable: server + label: Server + description: server to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "myserver" + - variable: share + label: Share + description: share to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "/myshare" + - variable: user + label: User + description: connecting user + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "myuser" + - variable: domain + label: Domain + description: user domain + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: password + label: Password + description: connecting password + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: volumeSnapshots + label: 'Volume Snapshots (Experimental)' + description: Add an entry to the list to force creation of a volumeSnapshot of this PVC + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: volumeSnapshotEntry + label: Custom volumeSnapshot + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: 'WARNING: renaming this, means deletion of the snapshot with the old name!' + schema: + type: string + default: "mysnapshot" + required: true + - variable: volumeSnapshotClassName + label: 'volumeSnapshot Class Name (Advanced)' + description: For use with PVCs using a non-default storageClass + schema: + type: string + default: "" + - variable: ingress + label: "" + group: Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [{path: "/", pathType: "Prefix"}] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: 'Allow Cross Origin Requests (advanced)' + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: 'namespace (optional)' + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name (Optional) + description: Defaults to chart name + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description (Optional) + description: Defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: icon + label: Icon (Optional) + description: Defaults to chart icon + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: widget + label: Widget Settings + schema: + type: dict + additional_attrs: true + show_if: [["enabled", "=", true]] + attrs: + - variable: enabled + label: Enable Widget + description: When disabled all widget annotations are skipped. + schema: + type: boolean + default: true + - variable: custom + label: Options + schema: + type: dict + additional_attrs: true + attrs: + - variable: key + label: API-key (key) + schema: + type: string + default: "" + - variable: customkv + label: Custom Options + schema: + type: list + default: [] + items: + - variable: option + label: Option + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + default: "" + required: true + - variable: value + label: Value + schema: + type: string + default: "" + required: true + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + - variable: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - variable: scaleCert + label: 'Use TrueNAS SCALE Certificate (Deprecated)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: ingressList + label: Add Manual Custom Ingresses + group: Ingress + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: Custom Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: overrideService + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + show_if: [["certificateIssuer", "=", ""]] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: scaleCert + label: Use TrueNAS SCALE Certificate (Deprecated) + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: Use Custom Secret (Advanced) + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: namespace + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description + description: defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] +# - variable: horizontalPodAutoscaler +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# type: list +# default: [] +# items: +# - variable: hpaEntry +# label: HPA Entry +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: name +# label: Name +# schema: +# type: string +# required: true +# default: "" +# - variable: enabled +# label: Enabled +# schema: +# type: boolean +# default: false +# show_subquestions_if: true +# subquestions: +# - variable: target +# label: Target +# description: Deployment name, Defaults to Main Deployment +# schema: +# type: string +# default: "" +# - variable: minReplicas +# label: Minimum Replicas +# schema: +# type: int +# default: 1 +# - variable: maxReplicas +# label: Maximum Replicas +# schema: +# type: int +# default: 5 +# - variable: targetCPUUtilizationPercentage +# label: Target CPU Utilization Percentage +# schema: +# type: int +# default: 80 +# - variable: targetMemoryUtilizationPercentage +# label: Target Memory Utilization Percentage +# schema: +# type: int +# default: 80 + - variable: networkPolicy + group: Advanced + label: (Advanced) Network Policy + schema: + type: list + default: [] + items: + - variable: netPolicyEntry + label: Network Policy Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + default: "" + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: policyType + label: Policy Type + schema: + type: string + default: "" + enum: + - value: "" + description: Default + - value: ingress + description: Ingress + - value: egress + description: Egress + - value: ingress-egress + description: Ingress and Egress + - variable: egress + label: Egress + schema: + type: list + default: [] + items: + - variable: egressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: to + label: To + schema: + type: list + default: [] + items: + - variable: toEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP + - variable: ingress + label: Ingress + schema: + type: list + default: [] + items: + - variable: ingressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: from + label: From + schema: + type: list + default: [] + items: + - variable: fromEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP diff --git a/enterprise/prometheus/16.2.1/templates/NOTES.txt b/enterprise/prometheus/16.2.1/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/enterprise/prometheus/16.2.1/templates/_helpers.tpl b/enterprise/prometheus/16.2.1/templates/_helpers.tpl new file mode 100644 index 00000000000..1f44049ac4c --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/_helpers.tpl @@ -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 -}} diff --git a/enterprise/prometheus/16.2.1/templates/alertmanager/_alertmanager.tpl b/enterprise/prometheus/16.2.1/templates/alertmanager/_alertmanager.tpl new file mode 100644 index 00000000000..ed5e24e9da6 --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/alertmanager/_alertmanager.tpl @@ -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 }} diff --git a/enterprise/prometheus/16.2.1/templates/alertmanager/secrets.yaml b/enterprise/prometheus/16.2.1/templates/alertmanager/secrets.yaml new file mode 100644 index 00000000000..9a6f518f35c --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/alertmanager/secrets.yaml @@ -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 }} diff --git a/enterprise/prometheus/16.2.1/templates/alertmanager/serviceaccount.yaml b/enterprise/prometheus/16.2.1/templates/alertmanager/serviceaccount.yaml new file mode 100644 index 00000000000..a6f438889a2 --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/alertmanager/serviceaccount.yaml @@ -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 }} diff --git a/enterprise/prometheus/16.2.1/templates/alertmanager/servicemonitor.yaml b/enterprise/prometheus/16.2.1/templates/alertmanager/servicemonitor.yaml new file mode 100644 index 00000000000..ef0e02d3875 --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/alertmanager/servicemonitor.yaml @@ -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 }} diff --git a/enterprise/prometheus/16.2.1/templates/common.yaml b/enterprise/prometheus/16.2.1/templates/common.yaml new file mode 100644 index 00000000000..61364503a70 --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/common.yaml @@ -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" . }} diff --git a/enterprise/prometheus/16.2.1/templates/exporters/core-dns/service.yaml b/enterprise/prometheus/16.2.1/templates/exporters/core-dns/service.yaml new file mode 100644 index 00000000000..359c945de46 --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/exporters/core-dns/service.yaml @@ -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 }} diff --git a/enterprise/prometheus/16.2.1/templates/exporters/core-dns/servicemonitor.yaml b/enterprise/prometheus/16.2.1/templates/exporters/core-dns/servicemonitor.yaml new file mode 100644 index 00000000000..8906b87f8e1 --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/exporters/core-dns/servicemonitor.yaml @@ -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 }} diff --git a/enterprise/prometheus/16.2.1/templates/exporters/kube-apiserver/servicemonitor.yaml b/enterprise/prometheus/16.2.1/templates/exporters/kube-apiserver/servicemonitor.yaml new file mode 100644 index 00000000000..7cfbb53f379 --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/exporters/kube-apiserver/servicemonitor.yaml @@ -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 }} diff --git a/enterprise/prometheus/16.2.1/templates/exporters/kube-controller-manager/endpoints.yaml b/enterprise/prometheus/16.2.1/templates/exporters/kube-controller-manager/endpoints.yaml new file mode 100644 index 00000000000..13aa60ebf66 --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/exporters/kube-controller-manager/endpoints.yaml @@ -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 }} diff --git a/enterprise/prometheus/16.2.1/templates/exporters/kube-controller-manager/service.yaml b/enterprise/prometheus/16.2.1/templates/exporters/kube-controller-manager/service.yaml new file mode 100644 index 00000000000..6a455359832 --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/exporters/kube-controller-manager/service.yaml @@ -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 }} diff --git a/enterprise/prometheus/16.2.1/templates/exporters/kube-controller-manager/servicemonitor.yaml b/enterprise/prometheus/16.2.1/templates/exporters/kube-controller-manager/servicemonitor.yaml new file mode 100644 index 00000000000..d3f56c49914 --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/exporters/kube-controller-manager/servicemonitor.yaml @@ -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 }} diff --git a/enterprise/prometheus/16.2.1/templates/exporters/kube-scheduler/endpoints.yaml b/enterprise/prometheus/16.2.1/templates/exporters/kube-scheduler/endpoints.yaml new file mode 100644 index 00000000000..dde3d8b9110 --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/exporters/kube-scheduler/endpoints.yaml @@ -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 }} diff --git a/enterprise/prometheus/16.2.1/templates/exporters/kube-scheduler/service.yaml b/enterprise/prometheus/16.2.1/templates/exporters/kube-scheduler/service.yaml new file mode 100644 index 00000000000..aad5969f5fd --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/exporters/kube-scheduler/service.yaml @@ -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 -}} diff --git a/enterprise/prometheus/16.2.1/templates/exporters/kube-scheduler/servicemonitor.yaml b/enterprise/prometheus/16.2.1/templates/exporters/kube-scheduler/servicemonitor.yaml new file mode 100644 index 00000000000..7cbe29f86d7 --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/exporters/kube-scheduler/servicemonitor.yaml @@ -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 }} diff --git a/enterprise/prometheus/16.2.1/templates/exporters/kubelet/servicemonitor.yaml b/enterprise/prometheus/16.2.1/templates/exporters/kubelet/servicemonitor.yaml new file mode 100644 index 00000000000..b109d78c453 --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/exporters/kubelet/servicemonitor.yaml @@ -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 }} diff --git a/enterprise/prometheus/16.2.1/templates/prometheus/_additionalPrometheusRules.tpl b/enterprise/prometheus/16.2.1/templates/prometheus/_additionalPrometheusRules.tpl new file mode 100644 index 00000000000..121048d87ce --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/prometheus/_additionalPrometheusRules.tpl @@ -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 }} diff --git a/enterprise/prometheus/16.2.1/templates/prometheus/_additionalScrapeJobs.tpl b/enterprise/prometheus/16.2.1/templates/prometheus/_additionalScrapeJobs.tpl new file mode 100644 index 00000000000..3c5f85140a4 --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/prometheus/_additionalScrapeJobs.tpl @@ -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 }} diff --git a/enterprise/prometheus/16.2.1/templates/prometheus/_prometheus.tpl b/enterprise/prometheus/16.2.1/templates/prometheus/_prometheus.tpl new file mode 100644 index 00000000000..e4c20bc6eb1 --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/prometheus/_prometheus.tpl @@ -0,0 +1,363 @@ +{{- 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.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 }} diff --git a/enterprise/prometheus/16.2.1/templates/prometheus/_servicemonitor.tpl b/enterprise/prometheus/16.2.1/templates/prometheus/_servicemonitor.tpl new file mode 100644 index 00000000000..20744f2c924 --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/prometheus/_servicemonitor.tpl @@ -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 }} diff --git a/enterprise/prometheus/16.2.1/templates/prometheus/clusterrole.yaml b/enterprise/prometheus/16.2.1/templates/prometheus/clusterrole.yaml new file mode 100644 index 00000000000..ae96e2d45f8 --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/prometheus/clusterrole.yaml @@ -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 }} diff --git a/enterprise/prometheus/16.2.1/templates/prometheus/clusterrolebinding.yaml b/enterprise/prometheus/16.2.1/templates/prometheus/clusterrolebinding.yaml new file mode 100644 index 00000000000..7ca10743f4a --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/prometheus/clusterrolebinding.yaml @@ -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 }} diff --git a/enterprise/prometheus/16.2.1/templates/prometheus/serviceaccount.yaml b/enterprise/prometheus/16.2.1/templates/prometheus/serviceaccount.yaml new file mode 100644 index 00000000000..39539fc1191 --- /dev/null +++ b/enterprise/prometheus/16.2.1/templates/prometheus/serviceaccount.yaml @@ -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 }} diff --git a/enterprise/prometheus/16.2.1/values.yaml b/enterprise/prometheus/16.2.1/values.yaml new file mode 100644 index 00000000000..e69de29bb2d