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: