Skip to content

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

Open
wants to merge 19 commits into
base: main
Choose a base branch
from
Open

Conversation

i0n
Copy link
Contributor

@i0n i0n commented Jun 24, 2024

Description

Switch loki deployment to loki3 chart

Summary by CodeRabbit

  • New Features

    • Upgraded monitoring stack: kube-prometheus-stack, Loki, Promtail, and node-problem-detector to newer versions for improved stability and features.
  • Configuration Changes

    • Loki chart source and naming moved to the Grafana Loki production chart.
    • Repository endpoints updated for certain chart providers.
  • Schema & Defaults

    • Reorganized and simplified defaults, feature lists, and scaling placements across namespaces; minor template ordering tweaks for namespace defaults.

Copy link

coderabbitai bot commented Aug 28, 2024

Walkthrough

Updated Helm chart references and versions for monitoring (including Loki chart rename), adjusted repository URLs, added a namespace default mapping in monitoring Helmfile, and reordered/cleaned schema and Helmfile defaults across multiple namespaces; changes are metadata, ordering, and version bumps only, with no runtime logic changes.

Changes

Cohort / File(s) Change summary
Monitoring manifests
monitoring/helmfile.yaml, src/schemas/monitoring.cue
Added templates.defaults.namespace mapping; updated repository URL for deliveryhero; bumped chart versions: kube-prometheus-stack 60.3.0 → 76.4.0, node-problem-detector 2.3.13 → 2.3.22, promtail 6.16.0 → 6.16.6; changed Loki chart from grafana/loki-distributed (0.79.0) → grafana/loki (6.36.1).
Global schema
schema.json
Removed nested enum wrappers around feature arrays, swapped repository/description usages in many release chart metadata, reordered/added features and scaling placements across multiple namespaces, and updated Loki chart name/URL metadata.
Charts registry / defs
src/charts.cue, src/schemas/build_tool.cue
DeliveryHero repository URL changed to raw GitHub path; Grafana Loki chart entry renamed/URL updated; build_tool change: per-release repo rendering now emits oci: true when repo declares OCI.
Helmfile namespace defaults (ordering only)
arbitrum/helmfile.yaml, celo/helmfile.yaml, ethereum/helmfile.yaml, gnosis/helmfile.yaml, graph/helmfile.yaml, polygon/helmfile.yaml
Reordered keys inside _namespaceDefaults JSON (e.g., move common first) and reordered subkeys (features/scaling vs targetNamespace); no value or logic changes.
templates.defaults ordering (whitespace only)
ingress/helmfile.yaml, postgres-operator/helmfile.yaml, sealed-secrets/helmfile.yaml, storage/helmfile.yaml
Moved namespace line to after missingFileHandler: Warn (whitespace/ordering-only change).
Renovate config
.github/renovate.json5
Reordered keys in renovate rule objects and changed deliveryhero registryUrls to a GHCR path for node-problem-detector; semantics preserved except URL update.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • calinah
  • graphops-renovate-approve

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bug/loki_upgrade

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 1851358 and d9b04a8.

Files selected for processing (9)
  • README.md (1 hunks)
  • monitoring/README.md (1 hunks)
  • monitoring/helmfile.yaml (3 hunks)
  • monitoring/values/kube-prometheus-stack.yaml (1 hunks)
  • monitoring/values/loki.yaml (1 hunks)
  • monitoring/values/promtail.yaml (1 hunks)
  • schema.json (5 hunks)
  • src/charts.cue (1 hunks)
  • src/schemas/monitoring.cue (2 hunks)
Files skipped from review due to trivial changes (3)
  • README.md
  • monitoring/README.md
  • monitoring/values/promtail.yaml
Additional comments not posted (28)
monitoring/values/loki.yaml (15)

7-9: LGTM!

The updates to schemaConfig reflect a shift to a more scalable and performant data management strategy.

The code changes are approved.


17-18: LGTM!

The chunk_encoding set to snappy can improve compression and decompression speed.

The code changes are approved.


34-34: LGTM!

Setting the deploymentMode to Distributed indicates a shift to a more scalable and fault-tolerant architecture.

The code changes are approved.


36-37: LGTM!

Setting the ingester replicas to 3 improves fault tolerance and load balancing.

The code changes are approved.


38-40: LGTM!

Setting the querier replicas to 3 and maxUnavailable to 2 ensures high availability and fault tolerance.

The code changes are approved.


41-43: LGTM!

Setting the queryFrontend replicas to 2 and maxUnavailable to 1 ensures high availability and fault tolerance.

The code changes are approved.


44-45: LGTM!

Setting the queryScheduler replicas to 2 improves fault tolerance and load balancing.

The code changes are approved.


46-48: LGTM!

Setting the distributor replicas to 3 and maxUnavailable to 2 ensures high availability and fault tolerance.

The code changes are approved.


49-50: LGTM!

Setting the compactor replicas to 1 is sufficient for compaction tasks.

The code changes are approved.


51-53: LGTM!

Setting the indexGateway replicas to 2 and maxUnavailable to 1 ensures high availability and fault tolerance.

The code changes are approved.


55-56: LGTM!

Setting the bloomCompactor replicas to 0 indicates that this component is not needed.

The code changes are approved.


57-58: LGTM!

Setting the bloomGateway replicas to 0 indicates that this component is not needed.

The code changes are approved.


60-62: LGTM!

Enabling minio for storage provides an alternative object storage solution.

The code changes are approved.


65-66: LGTM!

Setting the backend replicas to 0 indicates that this deployment mode is not needed.

The code changes are approved.


72-73: LGTM!

Setting the singleBinary replicas to 0 indicates that this deployment mode is not needed.

The code changes are approved.

monitoring/values/kube-prometheus-stack.yaml (1)

60-60: LGTM! But verify the URL resolution.

Updating the URL for the Loki data source in Grafana ensures that it points to the correct service endpoint. However, verify that the new URL resolves correctly and points to the intended service.

The code changes are approved.

Run the following script to verify the URL resolution:

src/schemas/monitoring.cue (3)

54-54: LGTM!

Updating the version to 62.3.0 ensures that the latest features and fixes are included.

The code changes are approved.


64-66: LGTM!

Updating the chart reference to loki and the version to 6.10.1 ensures that the latest features and fixes are included.

The code changes are approved.


71-71: LGTM!

Updating the version to 6.16.5 ensures that the latest features and fixes are included.

The code changes are approved.

src/charts.cue (1)

163-164: LGTM! But verify the new URL.

The change correctly updates the Loki chart configuration. Ensure that the new URL is correct and accessible.

The code changes are approved.

Run the following script to verify the new URL:

Verification successful

URL Verification Successful

The URL for the Loki chart is correct and accessible, as confirmed by the HTTP status code 200. No issues were found with the URL change in the code.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the new URL for the Loki chart.

# Test: Check if the new URL is accessible. Expect: HTTP status 200.
curl -I https://github.com/grafana/loki/tree/main/production/helm/loki

Length of output: 4806

monitoring/helmfile.yaml (4)

184-184: LGTM! But verify the new chart reference.

The change simplifies the Loki chart structure. Ensure that the new chart reference is correct and accessible.

The code changes are approved.

Run the following script to verify the new chart reference:

Verification successful

Verification Successful: New Loki Chart Reference is Accessible

The new chart reference for Loki (grafana/loki) is valid and accessible, as confirmed by the successful HTTP status 200 from the GitHub URL. No further action is needed.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the new chart reference for Loki.

# Test: Check if the new chart reference is accessible. Expect: HTTP status 200.
curl -I https://github.com/grafana/helm-charts/tree/main/charts/loki

Length of output: 4801


207-207: LGTM! But verify compatibility.

The version update for Promtail likely includes bug fixes or improvements. Ensure compatibility with the rest of the stack.

The code changes are approved.

Run the following script to verify compatibility:

Verification successful

No compatibility issues found with Promtail version update.

The update to Promtail version 6.16.5 does not appear to introduce any compatibility issues based on the codebase and documentation review. The patch update is likely to include bug fixes and improvements.

  • No specific version constraints or compatibility warnings were found in configuration files or documentation.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify compatibility of the new version for Promtail.

# Test: Check the release notes for version 6.16.5. Expect: No breaking changes.
curl -s https://github.com/grafana/promtail/releases | grep "6.16.5"

Length of output: 68


Script:

#!/bin/bash
# Search for any specific dependencies or configurations related to Promtail in the codebase.

# Look for any mentions of Promtail in configuration files to check for compatibility issues.
rg -i "promtail" -A 3

# Check for any specific version constraints or notes in documentation files.
rg -i "promtail" --glob "*.md" -A 3

Length of output: 8896


192-192: LGTM! But verify compatibility.

The version update for Loki likely introduces enhancements or changes in functionality. Ensure compatibility with the rest of the stack.

The code changes are approved.

Run the following script to verify compatibility:


161-161: LGTM! But verify compatibility.

The version update for kube-prometheus-stack likely includes new features or fixes. Ensure compatibility with the rest of the stack.

The code changes are approved.

Run the following script to verify compatibility:

schema.json (4)

4396-4396: LGTM!

The URL for the Loki Helm chart has been correctly updated to the new repository location.

The code changes are approved.


4414-4414: LGTM!

The name for the Loki Helm chart has been correctly updated from "loki-distributed" to "loki".

The code changes are approved.


6835-6835: LGTM!

The URL for the Loki Helm chart has been correctly updated to the new repository location.

The code changes are approved.


6869-6869: LGTM!

The name for the Loki Helm chart has been correctly updated from "loki-distributed" to "loki".

The code changes are approved.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (3)
src/schemas/monitoring.cue (1)

54-71: Summary of changes to the monitoring stack

This update includes significant changes to the monitoring stack:

  1. Major update to Loki (0.79.0 to 6.16.1) with a change in chart reference from "loki-distributed" to "loki".
  2. Substantial version update for kube-prometheus-stack (60.3.0 to 65.1.1).
  3. Minor version updates for node-problem-detector and Promtail.

These changes, especially those related to Loki, suggest a significant overhaul of the monitoring setup. Ensure that:

  1. All breaking changes have been addressed.
  2. The new features and improvements are properly leveraged.
  3. The overall monitoring architecture remains consistent with your requirements.
  4. Thorough testing is performed to validate the functionality and performance of the updated stack.

Consider reviewing the entire monitoring pipeline to ensure that these updates, particularly the Loki changes, align with your current and future monitoring needs. This might be a good opportunity to reassess and optimize your logging and monitoring strategies.

monitoring/helmfile.yaml (2)

179-179: Remove trailing space

There's a trailing space on this line. While it doesn't affect functionality, it's good practice to remove trailing spaces for consistency and to avoid potential issues with some tools.

Please remove the trailing space at the end of this line.

🧰 Tools
🪛 yamllint

[error] 179-179: trailing spaces

(trailing-spaces)


Line range hint 1-338: Summary of changes and recommendations

This update involves several version changes to the monitoring stack components, with the most significant change being the Loki deployment. Here's a summary of the key points:

  1. kube-prometheus-stack: Major version update (60.3.0 to 65.1.1)
  2. node-problem-detector: Minor version update (2.3.13 to 2.3.14)
  3. Loki: Chart change (loki-distributed to loki) and major version update (0.79.0 to 6.16.1)
  4. Promtail: Patch update (6.16.0 to 6.16.6)

Given the scope of these changes, especially the Loki deployment modification, I recommend the following steps:

  1. Create a detailed migration plan, focusing on the Loki chart change.
  2. Review all changelogs thoroughly, particularly for kube-prometheus-stack and Loki.
  3. Update any dependent configurations or scripts affected by these changes.
  4. Perform comprehensive testing in a non-production environment that mirrors your production setup as closely as possible.
  5. Plan for a staged rollout if possible, to minimize potential disruptions.
  6. Ensure your backup and rollback procedures are up-to-date before proceeding with the update.
  7. Monitor the system closely after deployment for any unexpected behaviors or performance issues.

These steps will help ensure a smooth transition to the updated monitoring stack while minimizing risks associated with the significant changes, particularly in the Loki deployment.

🧰 Tools
🪛 yamllint

[error] 179-179: trailing spaces

(trailing-spaces)


[error] 194-194: trailing spaces

(trailing-spaces)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 3b7c5a8 and dd1a6d7.

⛔ Files ignored due to path filters (1)
  • .yarn/install-state.gz is excluded by !**/.yarn/**, !**/*.gz
📒 Files selected for processing (2)
  • monitoring/helmfile.yaml (3 hunks)
  • src/schemas/monitoring.cue (1 hunks)
🧰 Additional context used
🪛 yamllint
monitoring/helmfile.yaml

[error] 179-179: trailing spaces

(trailing-spaces)

🔇 Additional comments (9)
src/schemas/monitoring.cue (5)

61-61: Minor version update for node-problem-detector

The version of node-problem-detector has been updated from 2.3.13 to 2.3.14. This minor version update is likely to include bug fixes and small improvements.

The change appears to be low-risk, but it's always good practice to review the changelog for any relevant updates or fixes.


71-71: Minor version update for Promtail

The version of Promtail has been updated from 6.16.0 to 6.16.6. This minor version update is likely to include bug fixes and small improvements.

The change appears to be low-risk. It's worth noting that this Promtail version (6.16.6) aligns closely with the new Loki version (6.16.1), which is good for compatibility. As always, it's good practice to review the changelog for any relevant updates or fixes.


54-54: Significant version update for kube-prometheus-stack

The version of kube-prometheus-stack has been updated from 60.3.0 to 65.1.1, which is a substantial jump. This update may introduce breaking changes or new features that require attention.

Please review the changelog for kube-prometheus-stack between versions 60.3.0 and 65.1.1 to ensure:

  1. There are no breaking changes that might affect your current setup.
  2. Any new features or configurations that need to be addressed.

You can use the following script to fetch the relevant changelog entries:

#!/bin/bash
# Fetch changelog entries for kube-prometheus-stack between versions 60.3.0 and 65.1.1
gh release view --repo prometheus-community/helm-charts 65.1.1 --json body --jq .body | sed -n '/## kube-prometheus-stack/,/^$/p'

66-66: Major version update for Loki

The version of Loki has been dramatically updated from 0.79.0 to 6.16.1. This is a significant version jump that aligns with the change in chart reference from "loki-distributed" to "loki".

This major update is likely to introduce breaking changes and new features. Please ensure:

  1. The deployment configuration has been updated to accommodate any breaking changes.
  2. New features or improvements in this version are properly leveraged.
  3. The migration path from the old version to the new one has been carefully planned and tested.

You can use the following script to fetch the relevant changelog entries:

#!/bin/bash
# Fetch changelog entries for Loki between versions 0.79.0 and 6.16.1
gh release view --repo grafana/loki 6.16.1 --json body --jq .body

64-64: Chart reference changed for Loki

The chart reference for Loki has been changed from "loki-distributed" to "loki". This change suggests a shift from using the distributed version of Loki to the standard version.

Please clarify:

  1. Why was this change made?
  2. Does this align with the current deployment requirements and scalability needs?
  3. Are there any architectural changes required in the Loki deployment as a result of this switch?

To verify the impact of this change, you can run the following script to check for any references to the old chart name in the repository:

monitoring/helmfile.yaml (4)

177-177: Minor version update for node-problem-detector

The node-problem-detector chart version has been updated from 2.3.13 to 2.3.14. This minor update likely includes bug fixes and small improvements.

While this update is likely low-risk, it's still good practice to review the changelog for any relevant changes or improvements that may affect your setup.


207-207: Patch update for Promtail

The Promtail chart version has been updated from 6.16.0 to 6.16.6. This patch update likely includes bug fixes and minor improvements.

While this update is likely low-risk, it's good practice to review the changelog for any relevant fixes or improvements that may benefit your setup. Ensure that this version is compatible with the new Loki version you're deploying.


184-184: Major change in Loki chart and version

The Loki deployment has undergone significant changes:

  1. The chart has been switched from grafana/loki-distributed to grafana/loki.
  2. The version has been updated from 0.79.0 to 6.16.1.

These changes suggest a substantial shift in the Loki deployment strategy and architecture.

Before proceeding with this update, please ensure that:

  1. You've thoroughly reviewed the Loki documentation for the new chart structure and any migration steps required.
  2. You've assessed the impact of switching from a distributed setup to potentially a single-binary deployment (if that's the case with the new chart).
  3. You've reviewed the changelog for all versions between 0.79.0 and 6.16.1 for breaking changes and new features.
  4. You've updated any dependent configurations or scripts that might be affected by this change.
  5. You've planned for comprehensive testing in a non-production environment to validate the new setup.

To assist with the verification, you can run the following script to compare the values.yaml files of the old and new charts:

#!/bin/bash
# Fetch and compare values.yaml files
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
helm show values grafana/loki-distributed --version 0.79.0 > old_values.yaml
helm show values grafana/loki --version 6.16.1 > new_values.yaml
diff -u old_values.yaml new_values.yaml

This script will help identify the structural changes in the chart configuration, which can guide your migration process.

Also applies to: 192-192


161-161: Significant version update for kube-prometheus-stack

The kube-prometheus-stack chart version has been updated from 60.3.0 to 65.1.1. This is a substantial version jump that may introduce new features, improvements, and potentially breaking changes.

Please ensure that:

  1. You've reviewed the changelog for any breaking changes or new features that may impact your current setup.
  2. Thorough testing is performed in a non-production environment before deploying this update.

To assist with the verification, you can run the following script to check for potential breaking changes:

This script will help identify any explicitly mentioned breaking changes in the release notes.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (1)
monitoring/helmfile.yaml (1)

179-179: Remove trailing space

There's a trailing space on this line. While it doesn't affect functionality, it's good practice to remove trailing spaces to maintain clean code and avoid potential issues with version control systems.

Please remove the trailing space at the end of this line.

🧰 Tools
🪛 yamllint

[error] 179-179: trailing spaces

(trailing-spaces)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between dd1a6d7 and e22d4c4.

