diff --git a/charts/backstage/Chart.yaml b/charts/backstage/Chart.yaml index 58205a4..893f88d 100644 --- a/charts/backstage/Chart.yaml +++ b/charts/backstage/Chart.yaml @@ -38,4 +38,4 @@ sources: # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 2.0.0 +version: 2.1.0 diff --git a/charts/backstage/README.md b/charts/backstage/README.md index a597edd..93f1992 100644 --- a/charts/backstage/README.md +++ b/charts/backstage/README.md @@ -2,7 +2,7 @@ # Backstage Helm Chart [![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/backstage)](https://artifacthub.io/packages/search?repo=backstage) -![Version: 2.0.0](https://img.shields.io/badge/Version-2.0.0-informational?style=flat-square) +![Version: 2.1.0](https://img.shields.io/badge/Version-2.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) A Helm chart for deploying a Backstage application @@ -171,13 +171,14 @@ Kubernetes: `>= 1.19.0-0` | ingress.tls.enabled | Enable TLS configuration for the host defined at `ingress.host` parameter | bool | `false` | | ingress.tls.secretName | The name to which the TLS Secret will be called | string | `""` | | kubeVersion | Override Kubernetes version | string | `""` | -| metrics | Metrics configuration | object | `{"serviceMonitor":{"annotations":{},"enabled":false,"interval":null,"labels":{},"path":"/metrics"}}` | -| metrics.serviceMonitor | ServiceMonitor configuration
Allows configuring your backstage instance as a scrape target for [Prometheus](https://github.com/prometheus/prometheus) using a ServiceMonitor custom resource that [Prometheus Operator](https://github.com/prometheus-operator/prometheus-operator) can understand. | object | `{"annotations":{},"enabled":false,"interval":null,"labels":{},"path":"/metrics"}` | +| metrics | Metrics configuration | object | `{"serviceMonitor":{"annotations":{},"enabled":false,"interval":null,"labels":{},"path":"/metrics","port":"http-backend"}}` | +| metrics.serviceMonitor | ServiceMonitor configuration
Allows configuring your backstage instance as a scrape target for [Prometheus](https://github.com/prometheus/prometheus) using a ServiceMonitor custom resource that [Prometheus Operator](https://github.com/prometheus-operator/prometheus-operator) can understand. | object | `{"annotations":{},"enabled":false,"interval":null,"labels":{},"path":"/metrics","port":"http-backend"}` | | metrics.serviceMonitor.annotations | ServiceMonitor annotations | object | `{}` | | metrics.serviceMonitor.enabled | If enabled, a ServiceMonitor resource for Prometheus Operator is created
Prometheus Operator must be installed in your cluster prior to enabling. | bool | `false` | | metrics.serviceMonitor.interval | ServiceMonitor scrape interval | string | `nil` | | metrics.serviceMonitor.labels | Additional ServiceMonitor labels | object | `{}` | | metrics.serviceMonitor.path | ServiceMonitor endpoint path
Note that the /metrics endpoint is NOT present in a freshly scaffolded Backstage app. To setup, follow the [Prometheus metrics tutorial](https://github.com/backstage/backstage/blob/master/contrib/docs/tutorials/prometheus-metrics.md). | string | `"/metrics"` | +| metrics.serviceMonitor.port | ServiceMonitor endpoint port
The port where the metrics are exposed. If using OpenTelemetry as [documented here](https://backstage.io/docs/tutorials/setup-opentelemetry/), then the port needs to be explicitely specificed. OpenTelemetry's default port is 9464. | string | `"http-backend"` | | nameOverride | String to partially override common.names.fullname | string | `""` | | networkPolicy.egressRules.customRules | Additional custom egress rules | list | `[]` | | networkPolicy.egressRules.denyConnectionsToExternal | Deny external connections. Should not be enabled when working with an external database. | bool | `false` | diff --git a/charts/backstage/templates/servicemonitor.yaml b/charts/backstage/templates/servicemonitor.yaml index 543b302..017be59 100644 --- a/charts/backstage/templates/servicemonitor.yaml +++ b/charts/backstage/templates/servicemonitor.yaml @@ -29,7 +29,7 @@ spec: matchLabels: {{ include "common.labels.standard" . | nindent 6 }} app.kubernetes.io/component: backstage endpoints: - - port: http-backend + - port: {{ .Values.metrics.serviceMonitor.port }} path: {{ .Values.metrics.serviceMonitor.path }} {{- with .Values.metrics.serviceMonitor.interval }} interval: {{ . }} diff --git a/charts/backstage/values.schema.json b/charts/backstage/values.schema.json index 442732f..ea822cd 100644 --- a/charts/backstage/values.schema.json +++ b/charts/backstage/values.schema.json @@ -6352,6 +6352,19 @@ "description": "ote that the /metrics endpoint is NOT present in a freshly scaffolded Backstage app. To setup, follow the Prometheus metrics tutorial. https://github.com/backstage/backstage/blob/master/contrib/docs/tutorials/prometheus-metrics.md", "title": "ServiceMonitor endpoint path", "type": "string" + }, + "port": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ], + "default": "http-backend", + "description": "The port where the metrics are exposed. If using OpenTelemetry as [documented here](https://backstage.io/docs/tutorials/setup-opentelemetry/), then the port needs to be explicitely specificed. OpenTelemetry's default port is 9464.", + "title": "ServiceMonitor endpoint port" } }, "title": "ServiceMonitor configuration", diff --git a/charts/backstage/values.schema.tmpl.json b/charts/backstage/values.schema.tmpl.json index 76915e4..657b902 100644 --- a/charts/backstage/values.schema.tmpl.json +++ b/charts/backstage/values.schema.tmpl.json @@ -864,6 +864,15 @@ "description": "ote that the /metrics endpoint is NOT present in a freshly scaffolded Backstage app. To setup, follow the Prometheus metrics tutorial. https://github.com/backstage/backstage/blob/master/contrib/docs/tutorials/prometheus-metrics.md", "type": "string", "default": "/metrics" + }, + "port": { + "default": "http-backend", + "description": "The port where the metrics are exposed. If using OpenTelemetry as [documented here](https://backstage.io/docs/tutorials/setup-opentelemetry/), then the port needs to be explicitely specificed. OpenTelemetry's default port is 9464.", + "title": "ServiceMonitor endpoint port", + "anyOf": [ + { "type": "string" }, + { "type": "integer" } + ] } } } diff --git a/charts/backstage/values.yaml b/charts/backstage/values.yaml index c98b48b..1a440c1 100644 --- a/charts/backstage/values.yaml +++ b/charts/backstage/values.yaml @@ -460,3 +460,7 @@ metrics: # -- ServiceMonitor endpoint path #
Note that the /metrics endpoint is NOT present in a freshly scaffolded Backstage app. To setup, follow the [Prometheus metrics tutorial](https://github.com/backstage/backstage/blob/master/contrib/docs/tutorials/prometheus-metrics.md). path: /metrics + + # -- ServiceMonitor endpoint port + #
The port where the metrics are exposed. If using OpenTelemetry as [documented here](https://backstage.io/docs/tutorials/setup-opentelemetry/), then the port needs to be explicitely specificed. OpenTelemetry's default port is 9464. + port: http-backend