Observability
Added
- Add support for extracting tags from VsphereCluster and VCDCluster CRs in Crossplane
- Add
clusterProvider field to support scenarios where cluster provider differs from storage provider (e.g., vsphere cluster with azure storage) - Make Azure subscription ID overridable via
crossplane.azure.subscriptionId value (falls back to AzureCluster CR lookup if not provided)
Added
- Add support for extracting tags from
VSphereCluster and VCDCluster CRs in Crossplane. - Add
clusterProvider field to support scenarios where the cluster infrastructure provider differs from the storage provider (e.g., a vSphere cluster using Azure blob storage). - Azure Subscription ID is now overridable via
crossplane.azure.subscriptionId, falling back to an AzureCluster CR lookup if not provided.
Changed
- Refactor VPA templates to use a shared
mimir.lib.verticalPodAutoscaler helper, reducing per-component templates to 3 lines each. - VPA
updateMode now defaults to Recreate (was Auto) and is configurable per component via verticalAutoscaling.updateMode. - VPA
controlledValues and container mode are now configurable per component via verticalAutoscaling.controlledValues and verticalAutoscaling.mode. minAllowed and maxAllowed are now optional and accept any resource key (not limited to cpu and memory).
Added
- Add
ScaledObject resources for loki-write and loki-backend. - Add support for extracting tags from VsphereCluster and VCDCluster CRs in Crossplane
- Add
clusterProvider field to support scenarios where cluster provider differs from storage provider (e.g., vsphere cluster with azure storage) - Make Azure subscription ID overridable via
crossplane.azure.subscriptionId value (falls back to AzureCluster CR lookup if not provided)
Changed
- Enable/Disable HTTPRoute with
.Values.loki.enabled values.
Added
- Add labels to Deployment, DaemonSet, StatefulSet metrics:
app.kubernetes.io/version, helm.toolkit.fluxcd.io/name, helm.toolkit.fluxcd.io/namespace
Added
- Add labels to Deployment, DaemonSet, StatefulSet metrics:
app.kubernetes.io/version, helm.toolkit.fluxcd.io/name, helm.toolkit.fluxcd.io/namespace
Changed
- Upgrade Tempo chart from to 1.61.3 to 2.4.2
- Upgrades Tempo from 2.9.0 to 2.10.1
- Upgrade Tempo Vulture chart from 0.12.5 to 0.12.6
Changed
- Update kube-prometheus-stack to 20.1.0
Added
- Add Gateway API
HTTPRoute resources for Loki, Mimir, and Tempo (read and write), replacing the previous NGINX ingress setup. - Add native JWT authentication via Envoy Gateway
SecurityPolicy.jwt, supporting multiple OIDC providers (e.g. Dex, Azure AD). Configurable via auth.jwt.providers. - Add
/loki/api/v1/rules to the Loki read routes. - Add
GRPCRoute for Tempo gRPC traffic (port 9095), routing all tempopb.* services to tempo-query-frontend with JWT enforcement via SecurityPolicy.
Changed
- Replace NGINX ingress-based auth (
nginx.ingress.kubernetes.io/auth-url) with Envoy Gateway SecurityPolicy JWT validation — no external auth service (oauth2-proxy or Dex extAuth) required. - Change missing
X-Scope-OrgID response code from 400 to 401 across all routes. - When
auth.jwt.providers is empty and a service is enabled, routes are silently not rendered (no chart error). Previously the chart would fail with an error. - Fix Tempo gRPC route service regex from
tempopb to tempopb\.[^/]+ to correctly match package-qualified service names (e.g. tempopb.StreamingQuerier).
Removed
- Remove dependency on oauth2-proxy for write route authentication.
- Remove Envoy Gateway
Backend CRD and extAuth configuration in favour of inline JWT validation.
Changed
- Upgraded chart dependency to kube-prometheus-stack-82.8.0
- Added VPA support for Alertmanager
- Added VPA support for Prometheus
- grafana from 11.2.2 to 11.2.3
Changed
- Upgraded chart dependency to kube-prometheus-stack-82.8.0
- Added VPA support for Alertmanager
- Added VPA support for Prometheus
- grafana from 11.2.2 to 11.2.3