📒 Files selected for processing (2)
  • monitoring/helmfile.yaml (3 hunks)
  • src/schemas/monitoring.cue (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/schemas/monitoring.cue
🧰 Additional context used
🪛 yamllint
monitoring/helmfile.yaml

[error] 179-179: trailing spaces

(trailing-spaces)

🔇 Additional comments (4)
monitoring/helmfile.yaml (4)

177-177: Minor version update for node-problem-detector

The node-problem-detector chart version has been updated from 2.3.13 to 2.3.14. This minor update likely includes bug fixes or small improvements.

While this change is likely backwards compatible, it's good practice to review the changelog. You can use the following command to check for any relevant updates:

#!/bin/bash
# Fetch the changelog for node-problem-detector
gh release view --repo deliveryhero/helm-charts v2.3.14 | grep -A 20 "node-problem-detector"

161-161: Significant version update for kube-prometheus-stack

The kube-prometheus-stack chart version has been updated from 60.3.0 to 65.1.1. This is a substantial version jump that may introduce breaking changes or new features.

Please ensure compatibility with your current setup and review the changelog for any critical updates. You can use the following command to check the changelog:

#!/bin/bash
# Fetch the changelog for kube-prometheus-stack
gh release view --repo prometheus-community/helm-charts v65.1.1 | grep -A 50 "kube-prometheus-stack"

207-207: Patch update for Promtail chart

The Promtail chart version has been updated from 6.16.0 to 6.16.6. This patch update likely includes bug fixes and minor improvements.

While this change is likely backwards compatible, it's good practice to review the changelog for any relevant updates. You can use the following command to check the changelog:

#!/bin/bash
# Fetch the changelog for Promtail chart
gh release view --repo grafana/helm-charts promtail-6.16.6 | grep -A 20 "Changelog"

184-192: Major update: Switching to new Loki chart and version

The Loki chart has been changed from "grafana/loki-distributed" to "grafana/loki" with a significant version update from 0.79.0 to 6.16.0. This change aligns with the PR objective of switching to the Loki3 chart.

This update involves:

  1. A change in the deployment architecture (from distributed to single-binary).
  2. A major version jump, indicating substantial changes in the chart structure and configuration.

Given the scope of these changes, please ensure:

  1. The new chart's configuration aligns with your deployment requirements.
  2. Thorough testing is performed in a non-production environment.
  3. Migration steps, if any, are properly followed.

You can use the following command to review the changelog and migration guide:

Would you like assistance in reviewing the configuration changes required for this new Loki chart version?

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (1)
monitoring/helmfile.yaml (1)

184-192: Consider operational impact of Loki architecture change

The switch from distributed to single Loki deployment might affect:

  1. Scalability:

    • Evaluate if single deployment meets your scalability requirements
    • Consider future growth in log volume
  2. High Availability:

    • Review HA requirements
    • Consider implementing appropriate redundancy measures
  3. Performance:

    • Monitor query performance
    • Set up appropriate alerting for Loki metrics

Would you like assistance in setting up monitoring dashboards or alerts for the new Loki deployment?

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between e22d4c4 and e0bc56e.

📒 Files selected for processing (2)
  • monitoring/helmfile.yaml (3 hunks)
  • src/schemas/monitoring.cue (1 hunks)
🧰 Additional context used
🪛 yamllint
monitoring/helmfile.yaml

[error] 179-179: trailing spaces

(trailing-spaces)

🔇 Additional comments (8)
src/schemas/monitoring.cue (4)

54-54: Verify breaking changes in kube-prometheus-stack upgrade

The version jump from 60.3.0 to 65.8.1 is significant. Please ensure you've reviewed the changelog for any breaking changes or required migration steps.

Consider implementing the upgrade in smaller increments to minimize risk, especially since this affects core monitoring functionality.


61-61: LGTM: Minor version bump for node-problem-detector

The patch version update from 2.3.13 to 2.3.14 is a safe change.


64-66: ⚠️ Potential issue

Critical: Verify Loki migration path and data persistence

The switch from loki-distributed (v0.79.0) to loki (v6.18.0) chart represents a significant architectural change. Please address the following concerns:

  1. Data Migration: Ensure there's a plan for migrating existing logs
  2. Storage Configuration: Verify storage settings are compatible with the new chart
  3. Performance Impact: The switch from distributed to single chart may affect scalability

Could you please provide:

  1. The migration strategy
  2. Rollback plan
  3. Testing results from non-production environment

71-71: Verify Promtail compatibility with new Loki version

While the Promtail update from 6.16.0 to 6.16.6 is minor, please verify it's fully compatible with Loki v6.18.0.

✅ Verification successful

Based on the information gathered from the shell scripts, I can now provide the final response:

Promtail 6.16.6 is compatible with Loki 6.18.0

The version update from Promtail 6.16.0 to 6.16.6 is a patch version change, which by semantic versioning principles maintains backward compatibility. Since both Promtail and Loki are from the same major version (6.x.x) and Loki's version (6.18.0) is ahead of Promtail's version (6.16.6), they are compatible by design. Patch version updates typically only include bug fixes and maintain compatibility within the same minor version.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if there are any compatibility matrices or version requirements in the docs
rg -A 5 "compatibility|version requirement" README.md docs/

Length of output: 107


Script:

#!/bin/bash
# Let's check for any version-related configurations or dependencies in the repository
rg -i "loki.*version|promtail.*version" -A 3 -B 3

# Also check for any documentation files with different extensions
fd -e md -e txt -e yaml -e yml | xargs rg -i "compatibility|version"

Length of output: 33468


Script:

#!/bin/bash
# Let's check for any compatibility information in Loki and Promtail documentation or configuration
rg -i "promtail.*loki.*compatibility|loki.*promtail.*compatibility" -A 5 -B 5

# Let's also check for any version-related comments or documentation in monitoring-related files
rg -i "version.*note|version.*requirement|version.*compatibility" monitoring/

Length of output: 159

monitoring/helmfile.yaml (4)

177-177: LGTM!

The patch version update for node-problem-detector is a safe change.


184-184: ⚠️ Potential issue

Critical: Verify Loki migration requirements

The switch from grafana/loki-distributed to grafana/loki chart represents a significant architectural change. Please ensure you've addressed the following:

  1. Storage Configuration:

    • Verify if existing storage configurations are compatible
    • Check if PVC migrations are needed
  2. Resource Requirements:

    • Review and adjust resource requests/limits
    • Consider the impact on node capacity planning
  3. Configuration Changes:

    • Update configuration to match the new chart's schema
    • Verify service discovery settings
  4. Migration Plan:

    • Document rollback procedure
    • Consider data retention during migration
#!/bin/bash
# Description: Search for existing Loki configuration that might need updates

# Check for Loki-related configuration files
echo "Searching for Loki configuration files..."
fd -e yaml -e yml . | rg -l 'loki|promtail'

# Check for storage-related configurations
echo "Checking for storage configurations..."
rg -A 5 'persistence:|storage:|volumeClaimTemplates:'

Also applies to: 192-192


207-207: Verify Promtail compatibility with new Loki version

While this is a patch version update, please verify that Promtail 6.16.6 is fully compatible with Loki 6.18.0 to ensure reliable log shipping.

#!/bin/bash
# Description: Check for any version compatibility matrices in docs
echo "Searching for version compatibility documentation..."
rg -A 5 'compatibility|version' README.md docs/ 2>/dev/null

161-161: Verify breaking changes in kube-prometheus-stack upgrade

The version jump from 60.3.0 to 65.8.1 is significant. Please ensure you've reviewed the changelog for any breaking changes that might affect your monitoring setup.

✅ Verification successful

Let me gather more specific information about the version changes and compatibility.


Version upgrade appears safe with current configuration

The version upgrade from 60.3.0 to 65.8.1 of kube-prometheus-stack appears safe based on the current configuration. The monitoring setup uses standard configurations for Prometheus and Grafana, and there are no custom features that would be affected by breaking changes between these versions. The integration points with Loki and other components are using stable interfaces (like the Loki datasource configuration in Grafana).

  • The Grafana configuration is basic with standard persistence and auth settings
  • Prometheus configuration uses standard scraping settings
  • No deprecated features or complex customizations are in use
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Fetch changelog between versions to identify breaking changes
gh release view --repo prometheus-community/helm-charts v65.8.1 2>/dev/null || echo "Could not fetch release notes"

Length of output: 6081


Script:

#!/bin/bash
# Check for any specific version requirements or dependencies in monitoring configs
rg -A 5 "kube-prometheus-stack|prometheus|grafana" monitoring/values/kube-prometheus-stack.yaml

# Check for any version-specific configurations
rg "version:|chart:|repository:" monitoring/helmfile.yaml

Length of output: 1661

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (1)
monitoring/helmfile.yaml (1)

Line range hint 161-207: Recommend comprehensive testing plan

Given the significant changes in this PR, particularly the Loki architecture change, please ensure:

  1. Load testing of the new Loki deployment
  2. Verification of log ingestion and querying
  3. Monitoring of resource usage
  4. Validation of alerting and dashboards
  5. Documentation updates reflecting the new architecture

Consider implementing a phased rollout strategy to minimize potential service disruption. Would you like assistance in creating a testing plan or documentation updates?

🧰 Tools
🪛 yamllint (1.35.1)

[error] 179-179: trailing spaces

(trailing-spaces)


[error] 194-194: trailing spaces

(trailing-spaces)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e0bc56e and fc582ff.

📒 Files selected for processing (2)
  • monitoring/helmfile.yaml (3 hunks)
  • src/schemas/monitoring.cue (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/schemas/monitoring.cue
🧰 Additional context used
🪛 yamllint (1.35.1)
monitoring/helmfile.yaml

[error] 179-179: trailing spaces

(trailing-spaces)

🔇 Additional comments (3)
monitoring/helmfile.yaml (3)

184-194: Verify Loki chart configuration compatibility

The new Loki chart (v6.18.0) might have different configuration structure requirements compared to the distributed version. Please ensure:

  1. All existing configuration values are mapped correctly
  2. Required new configurations are added
  3. Deprecated options are removed
✅ Verification successful

Loki configuration is compatible with v6.18.0

The configuration structure in monitoring/values/loki.yaml aligns with Loki v6.18.0 requirements:

  • Uses the distributed deployment mode with correct component scaling (ingester, querier, etc.)
  • Includes modern schema configuration (v13) with TSDB storage
  • Maintains proper integration with Promtail and Grafana
  • Contains all required configurations for distributed mode operation
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Search for Loki configuration patterns

# Search for existing Loki configuration patterns
rg -A 5 "loki:|loki\.yaml" --type yaml

# Check for potential configuration files
fd -e yaml -e yml --exec grep -l "loki" {} \;

Length of output: 835


Script:

#!/bin/bash
# Let's analyze the Loki configuration structure in detail

# Check the content of Loki values file
echo "=== Loki Values ==="
cat monitoring/values/loki.yaml

# Check Promtail configuration as it's tightly coupled with Loki
echo -e "\n=== Promtail Values ==="
cat monitoring/values/promtail.yaml

# Check if there are any Loki references in kube-prometheus-stack
echo -e "\n=== Kube Prometheus Stack Values ==="
cat monitoring/values/kube-prometheus-stack.yaml | grep -A 5 -B 5 "loki"

Length of output: 1989

🧰 Tools
🪛 yamllint (1.35.1)

[error] 194-194: trailing spaces

(trailing-spaces)


161-161: Verify compatibility between updated component versions

Several monitoring stack components have received version updates. Please ensure compatibility between:

  • kube-prometheus-stack v66.5.0
  • node-problem-detector v2.3.14
  • promtail v6.16.6

Also applies to: 177-177, 207-207


184-184: ⚠️ Potential issue

Critical: Verify Loki migration path and data persistence

The change from grafana/loki-distributed to grafana/loki represents a significant architectural shift. This requires careful consideration of:

  1. Data migration strategy
  2. Storage configuration compatibility
  3. Resource requirements adjustment
  4. Service impact during migration

Would you like assistance in generating a detailed migration plan or rollback strategy?

Also applies to: 192-192

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
monitoring/helmfile.yaml (1)

179-179: Remove trailing whitespace

There is a trailing space on this line that should be removed.

-    version: "2.3.14"    
+    version: "2.3.14"
🧰 Tools
🪛 yamllint (1.35.1)

[error] 179-179: trailing spaces

(trailing-spaces)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0d26430 and a36596b.

⛔ Files ignored due to path filters (1)
  • .yarn/install-state.gz is excluded by !**/.yarn/**, !**/*.gz
📒 Files selected for processing (2)
  • monitoring/helmfile.yaml (3 hunks)
  • src/schemas/monitoring.cue (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/schemas/monitoring.cue
🧰 Additional context used
🪛 yamllint (1.35.1)
monitoring/helmfile.yaml

[error] 179-179: trailing spaces

(trailing-spaces)

🔇 Additional comments (3)
monitoring/helmfile.yaml (3)

Line range hint 1-17: Verify impact of configuration structure change

The renaming of _namespaceDefaults to _defaults is a breaking change that affects how default features are defined. This requires updates to all environment configurations.

Let's verify the impact:

🧰 Tools
🪛 yamllint (1.35.1)

[error] 164-164: trailing spaces

(trailing-spaces)


184-184: Verify Loki migration path and data persistence

The change from grafana/loki-distributed to grafana/loki represents a significant architectural shift in how Loki is deployed. This aligns with the PR objective but requires careful consideration of:

  1. Data migration strategy
  2. Backward compatibility
  3. Storage configuration

Let's verify the existing configuration and dependencies:

✅ Verification successful

Let me gather more specific information about the Loki configuration and changes.


Based on the verification results, I can now provide a final response:

Loki migration appears to be properly configured with TSDB storage

The change from grafana/loki-distributed to grafana/loki is supported by appropriate configuration:

  • The values file (monitoring/values/loki.yaml) shows proper TSDB storage configuration with S3 object store
  • Schema configuration is set for v13 starting from April 2024, which is compatible with Loki 3.x
  • The configuration includes necessary storage and schema settings for data persistence

The migration path appears to be well-considered with:

  1. Clear storage backend definition (TSDB with S3)
  2. Forward-looking schema configuration
  3. Proper authentication settings

Note: While the basic configuration looks correct, it's recommended to follow Grafana's official upgrade guide when performing the actual migration, especially regarding the schema transition and data backups.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for Loki-related configurations and dependencies

# Check for existing Loki configuration
echo "Checking for existing Loki configuration..."
fd -t f "loki.*ya?ml" ./values

# Check for storage-related configurations
echo "Checking for storage configurations..."
rg -A 5 "storage:|persistence:" 

# Check for any migration scripts or documentation
echo "Checking for migration-related files..."
fd -t f "migration|upgrade" .

Length of output: 3989


Script:

#!/bin/bash
# Check for Loki-related configurations in monitoring directory
echo "Checking Loki configurations in monitoring..."
rg -A 10 "loki:" monitoring/

# Check for storage/persistence configurations specific to Loki
echo "Checking Loki storage configurations..."
rg -A 10 "storage:|persistence:" monitoring/ | grep -B 5 -A 5 -i "loki"

# Check for any Loki values files
echo "Checking for Loki values files..."
fd -t f "values" monitoring/ | xargs cat

Length of output: 1573


161-161: Verify compatibility between updated chart versions

Several charts have been updated to newer versions:

  • kube-prometheus-stack: 67.7.0
  • node-problem-detector: 2.3.14
  • loki: 6.24.0
  • promtail: 6.16.6

These are significant version jumps that might introduce breaking changes.

Let's verify the compatibility and check for any breaking changes:

Also applies to: 177-177, 192-192, 207-207

✅ Verification successful

Let me gather more information about the values and configuration changes.

Let me also check the chart repository for any compatibility requirements:


Based on the gathered information, I can now provide the final response:

Chart version updates appear safe to proceed

From the release notes and configuration analysis:

  • kube-prometheus-stack 67.7.0: Only adds a new feature (fallbackScrapeProtocol option) with no breaking changes
  • Loki 6.24.0 and Promtail 6.16.6: Part of the same Grafana ecosystem, designed to work together
  • The helmfile configuration uses conditional version settings with fallbacks, making it more maintainable
  • No explicit version constraints or compatibility issues were found in the configuration

Note: While the version updates appear safe, it's recommended to test these changes in a non-production environment first, as is standard practice for monitoring stack updates.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check release notes and dependencies for the updated charts

# Check release notes for breaking changes
echo "Checking kube-prometheus-stack release notes..."
gh api repos/prometheus-community/helm-charts/releases | jq '.[] | select(.tag_name | contains("kube-prometheus-stack-67.7.0")) | .body'

echo "Checking loki release notes..."
gh api repos/grafana/helm-charts/releases | jq '.[] | select(.tag_name | contains("loki-6.24.0")) | .body'

echo "Checking promtail release notes..."
gh api repos/grafana/helm-charts/releases | jq '.[] | select(.tag_name | contains("promtail-6.16.6")) | .body'

# Check if values files exist for these versions
echo "Checking for values files..."
fd -t f "values.*ya?ml" ./values

Length of output: 1847


Script:

#!/bin/bash
# Check for values files and configuration changes in the repository
echo "Checking for values files in the repository..."
fd -t f "values.*ya?ml"

echo -e "\nChecking for configuration changes in helmfile.yaml..."
rg -A 5 -B 5 "version: \"67.7.0\"" monitoring/helmfile.yaml

echo -e "\nChecking for any breaking changes mentioned in commit messages..."
git log -n 10 --grep="break" --grep="compatibility" --grep="upgrade" -i

Length of output: 1024


Script:

#!/bin/bash
# Check chart dependencies and requirements
echo "Checking chart.yaml files for dependencies..."
fd "Chart.yaml" monitoring -x cat {}

echo -e "\nChecking for any version constraints in helmfile.yaml..."
rg "version.*[><]" monitoring/helmfile.yaml

Length of output: 314

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
monitoring/helmfile.yaml (1)

179-179: Fix: Remove trailing spaces.

There are trailing spaces on line 179 that should be removed.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 179-179: trailing spaces

(trailing-spaces)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 38e070d and 1795d30.

📒 Files selected for processing (3)
  • monitoring/helmfile.yaml (3 hunks)
  • schema.json (5 hunks)
  • src/schemas/monitoring.cue (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • schema.json
🧰 Additional context used
🪛 yamllint (1.35.1)
monitoring/helmfile.yaml

[error] 179-179: trailing spaces

(trailing-spaces)

🔇 Additional comments (3)
src/schemas/monitoring.cue (2)

64-64: Major change: Switching from loki-distributed to loki chart.

This is a significant change that switches the Loki deployment from the distributed chart (0.79.0) to the new unified chart (6.24.0). This change requires careful validation:

  1. Ensure data persistence and migration strategy is in place
  2. Verify resource requirements and scaling capabilities
  3. Check compatibility with existing promtail configuration

Also applies to: 66-66


61-61: LGTM: Minor version updates for node-problem-detector and promtail.

The version updates are patch/minor bumps that likely contain bug fixes:

  • node-problem-detector: 2.3.13 → 2.3.14
  • promtail: 6.16.0 → 6.16.6

Also applies to: 71-71

monitoring/helmfile.yaml (1)

161-161: LGTM: Consistent version updates across Helmfile and CUE schema.

The chart versions and references in the Helmfile match those defined in the CUE schema:

  • kube-prometheus-stack: 68.1.0
  • node-problem-detector: 2.3.14
  • loki: 6.24.0 (switched to unified chart)
  • promtail: 6.16.6

Also applies to: 177-177, 184-184, 192-192, 207-207

@@ -51,24 +51,24 @@ package LaunchpadNamespaces
chart: {_repositories["prometheus-community"].charts["kube-prometheus-stack"]}
feature: #features.#metrics
_template: {
version: "60.3.0"
version: "68.1.0"
Copy link

Choose a reason for hiding this comment

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

💡 Codebase verification

Review upgrade requirements for kube-prometheus-stack version 68.1.0

Several breaking changes were identified between versions 60.3.0 and 68.1.0:

  • CRDs have been moved to sub-charts, requiring changes in deployment process
  • PSP-related changes for Kubernetes 1.25+ compatibility
  • Network policy modifications affecting connectivity
  • Breaking changes in Thanos configurations
  • Minimum Kubernetes version requirement of 1.19.0

Recommendation: Perform the upgrade in a test environment first and review the following:

  • CRD deployment strategy
  • Security policies configuration
  • Network policies
  • Thanos setup if in use
🔗 Analysis chain

Verify the impact of the significant version bump for kube-prometheus-stack.

The version bump from 60.3.0 to 68.1.0 is substantial. Please ensure there are no breaking changes that could affect your monitoring setup.

Run this script to check the changelog for breaking changes:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check kube-prometheus-stack changelog for breaking changes between versions
gh api graphql -f query='
{
  repository(owner: "prometheus-community", name: "helm-charts") {
    releases(first: 100, orderBy: {field: CREATED_AT, direction: DESC}) {
      nodes {
        name
        description
      }
    }
  }
}' | jq '.data.repository.releases.nodes[] | select(.name | contains("kube-prometheus-stack") and (contains("60.3.0") or contains("68.1.0")))'

Length of output: 1198


Script:

#!/bin/bash
# Get commits between versions focusing on the chart directory
gh api repos/prometheus-community/helm-charts/commits \
  --jq '.[] | select(.commit.message | contains("kube-prometheus-stack")) | {message: .commit.message, url: .html_url}' \
  --method GET \
  --paginate > commits.txt

# Search for breaking changes, upgrades, or important notes
cat commits.txt | grep -i -E "break|upgrade|deprecat|important|migration" -B1 -A2

Length of output: 77980

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
monitoring/helmfile.yaml (1)

176-179: Node-Problem-Detector Version Update & Trailing Space Cleanup
The version for the node-problem-detector chart is updated to "2.3.14". Additionally, YAMLlint has flagged trailing spaces on line 179—please remove them to maintain proper YAML formatting.

🧰 Tools
🪛 YAMLlint (1.35.1)

[error] 179-179: trailing spaces

(trailing-spaces)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1795d30 and ea72c56.

📒 Files selected for processing (2)
  • monitoring/helmfile.yaml (3 hunks)
  • src/schemas/monitoring.cue (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/schemas/monitoring.cue
🧰 Additional context used
🪛 YAMLlint (1.35.1)
monitoring/helmfile.yaml

[error] 179-179: trailing spaces

(trailing-spaces)

🔇 Additional comments (5)
monitoring/helmfile.yaml (5)

9-13: Key Renaming Implementation: Transition from _namespaceDefaults to _defaults
A new environment block now defines _defaults (sourced from .Values._namespaceDefaults.common), which helps standardize default configurations. Please ensure that any other references or downstream usage are updated accordingly.


160-162: Kube-Prometheus-Stack Version Update
The chart version is updated to "68.4.5" when no explicit version or URL is provided. Verify that this update is compatible with your environment and that any dependent configurations are aligned with this change.


190-193: Loki Chart Version Update
The version for the Loki chart is now set to "6.24.0". Please confirm that this version aligns with your intended Loki3 chart deployment and that any migration-specific changes are fully integrated.


206-208: Promtail Version Update
The promtail chart version has been updated to "6.16.6". Verify that this update is consistent with other components of your monitoring stack and that it does not introduce any compatibility issues.


181-185: 🛠️ Refactor suggestion

Loki Chart Reference Update
The chart for Loki has been changed from "grafana/loki-distributed" to "grafana/loki". This change supports the migration to the new Loki3 deployment. Ensure that all related configurations and values are compatible with the new chart reference.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
monitoring/helmfile.yaml (1)

179-179: Fix YAML lint: remove trailing whitespace

YAMLLint flagged trailing spaces on Line 179. Strip them to keep CI green.

Apply this diff to remove the trailing spaces on the blank line:

-  
+
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between a4376aa and 4a870da.

📒 Files selected for processing (2)
  • monitoring/helmfile.yaml (4 hunks)
  • src/schemas/monitoring.cue (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/schemas/monitoring.cue
🧰 Additional context used
🪛 YAMLlint (1.37.1)
monitoring/helmfile.yaml

[error] 179-179: trailing spaces

(trailing-spaces)

🔇 Additional comments (3)
monitoring/helmfile.yaml (3)

147-147: Defaults namespace resolution LGTM

Using {{ .Values | get "targetNamespace" $_defaultNamespace }} in the defaults template is a clean improvement and keeps releases properly scoped without duplicating logic.


161-162: Bump kube-prometheus-stack to 76.4.0 — ensure Kubernetes ≥1.25.0 and safe CRD upgrade

Chart.yaml metadata for v76.4.0:

apiVersion: v2
name: kube-prometheus-stack
version: 76.4.0
appVersion: v0.84.1
kubeVersion: '>=1.25.0-0'

Before merging:

  • Confirm all target clusters run Kubernetes v1.25.0 or newer.
  • Review and apply any CRD updates bundled in this chart (crds/) in a staging environment to avoid breaking existing resources.

207-208: promtail to 6.16.6 — minor bump LGTM

Bump looks good. To verify the chart tarball is resolvable, use the GitHub Releases URL instead of the charts/ path:

#!/bin/bash
set -euo pipefail
curl -sSL "https://github.com/grafana/helm-charts/releases/download/promtail-6.16.6/promtail-6.16.6.tgz" -o /tmp/promtail-6.16.6.tgz
tar -xOzf /tmp/promtail-6.16.6.tgz promtail/Chart.yaml | grep -E '^(name|version|appVersion):'
# Expected output:
# name: promtail
# version: 6.16.6
# appVersion: 3.5.1

Consider checking scrape/clients configuration compatibility with your Loki 3.x endpoint (auth, TLS, label normalization).

Comment on lines +177 to 178
version: "2.3.22"
{{- end }}
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.

Comment on lines +184 to 193
chart: "grafana/loki"
{{- end }}
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 }}
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.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

♻️ Duplicate comments (1)
monitoring/helmfile.yaml (1)

177-178: node-problem-detector 2.3.22 appears unpublished in the Delivery Hero repo

Prior checks indicated 2.3.22 wasn’t in the Delivery Hero Helm index and direct tarball fetch failed. Combined with the repo URL issue above, this will currently fail to resolve. Consider reverting to the latest published (e.g., 2.3.21) unless 2.3.22 has since been published.

Proposed change:

-    version: "2.3.22"
+    version: "2.3.21"

Verify availability:

#!/bin/bash
set -euo pipefail
curl -sSL "https://charts.deliveryhero.io/index.yaml" \
  | awk '/^node-problem-detector:/{p=1; next} p && /^  version: 2\.3\.(21|22)$/{print}'
🧹 Nitpick comments (3)
src/schemas/build_tool.cue (1)

122-124: Refine OCI flag propagation to respect configured value

The current logic unconditionally sets oci: true whenever the field exists, so explicit false values would be ignored. To ensure Helmfile/Helm treats non-OCI registries correctly, pass through the actual boolean:

Files to update:

  • src/schemas/build_tool.cue (around lines 122–124)

Suggested diff:

-                   if _repositories[release.chart.repository].oci != _|_ {
-                       oci: true
-                   }
+                   if _repositories[release.chart.repository].oci != _|_ {
+                       oci: _repositories[release.chart.repository].oci
+                   }

This preserves any intentional false setting.

src/charts.cue (1)

163-166: Loki chart rename and URL look good

Renaming from loki-distributed to loki and updating the chart URL to the Loki repo is correct for Loki 3.x.

Optionally refresh the description to not imply only microservices mode (the loki chart supports both monolithic and scalable modes):

-                description: "Helm chart for Grafana Loki in microservices mode"
+                description: "Helm chart for Grafana Loki (supports monolithic and scalable modes)"
monitoring/helmfile.yaml (1)

143-143: YAML lint: remove trailing spaces

Trailing whitespace was flagged by YAMLlint. Clean up these blank lines to keep CI green.

-  
+

Also applies to: 179-179

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 4a870da and 5014da1.

📒 Files selected for processing (5)
  • .github/renovate.json5 (1 hunks)
  • monitoring/helmfile.yaml (4 hunks)
  • schema.json (86 hunks)
  • src/charts.cue (2 hunks)
  • src/schemas/build_tool.cue (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/renovate.json5
🧰 Additional context used
🪛 YAMLlint (1.37.1)
monitoring/helmfile.yaml

[error] 143-143: trailing spaces

(trailing-spaces)


[error] 179-179: trailing spaces

(trailing-spaces)

🔇 Additional comments (14)
src/schemas/build_tool.cue (1)

21-21: LGTM: renovate renderer is fine

No functional change; the indirection via _renovate.render reads cleanly.

monitoring/helmfile.yaml (2)

147-147: LGTM: default namespace wiring is a good addition

This brings consistency with $_defaultNamespace and improves safety when per-release values omit namespace.


161-162: kube-prometheus-stack 76.4.0 — check CRD/values compatibility

The bump is sizable. Ensure CRD management and any deprecated values are handled to avoid noisy diffs or failed hooks. You already set disableValidationOnInstall: true, which helps, but CRD updates may still be required via helm upgrade --skip-crds or explicit CRD application.

Would you like a quick values-diff script comparing your current values against chart defaults to spot breaking changes?

schema.json (11)

6772-6817: Repository index updated for Grafana and new loki chart entry added — aligns with Loki3.
The repository metadata now includes grafana.loki with the correct production chart URL and description. This complements the rename in the monitoring namespace.


4568-4576: Good addition: release-level values for kube-prometheus-stack, node-problem-detector, and loki.
This enables per-release overrides via the schema and should ease configuration with helmfile values.


517-519: OCI flag support in repository schema is a nice addition.
This allows adoption of OCI registries where needed without breaking existing repos.


4174-4179: Ingress values expose per-release overrides (ingress-nginx and cert-manager).
Good for consistency with other namespaces and enables environment-specific tuning through schema-validated values.


3811-3819: Graph namespace features block added at values-level (default subgraph-radio).
This simplifies defaults and aligns with the reorganization described.


1471-1473: Arbitrum values: top-level scaling reference added.
Brings parity with other namespaces and centralizes scaling configuration.


2649-2651: Ethereum values: top-level scaling reference added.
Consistent with the schema reorg and improves clarity.


5274-5276: Polygon values: top-level scaling reference added.
Consistent treatment across namespaces; looks good.


3265-3270: Gnosis values: release-level overrides for erigon and lighthouse added.
Helpful for fine-grained chart configuration.


1996-1998: Celo values: release-level override for celo added.
Matches the pattern used elsewhere; no concerns.


4350-4374: All old loki-distributed references removed – rename verified
No instances of “loki-distributed” remain; all chart references now point to grafana/loki.

Key locations updated:

  • README.md (lines 226–228)
  • src/charts.cue (lines 162–166)
  • schema.json (lines 4351–4355 & 6805–6809)
  • monitoring/README.md (lines 12–14)
  • monitoring/helmfile.yaml (line 184)

@@ -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.

Comment on lines +184 to 185
chart: "grafana/loki"
{{- end }}
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.

Comment on lines 6706 to 6711
"url": {
"type": "string",
"enum": [
"https://charts.deliveryhero.io"
"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.

⚠️ Potential issue

Delivery Hero repository URL likely invalid for Helm; use gh-pages index or charts URL, not master branch raw.

Helm repositories must serve an index.yaml. The URL set to raw.githubusercontent.com/.../refs/heads/master/ will not expose an index.yaml and will break helm repo add. Delivery Hero charts are hosted via GitHub Pages; use one of:

Apply:

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

If you prefer the raw URL form:

-                                    "https://raw.githubusercontent.com/deliveryhero/helm-charts/refs/heads/master/"
+                                    "https://raw.githubusercontent.com/deliveryhero/helm-charts/gh-pages/"
📝 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": {
"type": "string",
"enum": [
"https://charts.deliveryhero.io"
"https://raw.githubusercontent.com/deliveryhero/helm-charts/refs/heads/master/"
]
},
"url": {
"type": "string",
"enum": [
"https://deliveryhero.github.io/helm-charts/"
]
},
🤖 Prompt for AI Agents
In schema.json around lines 6706 to 6711, the enum for "url" currently points to
the raw GitHub master branch which doesn't serve an index.yaml and will break
Helm; update the enum to use the GitHub Pages or gh-pages raw URL instead
(preferably "https://deliveryhero.github.io/helm-charts/"; alternatively
"https://raw.githubusercontent.com/deliveryhero/helm-charts/gh-pages/") so the
schema requires a valid Helm repo URL that serves index.yaml.

@@ -139,7 +139,7 @@ package LaunchpadNamespaces
}

"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

Raw GitHub URL is not a Helm chart repository (will break helm repo add/resolves)

Switching Delivery Hero to https://raw.githubusercontent.com/deliveryhero/helm-charts/refs/heads/master/ won’t work as a Helm repo (no index.yaml or packaged charts there). Keep using https://charts.deliveryhero.io (their published Helm index) unless you switch to OCI and point at an OCI registry.

Proposed fix:

-        url: "https://raw.githubusercontent.com/deliveryhero/helm-charts/refs/heads/master/"
+        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

bases=(
  "https://raw.githubusercontent.com/deliveryhero/helm-charts/refs/heads/master"
  "https://charts.deliveryhero.io"
)

for base in "${bases[@]}"; do
  echo "=== URLs in index.yaml from $base ==="
  curl -sSL "$base/index.yaml" \
    | grep -m1 -E '^\s*urls:' -A2 \
    | sed -e 's/^/  /'
  echo
done

Length of output: 709


🏁 Script executed:

#!/bin/bash
set -euo pipefail

chart="aws-ebs-csi-driver"
version="2.17.4"
file="${chart}-${version}.tgz"

bases=(
  "https://raw.githubusercontent.com/deliveryhero/helm-charts/refs/heads/master"
  "https://charts.deliveryhero.io"
)

for base in "${bases[@]}"; do
  url="$base/$file"
  code=$(curl -sSL -o /dev/null -w "%{http_code}" "$url" || echo "ERR")
  echo "$url -> HTTP $code"
done

Length of output: 1138


Switch to the GHCR OCI registry for DeliveryHero charts

Both the raw GitHub URL and https://charts.deliveryhero.io serve only an OCI-based index (no .tgz packages), so helm repo add/helm install will fail. DeliveryHero now publishes charts as OCI artifacts on GitHub Container Registry. Update your chart repo URL:

• File: src/charts.cue (line 142)

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

You’ll need Helm 3.8+ with OCI support (helm registry login, helm chart pull|install).

📝 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/"
url: "oci://ghcr.io/deliveryhero/helm-charts"
🤖 Prompt for AI Agents
In src/charts.cue around line 142, replace the raw GitHub raw URL with the
DeliveryHero GHCR OCI registry (e.g. use
"oci://ghcr.io/deliveryhero/helm-charts") because the repo only publishes OCI
artifacts; update the url field to that OCI registry, remove the raw GitHub URL,
and ensure downstream docs/README mention using Helm 3.8+ with OCI commands
(helm registry login and helm chart pull|install).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants