Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,11 @@

// **auto-genereated** section, don't edit manually
// #### BEGIN Helm Chart repositories ####
{"matchDepPatterns":"graphops\\/.*","ignoreUnstable":false,"registryUrls":["https://graphops.github.io/launchpad-charts/canary"]},
{"matchDepPatterns":"graphops\\/.*","registryUrls":["https://graphops.github.io/launchpad-charts/canary"],"ignoreUnstable":false},
{"matchDepPatterns":"ingress-nginx\\/.*","registryUrls":["https://kubernetes.github.io/ingress-nginx"]},
{"matchDepPatterns":"jetstack\\/.*","registryUrls":["https://charts.jetstack.io"]},
{"matchDepPatterns":"prometheus-community\\/.*","registryUrls":["https://prometheus-community.github.io/helm-charts"]},
{"matchDepPatterns":"deliveryhero\\/.*","registryUrls":["https://charts.deliveryhero.io"]},
{"matchDepPatterns":"deliveryhero\\/.*","registryUrls":["ghcr.io/deliveryhero/helm-charts/node-problem-detector"]},
{"matchDepPatterns":"grafana\\/.*","registryUrls":["https://grafana.github.io/helm-charts"]},
{"matchDepPatterns":"postgres-operator-charts\\/.*","registryUrls":["https://opensource.zalando.com/postgres-operator/charts/postgres-operator"]},
{"matchDepPatterns":"sealed-secrets\\/.*","registryUrls":["https://bitnami-labs.github.io/sealed-secrets"]},
Expand Down
3 changes: 0 additions & 3 deletions .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

yarn commitlint --edit $1
3 changes: 0 additions & 3 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
#!/usr/bin/env sh
. "$(dirname "$0")/_/husky.sh"

readonly BASEDIR="$(dirname -- "$0")"
readonly REPOROOT="$(realpath "$BASEDIR/../")"
readonly SCRIPTSDIR="$(realpath "$REPOROOT/src/scripts")"
Expand Down
Binary file modified .yarn/install-state.gz
Binary file not shown.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ This *Namespace* adds software for log and metrics collection and visualization,

- [kube-prometheus-stack](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack)<br>
Installs the kube-prometheus stack, a collection of Kubernetes manifests, Grafana dashboards, and Prometheus rules
- [loki](https://github.com/grafana/helm-charts/tree/main/charts/loki-distributed)<br>
- [loki](https://github.com/grafana/loki/tree/main/production/helm/loki)<br>
Helm chart for Grafana Loki in microservices mode
- [node-problem-detector](https://github.com/deliveryhero/helm-charts/tree/master/stable/node-problem-detector)<br>
This chart installs a node-problem-detector daemonset. This tool aims to make various node problems visible to the upstream layers in cluster management stack.
Expand Down
4 changes: 2 additions & 2 deletions arbitrum/helmfile.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#namespace defaults
{{ $_ := set .Values "_namespaceDefaults" ( `{"flavor":"one","one":{"targetNamespace":"arbitrum-one","scaling":{"deployments":1,"arbitrum-classic":{},"arbitrum-nitro":{}},"features":["proxyd-classic","proxyd-nitro","arbitrum-classic","arbitrum-nitro"]},"common":{"scaling":{"deployments":1,"arbitrum-classic":{},"arbitrum-nitro":{}}},"sepolia":{"targetNamespace":"arbitrum-sepolia","scaling":{"deployments":1,"arbitrum-classic":{},"arbitrum-nitro":{}},"features":["proxyd-nitro","arbitrum-nitro"]}}` | fromJson ) }}
{{ $_ := set .Values "_namespaceDefaults" ( `{"common":{"scaling":{"deployments":1,"arbitrum-classic":{},"arbitrum-nitro":{}}},"flavor":"one","one":{"scaling":{"deployments":1,"arbitrum-classic":{},"arbitrum-nitro":{}},"targetNamespace":"arbitrum-one","features":["proxyd-classic","proxyd-nitro","arbitrum-classic","arbitrum-nitro"]},"sepolia":{"scaling":{"deployments":1,"arbitrum-classic":{},"arbitrum-nitro":{}},"targetNamespace":"arbitrum-sepolia","features":["proxyd-nitro","arbitrum-nitro"]}}` | fromJson ) }}
#set default flavor when missing
{{ if not ( hasKey .Values "flavor" ) }}
{{ $_ := set .Values "flavor" "one" }}
Expand Down Expand Up @@ -155,8 +155,8 @@ repositories:

templates:
defaults:
namespace: '{{ .Values | get "targetNamespace" $_defaultNamespace }}'
missingFileHandler: Warn
namespace: '{{ .Values | get "targetNamespace" $_defaultNamespace }}'

arbitrum-nitro:
{{- if ( .Values | get "arbitrum-nitro" dict | get "chartUrl" false ) }}
Expand Down
4 changes: 2 additions & 2 deletions celo/helmfile.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#namespace defaults
{{ $_ := set .Values "_namespaceDefaults" ( `{"flavor":"mainnet","mainnet":{"targetNamespace":"celo-mainnet","features":["proxyd"],"scaling":{"deployments":1,"celo":{}}},"alfajores":{"targetNamespace":"celo-alfajores","features":["proxyd"],"scaling":{"deployments":1,"celo":{}}},"common":{"features":["proxyd"],"scaling":{"deployments":1,"celo":{}}},"baklava":{"targetNamespace":"celo-baklava","features":["proxyd"],"scaling":{"deployments":1,"celo":{}}}}` | fromJson ) }}
{{ $_ := set .Values "_namespaceDefaults" ( `{"common":{"features":["proxyd"],"scaling":{"deployments":1,"celo":{}}},"flavor":"mainnet","mainnet":{"features":["proxyd"],"scaling":{"deployments":1,"celo":{}},"targetNamespace":"celo-mainnet"},"alfajores":{"features":["proxyd"],"scaling":{"deployments":1,"celo":{}},"targetNamespace":"celo-alfajores"},"baklava":{"features":["proxyd"],"scaling":{"deployments":1,"celo":{}},"targetNamespace":"celo-baklava"}}` | fromJson ) }}
#set default flavor when missing
{{ if not ( hasKey .Values "flavor" ) }}
{{ $_ := set .Values "flavor" "mainnet" }}
Expand Down Expand Up @@ -155,8 +155,8 @@ repositories:

templates:
defaults:
namespace: '{{ .Values | get "targetNamespace" $_defaultNamespace }}'
missingFileHandler: Warn
namespace: '{{ .Values | get "targetNamespace" $_defaultNamespace }}'

celo:
{{- if ( .Values | get "celo" dict | get "chartUrl" false ) }}
Expand Down
4 changes: 2 additions & 2 deletions ethereum/helmfile.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#namespace defaults
{{ $_ := set .Values "_namespaceDefaults" ( `{"flavor":"mainnet","mainnet":{"targetNamespace":"eth-mainnet","features":["nimbus","proxyd"],"scaling":{"deployments":1,"erigon":{},"nimbus":{}}},"goerli":{"targetNamespace":"eth-goerli","features":["nimbus","proxyd"],"scaling":{"deployments":1,"erigon":{},"nimbus":{}}},"holesky":{"targetNamespace":"eth-holesky","features":["nimbus","proxyd"],"scaling":{"deployments":1,"erigon":{},"nimbus":{}}},"common":{"features":["nimbus","proxyd"],"scaling":{"deployments":1,"erigon":{},"nimbus":{}}},"sepolia":{"targetNamespace":"eth-sepolia","features":["nimbus","proxyd"],"scaling":{"deployments":1,"erigon":{},"nimbus":{}}}}` | fromJson ) }}
{{ $_ := set .Values "_namespaceDefaults" ( `{"common":{"features":["nimbus","proxyd"],"scaling":{"deployments":1,"erigon":{},"nimbus":{}}},"flavor":"mainnet","mainnet":{"features":["nimbus","proxyd"],"scaling":{"deployments":1,"erigon":{},"nimbus":{}},"targetNamespace":"eth-mainnet"},"goerli":{"features":["nimbus","proxyd"],"scaling":{"deployments":1,"erigon":{},"nimbus":{}},"targetNamespace":"eth-goerli"},"holesky":{"features":["nimbus","proxyd"],"scaling":{"deployments":1,"erigon":{},"nimbus":{}},"targetNamespace":"eth-holesky"},"sepolia":{"features":["nimbus","proxyd"],"scaling":{"deployments":1,"erigon":{},"nimbus":{}},"targetNamespace":"eth-sepolia"}}` | fromJson ) }}
#set default flavor when missing
{{ if not ( hasKey .Values "flavor" ) }}
{{ $_ := set .Values "flavor" "mainnet" }}
Expand Down Expand Up @@ -155,8 +155,8 @@ repositories:

templates:
defaults:
namespace: '{{ .Values | get "targetNamespace" $_defaultNamespace }}'
missingFileHandler: Warn
namespace: '{{ .Values | get "targetNamespace" $_defaultNamespace }}'

erigon:
{{- if ( .Values | get "erigon" dict | get "chartUrl" false ) }}
Expand Down
4 changes: 2 additions & 2 deletions gnosis/helmfile.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#namespace defaults
{{ $_ := set .Values "_namespaceDefaults" ( `{"flavor":"mainnet","mainnet":{"targetNamespace":"gnosis-mainnet","features":["erigon","lighthouse","proxyd"],"scaling":{"deployments":1,"erigon":{},"lighthouse":{}}},"common":{"features":["erigon","lighthouse","proxyd"],"scaling":{"deployments":1,"erigon":{},"lighthouse":{}}},"chiado":{"targetNamespace":"gnosis-chiado","features":["erigon","lighthouse","proxyd"],"scaling":{"deployments":1,"erigon":{},"lighthouse":{}}}}` | fromJson ) }}
{{ $_ := set .Values "_namespaceDefaults" ( `{"common":{"features":["erigon","lighthouse","proxyd"],"scaling":{"deployments":1,"erigon":{},"lighthouse":{}}},"flavor":"mainnet","mainnet":{"features":["erigon","lighthouse","proxyd"],"scaling":{"deployments":1,"erigon":{},"lighthouse":{}},"targetNamespace":"gnosis-mainnet"},"chiado":{"features":["erigon","lighthouse","proxyd"],"scaling":{"deployments":1,"erigon":{},"lighthouse":{}},"targetNamespace":"gnosis-chiado"}}` | fromJson ) }}
#set default flavor when missing
{{ if not ( hasKey .Values "flavor" ) }}
{{ $_ := set .Values "flavor" "mainnet" }}
Expand Down Expand Up @@ -155,8 +155,8 @@ repositories:

templates:
defaults:
namespace: '{{ .Values | get "targetNamespace" $_defaultNamespace }}'
missingFileHandler: Warn
namespace: '{{ .Values | get "targetNamespace" $_defaultNamespace }}'

erigon:
{{- if ( .Values | get "erigon" dict | get "chartUrl" false ) }}
Expand Down
4 changes: 2 additions & 2 deletions graph/helmfile.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#namespace defaults
{{ $_ := set .Values "_namespaceDefaults" ( `{"flavor":"mainnet","mainnet":{"targetNamespace":"graph-mainnet","features":["subgraph-radio"]},"arbitrum-one":{"targetNamespace":"graph-arbitrum-one","features":["subgraph-radio"]},"common":{"features":["subgraph-radio"]},"arbitrum-sepolia":{"targetNamespace":"graph-arbitrum-sepolia","features":["subgraph-radio"]}}` | fromJson ) }}
{{ $_ := set .Values "_namespaceDefaults" ( `{"common":{"features":["subgraph-radio"]},"flavor":"mainnet","mainnet":{"features":["subgraph-radio"],"targetNamespace":"graph-mainnet"},"arbitrum-one":{"features":["subgraph-radio"],"targetNamespace":"graph-arbitrum-one"},"arbitrum-sepolia":{"features":["subgraph-radio"],"targetNamespace":"graph-arbitrum-sepolia"}}` | fromJson ) }}
#set default flavor when missing
{{ if not ( hasKey .Values "flavor" ) }}
{{ $_ := set .Values "flavor" "mainnet" }}
Expand Down Expand Up @@ -143,8 +143,8 @@ repositories:

templates:
defaults:
namespace: '{{ .Values | get "targetNamespace" $_defaultNamespace }}'
missingFileHandler: Warn
namespace: '{{ .Values | get "targetNamespace" $_defaultNamespace }}'

graph-node:
{{- if ( .Values | get "graph-node" dict | get "chartUrl" false ) }}
Expand Down
2 changes: 1 addition & 1 deletion ingress/helmfile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -143,8 +143,8 @@ repositories:

templates:
defaults:
namespace: '{{ .Values | get "targetNamespace" $_defaultNamespace }}'
missingFileHandler: Warn
namespace: '{{ .Values | get "targetNamespace" $_defaultNamespace }}'

ingress-nginx:
{{- if ( .Values | get "ingress-nginx" dict | get "chartUrl" false ) }}
Expand Down
2 changes: 1 addition & 1 deletion monitoring/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ This *Namespace* adds software for log and metrics collection and visualization,
## Releases
- [kube-prometheus-stack](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack)<br>
Installs the kube-prometheus stack, a collection of Kubernetes manifests, Grafana dashboards, and Prometheus rules
- [loki](https://github.com/grafana/helm-charts/tree/main/charts/loki-distributed)<br>
- [loki](https://github.com/grafana/loki/tree/main/production/helm/loki)<br>
Helm chart for Grafana Loki in microservices mode
- [node-problem-detector](https://github.com/deliveryhero/helm-charts/tree/master/stable/node-problem-detector)<br>
This chart installs a node-problem-detector daemonset. This tool aims to make various node problems visible to the upstream layers in cluster management stack.
Expand Down
14 changes: 7 additions & 7 deletions monitoring/helmfile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -137,14 +137,14 @@ repositories:
- name: prometheus-community
url: https://prometheus-community.github.io/helm-charts
- name: deliveryhero
url: https://charts.deliveryhero.io
url: https://raw.githubusercontent.com/deliveryhero/helm-charts/refs/heads/master/
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Delivery Hero repo URL points to raw GitHub; Helm repo will not resolve

Helm expects a chart repo (index.yaml + tgz artifacts), not a raw branch URL. This change will break the deliveryhero/node-problem-detector resolve below.

Revert to the published repo:

-  - name: deliveryhero
-    url: https://raw.githubusercontent.com/deliveryhero/helm-charts/refs/heads/master/
+  - name: deliveryhero
+    url: https://charts.deliveryhero.io

🏁 Script executed:

#!/bin/bash
set -euo pipefail
for base in \
  "https://raw.githubusercontent.com/deliveryhero/helm-charts/refs/heads/master" \
  "https://charts.deliveryhero.io"
do
  code=$(curl -sSL -o /dev/null -w "%{http_code}" "$base/index.yaml")
  echo "$base/index.yaml -> HTTP $code"
done

Length of output: 837


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Fetch index.yaml from the raw GitHub branch
URL_RAW="https://raw.githubusercontent.com/deliveryhero/helm-charts/refs/heads/master/index.yaml"
echo "Downloading raw index.yaml..."
curl -sSL "$URL_RAW" > raw_index.yaml

# Locate the node-problem-detector entry
entry_line=$(grep -n 'node-problem-detector:' raw_index.yaml | head -n1 | cut -d: -f1)
if [[ -z "$entry_line" ]]; then
  echo "node-problem-detector entry not found in raw index.yaml"
  exit 1
fi

# Show the entry plus the following 8 lines (should include the urls section)
echo "Snippet from raw index.yaml (lines $entry_line to $((entry_line+8))):"
sed -n "${entry_line},$((entry_line+8))p" raw_index.yaml

Length of output: 1178


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Download the raw index.yaml again to ensure freshness
URL_RAW="https://raw.githubusercontent.com/deliveryhero/helm-charts/refs/heads/master/index.yaml"
echo "Fetching raw index.yaml..."
curl -sSL "$URL_RAW" > raw_index.yaml

# Find the line number for the node-problem-detector entry
entry_line=$(grep -n 'node-problem-detector:' raw_index.yaml | head -n1 | cut -d: -f1)
if [[ -z "$entry_line" ]]; then
  echo "Error: node-problem-detector not found"
  exit 1
fi

# Print from that line down 20 lines to capture the urls section
echo "Showing raw_index.yaml lines $entry_line to $((entry_line+20)) for urls:"
sed -n "${entry_line},$((entry_line+20))p" raw_index.yaml

Length of output: 1629


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Constants
INDEX_URL="https://raw.githubusercontent.com/deliveryhero/helm-charts/refs/heads/master/index.yaml"
BASE_RAW="https://raw.githubusercontent.com/deliveryhero/helm-charts/refs/heads/master"

# Download index.yaml
curl -sSL "$INDEX_URL" -o raw_index.yaml

# Locate the node-problem-detector entry
entry_line=$(grep -n 'node-problem-detector:' raw_index.yaml | head -n1 | cut -d: -f1)
if [[ -z "$entry_line" ]]; then
  echo "Error: node-problem-detector entry not found"
  exit 1
fi

# Dump the next 60 lines to capture the urls section
echo "=== raw_index.yaml lines ${entry_line} to $((entry_line+60)) ==="
sed -n "${entry_line},$((entry_line+60))p" raw_index.yaml

# Extract the first .tgz reference (absolute or relative)
first_tgz=$(sed -n "${entry_line},$((entry_line+60))p" raw_index.yaml \
  | grep -m1 '\.tgz' \
  | sed 's/^[[:space:]-]*//')

if [[ -z "$first_tgz" ]]; then
  echo "No .tgz URL or path found in node-problem-detector entry"
  exit 1
fi

# Build full URL if relative
if [[ "$first_tgz" =~ ^https?:// ]]; then
  chart_url="$first_tgz"
else
  chart_url="$BASE_RAW/$first_tgz"
fi

# Test the chart artifact URL
echo "Testing chart URL: $chart_url"
status=$(curl -sSL -o /dev/null -w '%{http_code}' "$chart_url")
echo "$chart_url -> HTTP $status"

Length of output: 3962


Revert Delivery Hero repo URL to published chart repository

The raw-GitHub branch index.yaml only contains OCI‐style URLs (oci://ghcr.io/...), not HTTP .tgz links, so Helm’s built-in chart client will be unable to fetch charts from https://raw.githubusercontent.com/.... Use the published repo which hosts both index.yaml and .tgz artifacts over HTTP.

• File: monitoring/helmfile.yaml (around line 140)

Suggested change:

-  - name: deliveryhero
-    url: https://raw.githubusercontent.com/deliveryhero/helm-charts/refs/heads/master/
+  - name: deliveryhero
+    url: https://charts.deliveryhero.io
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
url: https://raw.githubusercontent.com/deliveryhero/helm-charts/refs/heads/master/
- name: deliveryhero
url: https://charts.deliveryhero.io
🤖 Prompt for AI Agents
In monitoring/helmfile.yaml around line 140, the repository URL currently points
at the raw GitHub content (https://raw.githubusercontent.com/...) which only
exposes OCI-style entries and lacks HTTP .tgz artifacts; replace that URL with
the Delivery Hero published chart repository (for example
https://charts.deliveryhero.io) so Helm can fetch both index.yaml and .tgz chart
packages over HTTP; update the url value accordingly and ensure no other
references expect OCI URLs.

- name: grafana
url: https://grafana.github.io/helm-charts

templates:
defaults:
namespace: '{{ .Values | get "targetNamespace" $_defaultNamespace }}'
missingFileHandler: Warn
namespace: '{{ .Values | get "targetNamespace" $_defaultNamespace }}'

kube-prometheus-stack:
{{- if ( .Values | get "kube-prometheus-stack" dict | get "chartUrl" false ) }}
Expand All @@ -158,7 +158,7 @@ templates:
version: {{ .Values | get "kube-prometheus-stack" | get "chartVersion" }}
{{- end }}
{{- if (not (or ( .Values | get "kube-prometheus-stack" dict | get "chartVersion" false ) ( .Values | get "kube-prometheus-stack" dict | get "chartUrl" false ) )) }}
version: "60.3.0"
version: "76.4.0"
{{- end }}
disableValidationOnInstall: true

Expand All @@ -174,22 +174,22 @@ templates:
version: {{ .Values | get "node-problem-detector" | get "chartVersion" }}
{{- end }}
{{- if (not (or ( .Values | get "node-problem-detector" dict | get "chartVersion" false ) ( .Values | get "node-problem-detector" dict | get "chartUrl" false ) )) }}
version: "2.3.13"
version: "2.3.22"
{{- end }}
Comment on lines +177 to 178
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

node-problem-detector to 2.3.22 — looks good, just confirm values diff

Version bump is straightforward. Double-check if any values changed across the minor bumps to avoid warnings/deprecations at runtime.

Use the same approach as above to verify the chart is resolvable:


🏁 Script executed:

#!/bin/bash
set -euo pipefail
curl -sSL "https://charts.deliveryhero.io/charts/node-problem-detector-2.3.22.tgz" -o /tmp/npd-2.3.22.tgz
tar -xOzf /tmp/npd-2.3.22.tgz node-problem-detector/Chart.yaml | grep -E '^(name|version|appVersion):'

Length of output: 335


To verify that version 2.3.22 is actually published in the Delivery Hero charts repo, please run:


🏁 Script executed:

#!/bin/bash
set -euo pipefail
# Check if node-problem-detector 2.3.22 is listed in the index
curl -sSL "https://charts.deliveryhero.io/charts/index.yaml" \
  | awk '/^node-problem-detector:/{p=1; next} p && /version: 2\.3\.22$/{print; exit}'

Length of output: 164


Please verify the chart contents directly by listing the tarball and extracting its Chart.yaml. For example:

This will confirm both that version 2.3.22 exists and show any changes to its metadata before you review the values diff.


🏁 Script executed:

#!/bin/bash
set -euo pipefail
curl -sSL "https://charts.deliveryhero.io/charts/node-problem-detector-2.3.22.tgz" -o /tmp/npd-2.3.22.tgz

echo "=== Tarball Contents ==="
tar -tzf /tmp/npd-2.3.22.tgz

echo -e "\n=== Chart.yaml ==="
# find the Chart.yaml path and print its key fields
CHART_PATH=$(tar -tzf /tmp/npd-2.3.22.tgz | grep -i 'Chart.yaml' | head -n1)
tar -xOzf /tmp/npd-2.3.22.tgz "$CHART_PATH" | grep -E '^(name|version|appVersion):'

Length of output: 320


node-problem-detector chart 2.3.22 is unavailable

Our attempts to fetch the chart archive and to find 2.3.22 in the repo’s index both failed (non-gzip/404 and no entry in index.yaml), which will break any Helm release.

• File monitoring/helmfile.yaml: line 177 – version: "2.3.22"
• Download of https://charts.deliveryhero.io/charts/node-problem-detector-2.3.22.tgz returned non-gzip (likely 404)
charts/index.yaml does not list 2.3.22

Please either:

  • Revert to the latest published version (e.g. 2.3.21)
  • Or ensure 2.3.22 is pushed to the Delivery Hero charts repo

Once the chart is available, re-run your values diff to confirm there are no breaking changes.

🤖 Prompt for AI Agents
In monitoring/helmfile.yaml around lines 177-178, the node-problem-detector
chart version is set to "2.3.22" which is not available in the Delivery Hero
charts repo; either change the version back to the last known published release
(for example "2.3.21") in that file or ensure the chart v2.3.22 is published to
https://charts.deliveryhero.io and indexed, then re-run the values diff to
confirm no breaking changes; update the version string and commit, or coordinate
with the charts team to push/index 2.3.22 and verify the helm pull succeeds
before merging.


loki:
{{- if ( .Values | get "loki" dict | get "chartUrl" false ) }}
chart: {{ .Values | get "loki" | get "chartUrl" }}
{{- else }}
chart: "grafana/loki-distributed"
chart: "grafana/loki"
{{- end }}
Comment on lines +184 to 185
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Loki: chart switch to grafana/loki 6.36.1 — verify values migration

The rename/version bump is correct for Loki 3.x, but the values schema differs from loki-distributed. Ensure your values no longer rely on legacy component blocks (distributor/ingester/querier/query-frontend/index-gateway/read/write/gateway) and are aligned with the new top-level keys (deploymentMode, storageConfig, schemaConfig, ruler, compactor, gateway, etc.).

Run this repo-local scan to catch lingering legacy keys:

Also applies to: 192-193


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Searching for old chart references..."
rg -nP -C2 '\bloki-distributed\b|grafana/loki-distributed' || true

echo
echo "Scanning loki values files for legacy component keys:"
fd -t f -a '.*loki.*\.(ya?ml|gotmpl)$' | while read -r f; do
  hits=$(rg -nP '\b(distributor|ingester|querier|query-frontend|index-?gateway|write|read|gateway)\b\s*:' "$f" || true)
  if [ -n "$hits" ]; then
    echo "---- $f"
    echo "$hits" | sed -n '1,40p'
  fi
done

Length of output: 1078


Loki values migration required: remove legacy component blocks

Our scan shows that your monitoring/values/loki.yaml still includes legacy component keys that aren’t supported by the new grafana/loki 6.36.1 chart. You’ll need to replace them with the new top-level schema (e.g. deploymentMode, storageConfig, schemaConfig, compactor, gateway, ruler, etc.).

Affected file and lines:

  • monitoring/values/loki.yaml
    • Line 17: ingester:
    • Line 21: querier:
    • Line 25: #gateway:
    • Line 36: ingester:
    • Line 38: querier:
    • Line 46: distributor:
    • Line 67: read:
    • Line 69: write:

Action items:

  • Remove or migrate all legacy blocks (distributor, ingester, querier, query-frontend, index-gateway, read, write, gateway) from your values.
  • Define equivalent settings under the new top-level keys as per the Loki 6.x values schema.
  • Verify no other values files (including those loaded via helmfile.yaml at lines 184–185 and 192–193) reference these legacy sections.

Please update the values files accordingly to avoid runtime errors after the chart bump.

🤖 Prompt for AI Agents
In monitoring/helmfile.yaml around lines 184-185 and in
monitoring/values/loki.yaml (notably lines 17,21,25,36,38,46,67,69), the values
file still contains legacy component blocks (distributor, ingester, querier,
query-frontend, index-gateway, read, write, gateway) that are unsupported by
grafana/loki 6.36.1; remove those legacy blocks and migrate their settings into
the new top-level schema (e.g., map relevant settings into deploymentMode,
storageConfig, schemaConfig, compactor, gateway, ruler, etc.), update any
references in other values files loaded by helmfile (check the includes at
helmfile lines 184–185 and 192–193), and validate the final values against the
Loki 6.x values schema to ensure no legacy keys remain.

inherit:
- template: "defaults"
{{- if ( .Values | get "loki" dict | get "chartVersion" false ) }}
version: {{ .Values | get "loki" | get "chartVersion" }}
{{- end }}
{{- if (not (or ( .Values | get "loki" dict | get "chartVersion" false ) ( .Values | get "loki" dict | get "chartUrl" false ) )) }}
version: "0.79.0"
version: "6.36.1"
{{- end }}
Comment on lines +184 to 193
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Switch to grafana/loki v6.36.1 (Loki 3.x) — verify values migration from loki-distributed

Moving from grafana/loki-distributed to grafana/loki (v6.x) is the correct path for Loki 3.x, but it comes with values/schema differences. Ensure:

  • No remaining references to loki-distributed chart or its component-specific values.
  • Any custom values (storage, schema_config, deploymentMode, ruler/compactor, gateway, service monitors) are aligned with the new chart.

Run this script to spot lingering references and potential old chart-specific structures:

If you’d like, I can help propose a minimal values migration template tailored to your deployment mode.


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Searching for old chart references..."
rg -nP -C2 '\bloki-distributed\b|grafana/loki-distributed' || true

echo
echo "Sampling loki values files for potentially legacy component keys (distributor/ingester/querier/query-frontend/index-gateway/gateway):"
fd -t f -a '.*loki.*\.(ya?ml|gotmpl)$' | while read -r f; do
  hits=$(rg -nP '\b(distributor|ingester|querier|query-frontend|index-?gateway|write|read|gateway)\b\s*:' -n "$f" || true)
  if [ -n "$hits" ]; then
    echo "---- $f"
    echo "$hits" | sed -n '1,20p'
  fi
done

Length of output: 1241


Align component-specific values in values/loki.yaml with grafana/loki v6.36.1 schema

The search confirms there are no lingering loki-distributed chart references, but your monitoring/values/loki.yaml still defines legacy component blocks which the new single-chart no longer uses:

• Lines 17, 21, 36, 38, 46, 67, 69 in values/loki.yaml reference
– ingester
– querier
– distributor
– read
– write
– (and a commented-out gateway)

Please migrate or remove these under the new chart’s top-level keys (e.g. schemaConfig, storageConfig, ruler, compactor, serviceMonitor, etc.) to match the grafana/loki v6.x values schema.

If you’d like a minimal migration template tailored to your deployment mode, let me know—I’m happy to help.


promtail:
Expand All @@ -204,7 +204,7 @@ templates:
version: {{ .Values | get "promtail" | get "chartVersion" }}
{{- end }}
{{- if (not (or ( .Values | get "promtail" dict | get "chartVersion" false ) ( .Values | get "promtail" dict | get "chartUrl" false ) )) }}
version: "6.16.0"
version: "6.16.6"
{{- end }}

releases:
Expand Down
2 changes: 1 addition & 1 deletion monitoring/values/kube-prometheus-stack.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ grafana:
- name: Loki
access: proxy
type: loki
url: http://loki-loki-distributed-gateway
url: http://loki-gateway
version: 1
sidecar:
logLevel: DEBUG
Expand Down
78 changes: 61 additions & 17 deletions monitoring/values/loki.yaml
Original file line number Diff line number Diff line change
@@ -1,29 +1,73 @@
ingester:
persistence:
enabled: true # change to true to enable
claims:
- name: data
size: 20Gi
storageClass: openebs-rawfile-localpv # change if not using openebs-rawfile-localpv

loki:
auth_enabled: false
extraArgs:
- -config.expand-env=true
schemaConfig:
configs:
- from: 2022-01-01
store: boltdb-shipper
object_store: filesystem
schema: v11
- from: 2024-04-01
store: tsdb
object_store: s3
schema: v13
index:
prefix: loki_index_
period: 24h
storageConfig:
boltdb_shipper:
shared_store: filesystem
active_index_directory: /var/loki/index
cache_location: /var/loki/cache
cache_ttl: 168h
filesystem:
directory: /var/loki/chunks
ingester:
chunk_encoding: snappy
tracing:
enabled: true
querier:
# Default is 4, if you have enough memory and CPU you can increase, reduce if OOMing
max_concurrent: 4

#gateway:
# ingress:
# enabled: true
# hosts:
# - host: FIXME
# paths:
# - path: /
# pathType: Prefix

deploymentMode: Distributed

ingester:
replicas: 3
querier:
replicas: 3
maxUnavailable: 2
queryFrontend:
replicas: 2
maxUnavailable: 1
queryScheduler:
replicas: 2
distributor:
replicas: 3
maxUnavailable: 2
compactor:
replicas: 1
indexGateway:
replicas: 2
maxUnavailable: 1

bloomCompactor:
replicas: 0
bloomGateway:
replicas: 0

# Enable minio for storage
minio:
enabled: true

# Zero out replica counts of other deployment modes
backend:
replicas: 0
read:
replicas: 0
write:
replicas: 0

singleBinary:
replicas: 0
4 changes: 2 additions & 2 deletions monitoring/values/promtail.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
config:
lokiAddress: http://loki-loki-distributed-gateway/loki/api/v1/push
lokiAddress: http://loki-gateway/loki/api/v1/push
clients:
- url: http://loki-loki-distributed-gateway/loki/api/v1/push
- url: http://loki-gateway/loki/api/v1/push
containerSecurityContext:
privileged: true
allowPrivilegeEscalation: true
4 changes: 2 additions & 2 deletions polygon/helmfile.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#namespace defaults
{{ $_ := set .Values "_namespaceDefaults" ( `{"flavor":"mainnet","mainnet":{"targetNamespace":"polygon-mainnet","features":["proxyd","erigon","heimdall","heimdall-ha-svc"],"scaling":{"deployments":1,"erigon":{},"heimdall":{}}},"common":{"features":["proxyd","erigon","heimdall","heimdall-ha-svc"],"scaling":{"deployments":1,"erigon":{},"heimdall":{}}},"amoy":{"targetNamespace":"polygon-amoy","features":["proxyd","erigon","heimdall","heimdall-ha-svc"],"scaling":{"deployments":1,"erigon":{},"heimdall":{}}}}` | fromJson ) }}
{{ $_ := set .Values "_namespaceDefaults" ( `{"common":{"features":["proxyd","erigon","heimdall","heimdall-ha-svc"],"scaling":{"deployments":1,"erigon":{},"heimdall":{}}},"flavor":"mainnet","mainnet":{"features":["proxyd","erigon","heimdall","heimdall-ha-svc"],"scaling":{"deployments":1,"erigon":{},"heimdall":{}},"targetNamespace":"polygon-mainnet"},"amoy":{"features":["proxyd","erigon","heimdall","heimdall-ha-svc"],"scaling":{"deployments":1,"erigon":{},"heimdall":{}},"targetNamespace":"polygon-amoy"}}` | fromJson ) }}
#set default flavor when missing
{{ if not ( hasKey .Values "flavor" ) }}
{{ $_ := set .Values "flavor" "mainnet" }}
Expand Down Expand Up @@ -155,8 +155,8 @@ repositories:

templates:
defaults:
namespace: '{{ .Values | get "targetNamespace" $_defaultNamespace }}'
missingFileHandler: Warn
namespace: '{{ .Values | get "targetNamespace" $_defaultNamespace }}'

erigon:
{{- if ( .Values | get "erigon" dict | get "chartUrl" false ) }}
Expand Down
2 changes: 1 addition & 1 deletion postgres-operator/helmfile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,8 @@ repositories:

templates:
defaults:
namespace: '{{ .Values | get "targetNamespace" $_defaultNamespace }}'
missingFileHandler: Warn
namespace: '{{ .Values | get "targetNamespace" $_defaultNamespace }}'

postgres-operator:
{{- if ( .Values | get "postgres-operator" dict | get "chartUrl" false ) }}
Expand Down
Loading