diff --git a/charts/grafana/Chart.yaml b/charts/grafana/Chart.yaml index 10b5e02074..f8ff539e08 100644 --- a/charts/grafana/Chart.yaml +++ b/charts/grafana/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: grafana -version: 8.6.3 +version: 8.6.4 appVersion: 11.3.1 kubeVersion: "^1.8.0-0" description: The leading tool for querying and visualizing time series and metrics. diff --git a/charts/grafana/templates/_pod.tpl b/charts/grafana/templates/_pod.tpl index 24ee005276..bf55e43ba7 100644 --- a/charts/grafana/templates/_pod.tpl +++ b/charts/grafana/templates/_pod.tpl @@ -402,6 +402,18 @@ containers: - name: WATCH_CLIENT_TIMEOUT value: "{{ .Values.sidecar.alerts.watchClientTimeout }}" {{- end }} + {{- if .Values.sidecar.alerts.maxTotalRetries }} + - name: REQ_RETRY_TOTAL + value: "{{ .Values.sidecar.alerts.maxTotalRetries }}" + {{- end }} + {{- if .Values.sidecar.alerts.maxConnectRetries }} + - name: REQ_RETRY_CONNECT + value: "{{ .Values.sidecar.alerts.maxConnectRetries }}" + {{- end }} + {{- if .Values.sidecar.alerts.maxReadRetries }} + - name: REQ_RETRY_READ + value: "{{ .Values.sidecar.alerts.maxReadRetries }}" + {{- end }} {{- with .Values.sidecar.livenessProbe }} livenessProbe: {{- toYaml . | nindent 6 }} @@ -518,6 +530,18 @@ containers: - name: WATCH_CLIENT_TIMEOUT value: {{ .Values.sidecar.dashboards.watchClientTimeout | quote }} {{- end }} + {{- if .Values.sidecar.dashboards.maxTotalRetries }} + - name: REQ_RETRY_TOTAL + value: "{{ .Values.sidecar.dashboards.maxTotalRetries }}" + {{- end }} + {{- if .Values.sidecar.dashboards.maxConnectRetries }} + - name: REQ_RETRY_CONNECT + value: "{{ .Values.sidecar.dashboards.maxConnectRetries }}" + {{- end }} + {{- if .Values.sidecar.dashboards.maxReadRetries }} + - name: REQ_RETRY_READ + value: "{{ .Values.sidecar.dashboards.maxReadRetries }}" + {{- end }} {{- with .Values.sidecar.livenessProbe }} livenessProbe: {{- toYaml . | nindent 6 }} @@ -630,6 +654,18 @@ containers: - name: WATCH_CLIENT_TIMEOUT value: "{{ .Values.sidecar.datasources.watchClientTimeout }}" {{- end }} + {{- if .Values.sidecar.datasources.maxTotalRetries }} + - name: REQ_RETRY_TOTAL + value: "{{ .Values.sidecar.datasources.maxTotalRetries }}" + {{- end }} + {{- if .Values.sidecar.datasources.maxConnectRetries }} + - name: REQ_RETRY_CONNECT + value: "{{ .Values.sidecar.datasources.maxConnectRetries }}" + {{- end }} + {{- if .Values.sidecar.datasources.maxReadRetries }} + - name: REQ_RETRY_READ + value: "{{ .Values.sidecar.datasources.maxReadRetries }}" + {{- end }} {{- with .Values.sidecar.livenessProbe }} livenessProbe: {{- toYaml . | nindent 6 }} @@ -737,6 +773,18 @@ containers: - name: WATCH_CLIENT_TIMEOUT value: "{{ .Values.sidecar.notifiers.watchClientTimeout }}" {{- end }} + {{- if .Values.sidecar.notifiers.maxTotalRetries }} + - name: REQ_RETRY_TOTAL + value: "{{ .Values.sidecar.notifiers.maxTotalRetries }}" + {{- end }} + {{- if .Values.sidecar.notifiers.maxConnectRetries }} + - name: REQ_RETRY_CONNECT + value: "{{ .Values.sidecar.notifiers.maxConnectRetries }}" + {{- end }} + {{- if .Values.sidecar.notifiers.maxReadRetries }} + - name: REQ_RETRY_READ + value: "{{ .Values.sidecar.notifiers.maxReadRetries }}" + {{- end }} {{- with .Values.sidecar.livenessProbe }} livenessProbe: {{- toYaml . | nindent 6 }} @@ -844,6 +892,18 @@ containers: - name: WATCH_CLIENT_TIMEOUT value: "{{ .Values.sidecar.plugins.watchClientTimeout }}" {{- end }} + {{- if .Values.sidecar.plugins.maxTotalRetries }} + - name: REQ_RETRY_TOTAL + value: "{{ .Values.sidecar.plugins.maxTotalRetries }}" + {{- end }} + {{- if .Values.sidecar.plugins.maxConnectRetries }} + - name: REQ_RETRY_CONNECT + value: "{{ .Values.sidecar.plugins.maxConnectRetries }}" + {{- end }} + {{- if .Values.sidecar.plugins.maxReadRetries }} + - name: REQ_RETRY_READ + value: "{{ .Values.sidecar.plugins.maxReadRetries }}" + {{- end }} {{- with .Values.sidecar.livenessProbe }} livenessProbe: {{- toYaml . | nindent 6 }} diff --git a/charts/grafana/values.yaml b/charts/grafana/values.yaml index 21ff94d3b7..95696c1200 100644 --- a/charts/grafana/values.yaml +++ b/charts/grafana/values.yaml @@ -982,6 +982,23 @@ sidecar: # defaults to 66sec (sic!) # watchClientTimeout: 60 # + # maxTotalRetries: Total number of retries to allow for any http request. + # Takes precedence over other counts. Applies to all requests to reloadURL and k8s api requests. + # Set to 0 to fail on the first retry. + # maxTotalRetries: 5 + # + # maxConnectRetries: How many connection-related errors to retry on for any http request. + # These are errors raised before the request is sent to the remote server, which we assume has not triggered the server to process the request. + # Applies to all requests to reloadURL and k8s api requests. + # Set to 0 to fail on the first retry of this type. + # maxConnectRetries: 10 + # + # maxReadRetries: How many times to retry on read errors for any http request + # These errors are raised after the request was sent to the server, so the request may have side-effects. + # Applies to all requests to reloadURL and k8s api requests. + # Set to 0 to fail on the first retry of this type. + # maxReadRetries: 5 + # # Endpoint to send request to reload alerts reloadURL: "http://localhost:3000/api/admin/provisioning/alerting/reload" # Absolute path to shell script to execute after a alert got reloaded @@ -1035,6 +1052,24 @@ sidecar: # If specified, the sidecar will look for annotation with this name to create folder and put graph here. # You can use this parameter together with `provider.foldersFromFilesStructure`to annotate configmaps and create folder structure. folderAnnotation: null + # + # maxTotalRetries: Total number of retries to allow for any http request. + # Takes precedence over other counts. Applies to all requests to reloadURL and k8s api requests. + # Set to 0 to fail on the first retry. + # maxTotalRetries: 5 + # + # maxConnectRetries: How many connection-related errors to retry on for any http request. + # These are errors raised before the request is sent to the remote server, which we assume has not triggered the server to process the request. + # Applies to all requests to reloadURL and k8s api requests. + # Set to 0 to fail on the first retry of this type. + # maxConnectRetries: 10 + # + # maxReadRetries: How many times to retry on read errors for any http request + # These errors are raised after the request was sent to the server, so the request may have side-effects. + # Applies to all requests to reloadURL and k8s api requests. + # Set to 0 to fail on the first retry of this type. + # maxReadRetries: 5 + # # Endpoint to send request to reload alerts reloadURL: "http://localhost:3000/api/admin/provisioning/dashboards/reload" # Absolute path to shell script to execute after a configmap got reloaded @@ -1115,6 +1150,23 @@ sidecar: # defaults to 66sec (sic!) # watchClientTimeout: 60 # + # maxTotalRetries: Total number of retries to allow for any http request. + # Takes precedence over other counts. Applies to all requests to reloadURL and k8s api requests. + # Set to 0 to fail on the first retry. + # maxTotalRetries: 5 + # + # maxConnectRetries: How many connection-related errors to retry on for any http request. + # These are errors raised before the request is sent to the remote server, which we assume has not triggered the server to process the request. + # Applies to all requests to reloadURL and k8s api requests. + # Set to 0 to fail on the first retry of this type. + # maxConnectRetries: 10 + # + # maxReadRetries: How many times to retry on read errors for any http request + # These errors are raised after the request was sent to the server, so the request may have side-effects. + # Applies to all requests to reloadURL and k8s api requests. + # Set to 0 to fail on the first retry of this type. + # maxReadRetries: 5 + # # Endpoint to send request to reload datasources reloadURL: "http://localhost:3000/api/admin/provisioning/datasources/reload" # Absolute path to shell script to execute after a datasource got reloaded @@ -1157,6 +1209,23 @@ sidecar: # defaults to 66sec (sic!) # watchClientTimeout: 60 # + # maxTotalRetries: Total number of retries to allow for any http request. + # Takes precedence over other counts. Applies to all requests to reloadURL and k8s api requests. + # Set to 0 to fail on the first retry. + # maxTotalRetries: 5 + # + # maxConnectRetries: How many connection-related errors to retry on for any http request. + # These are errors raised before the request is sent to the remote server, which we assume has not triggered the server to process the request. + # Applies to all requests to reloadURL and k8s api requests. + # Set to 0 to fail on the first retry of this type. + # maxConnectRetries: 10 + # + # maxReadRetries: How many times to retry on read errors for any http request + # These errors are raised after the request was sent to the server, so the request may have side-effects. + # Applies to all requests to reloadURL and k8s api requests. + # Set to 0 to fail on the first retry of this type. + # maxReadRetries: 5 + # # Endpoint to send request to reload plugins reloadURL: "http://localhost:3000/api/admin/provisioning/plugins/reload" # Absolute path to shell script to execute after a plugin got reloaded @@ -1199,6 +1268,23 @@ sidecar: # defaults to 66sec (sic!) # watchClientTimeout: 60 # + # maxTotalRetries: Total number of retries to allow for any http request. + # Takes precedence over other counts. Applies to all requests to reloadURL and k8s api requests. + # Set to 0 to fail on the first retry. + # maxTotalRetries: 5 + # + # maxConnectRetries: How many connection-related errors to retry on for any http request. + # These are errors raised before the request is sent to the remote server, which we assume has not triggered the server to process the request. + # Applies to all requests to reloadURL and k8s api requests. + # Set to 0 to fail on the first retry of this type. + # maxConnectRetries: 10 + # + # maxReadRetries: How many times to retry on read errors for any http request + # These errors are raised after the request was sent to the server, so the request may have side-effects. + # Applies to all requests to reloadURL and k8s api requests. + # Set to 0 to fail on the first retry of this type. + # maxReadRetries: 5 + # # Endpoint to send request to reload notifiers reloadURL: "http://localhost:3000/api/admin/provisioning/notifications/reload" # Absolute path to shell script to execute after a notifier got reloaded diff --git a/charts/rollout-operator/Chart.yaml b/charts/rollout-operator/Chart.yaml index a10b1fda30..cca369dbff 100644 --- a/charts/rollout-operator/Chart.yaml +++ b/charts/rollout-operator/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: rollout-operator description: "Grafana rollout-operator" type: application -version: 0.20.0 -appVersion: v0.20.0 +version: 0.21.0 +appVersion: v0.21.0 home: https://github.com/grafana/rollout-operator kubeVersion: ^1.10.0-0 diff --git a/charts/rollout-operator/README.md b/charts/rollout-operator/README.md index ddf1d17235..372e793841 100644 --- a/charts/rollout-operator/README.md +++ b/charts/rollout-operator/README.md @@ -4,7 +4,7 @@ Helm chart for deploying [Grafana rollout-operator](https://github.com/grafana/r # rollout-operator -![Version: 0.20.0](https://img.shields.io/badge/Version-0.20.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.20.0](https://img.shields.io/badge/AppVersion-v0.20.0-informational?style=flat-square) +![Version: 0.21.0](https://img.shields.io/badge/Version-0.21.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.21.0](https://img.shields.io/badge/AppVersion-v0.21.0-informational?style=flat-square) Grafana rollout-operator diff --git a/charts/tempo-distributed/Chart.yaml b/charts/tempo-distributed/Chart.yaml index 0243393e28..af2a1860b6 100644 --- a/charts/tempo-distributed/Chart.yaml +++ b/charts/tempo-distributed/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: tempo-distributed description: Grafana Tempo in MicroService mode type: application -version: 1.23.1 +version: 1.23.2 appVersion: 2.6.0 engine: gotpl home: https://grafana.com/docs/tempo/latest/ diff --git a/charts/tempo-distributed/README.md b/charts/tempo-distributed/README.md index ef5fb9f82b..9e88500824 100755 --- a/charts/tempo-distributed/README.md +++ b/charts/tempo-distributed/README.md @@ -1,6 +1,6 @@ # tempo-distributed -![Version: 1.23.1](https://img.shields.io/badge/Version-1.23.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.6.0](https://img.shields.io/badge/AppVersion-2.6.0-informational?style=flat-square) +![Version: 1.23.2](https://img.shields.io/badge/Version-1.23.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.6.0](https://img.shields.io/badge/AppVersion-2.6.0-informational?style=flat-square) Grafana Tempo in MicroService mode diff --git a/charts/tempo-distributed/templates/ingester/_helpers-ingester.tpl b/charts/tempo-distributed/templates/ingester/_helpers-ingester.tpl index 4d417ada2c..f7018f507c 100644 --- a/charts/tempo-distributed/templates/ingester/_helpers-ingester.tpl +++ b/charts/tempo-distributed/templates/ingester/_helpers-ingester.tpl @@ -13,12 +13,10 @@ {{- $requestedReplicas := .ctx.Values.ingester.replicas -}} {{- $replicaPerZone := div (add $requestedReplicas $numberOfZones -1) $numberOfZones -}} {{- range $idx, $rolloutZone := .ctx.Values.ingester.zoneAwareReplication.zones -}} -{{- $_ := set $zonesMap $rolloutZone.name (dict -"affinity" (($rolloutZone.extraAffinity | default (dict)) | mergeOverwrite (include "ingester.zoneAntiAffinity" (dict "rolloutZoneName" $rolloutZone.name "topologyKey" $.ctx.Values.ingester.zoneAwareReplication.topologyKey) | fromYaml)) -"nodeSelector" ($rolloutZone.nodeSelector | default (dict) ) -"replicas" $replicaPerZone -"storageClass" $rolloutZone.storageClass -) -}} +{{- $extraAffinity := $rolloutZone.extraAffinity | default (dict) -}} +{{- $zoneAntiAffinity := include "ingester.zoneAntiAffinity" (dict "rolloutZoneName" $rolloutZone.name "topologyKey" $.ctx.Values.ingester.zoneAwareReplication.topologyKey) | fromYaml -}} +{{- $mergedAffinity := mergeOverwrite $extraAffinity $zoneAntiAffinity -}} +{{- $_ := set $zonesMap $rolloutZone.name (dict "affinity" $mergedAffinity "nodeSelector" ($rolloutZone.nodeSelector | default (dict)) "replicas" $replicaPerZone "storageClass" $rolloutZone.storageClass) -}} {{- end -}} {{- else -}} {{- $_ := set $zonesMap "" $defaultZone -}} diff --git a/charts/tempo-vulture/Chart.yaml b/charts/tempo-vulture/Chart.yaml index d17e98aa08..b63938015d 100644 --- a/charts/tempo-vulture/Chart.yaml +++ b/charts/tempo-vulture/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: tempo-vulture description: Grafana Tempo Vulture - A tool to monitor Tempo performance. type: application -version: 0.7.0 +version: 0.7.1 appVersion: 2.6.1 engine: gotpl home: https://grafana.com/docs/tempo/latest/ diff --git a/charts/tempo-vulture/README.md b/charts/tempo-vulture/README.md index def08a3b5d..d685f1eff4 100644 --- a/charts/tempo-vulture/README.md +++ b/charts/tempo-vulture/README.md @@ -1,6 +1,6 @@ # tempo-vulture -![Version: 0.7.0](https://img.shields.io/badge/Version-0.7.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.6.1](https://img.shields.io/badge/AppVersion-2.6.1-informational?style=flat-square) +![Version: 0.7.1](https://img.shields.io/badge/Version-0.7.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.6.1](https://img.shields.io/badge/AppVersion-2.6.1-informational?style=flat-square) Grafana Tempo Vulture - A tool to monitor Tempo performance. @@ -64,6 +64,13 @@ tempoAddress: | nodeSelector | object | `{}` | Node selector for vulture pods | | podAnnotations | object | `{}` | Common annotations for all pods | | podLabels | object | `{}` | Common labels for all pods | +| podMonitor.annotations | object | `{}` | PodMonitor annotations | +| podMonitor.enabled | bool | `false` | If enabled, PodMonitor resources for Prometheus Operator are created | +| podMonitor.interval | string | `nil` | PodMonitor scrape interval | +| podMonitor.labels | object | `{}` | Additional PodMonitor labels | +| podMonitor.namespace | string | `nil` | Alternative namespace for PodMonitor resources | +| podMonitor.namespaceSelector | object | `{}` | Namespace selector for PodMonitor resources | +| podMonitor.scrapeTimeout | string | `nil` | PodMonitor scrape timeout in Go duration format (e.g. 15s) | | replicas | int | `1` | Number of replicas of Tempo Vulture | | resources | object | `{}` | Resource requests and limits for the vulture | | revisionHistoryLimit | int | `10` | The number of old ReplicaSets to retain to allow rollback | @@ -71,13 +78,6 @@ tempoAddress: | serviceAccount.create | bool | `true` | Specifies whether a ServiceAccount should be created | | serviceAccount.imagePullSecrets | list | `[]` | Image pull secrets for the service account | | serviceAccount.name | string | `nil` | The name of the ServiceAccount to use. If not set and create is true, a name is generated using the fullname template | -| serviceMonitor.annotations | object | `{}` | ServiceMonitor annotations | -| serviceMonitor.enabled | bool | `false` | If enabled, ServiceMonitor resources for Prometheus Operator are created | -| serviceMonitor.interval | string | `nil` | ServiceMonitor scrape interval | -| serviceMonitor.labels | object | `{}` | Additional ServiceMonitor labels | -| serviceMonitor.namespace | string | `nil` | Alternative namespace for ServiceMonitor resources | -| serviceMonitor.namespaceSelector | object | `{}` | Namespace selector for ServiceMonitor resources | -| serviceMonitor.scrapeTimeout | string | `nil` | ServiceMonitor scrape timeout in Go duration format (e.g. 15s) | | tempoAddress.push | string | `nil` | the url towards your Tempo distributor, e.g. http://distributor | | tempoAddress.query | string | `nil` | the url towards your Tempo query-frontend, e.g. http://query-frontend:3100 | | tolerations | list | `[]` | Tolerations for vulture pods | \ No newline at end of file diff --git a/charts/tempo-vulture/templates/servicemonitor.yaml b/charts/tempo-vulture/templates/podmonitor.yaml similarity index 91% rename from charts/tempo-vulture/templates/servicemonitor.yaml rename to charts/tempo-vulture/templates/podmonitor.yaml index 2a4dfe20e7..96bca1c2c8 100644 --- a/charts/tempo-vulture/templates/servicemonitor.yaml +++ b/charts/tempo-vulture/templates/podmonitor.yaml @@ -1,7 +1,7 @@ -{{- with .Values.serviceMonitor }} +{{- with .Values.podMonitor}} {{- if .enabled }} apiVersion: monitoring.coreos.com/v1 -kind: ServiceMonitor +kind: PodMonitor metadata: name: {{ include "tempo-vulture.fullname" $ }} {{- with .namespace }} @@ -24,7 +24,7 @@ spec: selector: matchLabels: {{- include "tempo-vulture.selectorLabels" $ | nindent 6 }} - endpoints: + podMetricsEndpoints: - port: prom-metrics {{- with .interval }} interval: {{ . }} diff --git a/charts/tempo-vulture/templates/service.yaml b/charts/tempo-vulture/templates/service.yaml deleted file mode 100644 index 706ca0b8be..0000000000 --- a/charts/tempo-vulture/templates/service.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "tempo-vulture.fullname" . }} - labels: - {{- include "tempo-vulture.labels" . | nindent 4 }} - {{- with .Values.annotations }} - annotations: - {{- toYaml . | indent 4 }} - {{- end }} -spec: - type: ClusterIP - ports: - - port: 8080 - targetPort: prom-metrics - protocol: TCP - name: prom-metrics - selector: - {{- include "tempo-vulture.selectorLabels" . | nindent 4 }} diff --git a/charts/tempo-vulture/values.yaml b/charts/tempo-vulture/values.yaml index def34f9d1c..cf9904ad9b 100644 --- a/charts/tempo-vulture/values.yaml +++ b/charts/tempo-vulture/values.yaml @@ -58,21 +58,21 @@ serviceAccount: # -- Annotations for the service account annotations: {} -# ServiceMonitor configuration -serviceMonitor: - # -- If enabled, ServiceMonitor resources for Prometheus Operator are created +# PodMonitor configuration +podMonitor: + # -- If enabled, PodMonitor resources for Prometheus Operator are created enabled: false - # -- Alternative namespace for ServiceMonitor resources + # -- Alternative namespace for PodMonitor resources namespace: null - # -- Namespace selector for ServiceMonitor resources + # -- Namespace selector for PodMonitor resources namespaceSelector: {} - # -- ServiceMonitor annotations + # -- PodMonitor annotations annotations: {} - # -- Additional ServiceMonitor labels + # -- Additional PodMonitor labels labels: {} - # -- ServiceMonitor scrape interval + # -- PodMonitor scrape interval interval: null - # -- ServiceMonitor scrape timeout in Go duration format (e.g. 15s) + # -- PodMonitor scrape timeout in Go duration format (e.g. 15s) scrapeTimeout: null tempoAddress: