-
Notifications
You must be signed in to change notification settings - Fork 4
feat: switch loki deployment to loki3 chart #746
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
75f378c
7c9d5f3
d9b04a8
3b7c5a8
dd1a6d7
e22d4c4
e0bc56e
fc582ff
85551ca
0d26430
3c07a5a
a36596b
38e070d
1795d30
ea72c56
a4376aa
4a870da
579534f
5014da1
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
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 |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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/ | ||
- 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 ) }} | ||
|
@@ -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 | ||
|
||
|
@@ -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
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Verification agent 🧩 Analysis chainnode-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 • File monitoring/helmfile.yaml: line 177 – Please either:
Once the chart is available, re-run your values diff to confirm there are no breaking changes. 🤖 Prompt for AI Agents
|
||
|
||
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
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Verification agent 🧩 Analysis chainLoki: 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 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 Affected file and lines:
Action items:
Please update the values files accordingly to avoid runtime errors after the chart bump. 🤖 Prompt for AI Agents
|
||
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
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Verification agent 🧩 Analysis chainSwitch 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:
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 • Lines 17, 21, 36, 38, 46, 67, 69 in Please migrate or remove these under the new chart’s top-level keys (e.g. If you’d like a minimal migration template tailored to your deployment mode, let me know—I’m happy to help. |
||
|
||
promtail: | ||
|
@@ -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: | ||
|
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 |
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 |
There was a problem hiding this comment.
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:
🏁 Script executed:
Length of output: 837
🏁 Script executed:
Length of output: 1178
🏁 Script executed:
Length of output: 1629
🏁 Script executed:
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 fromhttps://raw.githubusercontent.com/...
. Use the published repo which hosts bothindex.yaml
and.tgz
artifacts over HTTP.• File: monitoring/helmfile.yaml (around line 140)
Suggested change:
📝 Committable suggestion
🤖 Prompt for AI Agents