-
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?
Conversation
WalkthroughUpdated 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
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
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
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
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.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
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 tosnappy
can improve compression and decompression speed.The code changes are approved.
34-34
: LGTM!Setting the
deploymentMode
toDistributed
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 andmaxUnavailable
to 2 ensures high availability and fault tolerance.The code changes are approved.
41-43
: LGTM!Setting the
queryFrontend
replicas to 2 andmaxUnavailable
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 andmaxUnavailable
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 andmaxUnavailable
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 to6.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/lokiLength 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/lokiLength 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 3Length 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.
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.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (3)
src/schemas/monitoring.cue (1)
54-71
: Summary of changes to the monitoring stackThis update includes significant changes to the monitoring stack:
- Major update to Loki (0.79.0 to 6.16.1) with a change in chart reference from "loki-distributed" to "loki".
- Substantial version update for kube-prometheus-stack (60.3.0 to 65.1.1).
- 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:
- All breaking changes have been addressed.
- The new features and improvements are properly leveraged.
- The overall monitoring architecture remains consistent with your requirements.
- 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 spaceThere'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 recommendationsThis 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:
- kube-prometheus-stack: Major version update (60.3.0 to 65.1.1)
- node-problem-detector: Minor version update (2.3.13 to 2.3.14)
- Loki: Chart change (loki-distributed to loki) and major version update (0.79.0 to 6.16.1)
- 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:
- Create a detailed migration plan, focusing on the Loki chart change.
- Review all changelogs thoroughly, particularly for kube-prometheus-stack and Loki.
- Update any dependent configurations or scripts affected by these changes.
- Perform comprehensive testing in a non-production environment that mirrors your production setup as closely as possible.
- Plan for a staged rollout if possible, to minimize potential disruptions.
- Ensure your backup and rollback procedures are up-to-date before proceeding with the update.
- 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
⛔ 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-detectorThe 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 PromtailThe 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-stackThe 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:
- There are no breaking changes that might affect your current setup.
- 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 LokiThe 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:
- The deployment configuration has been updated to accommodate any breaking changes.
- New features or improvements in this version are properly leveraged.
- 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 LokiThe 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:
- Why was this change made?
- Does this align with the current deployment requirements and scalability needs?
- 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-detectorThe 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 PromtailThe 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 versionThe Loki deployment has undergone significant changes:
- The chart has been switched from
grafana/loki-distributed
tografana/loki
.- 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:
- You've thoroughly reviewed the Loki documentation for the new chart structure and any migration steps required.
- 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).
- You've reviewed the changelog for all versions between 0.79.0 and 6.16.1 for breaking changes and new features.
- You've updated any dependent configurations or scripts that might be affected by this change.
- 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.yamlThis 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-stackThe 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:
- You've reviewed the changelog for any breaking changes or new features that may impact your current setup.
- 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.
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.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (1)
monitoring/helmfile.yaml (1)
179-179
: Remove trailing spaceThere'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
📒 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-detectorThe 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-stackThe 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 chartThe 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 versionThe 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:
- A change in the deployment architecture (from distributed to single-binary).
- A major version jump, indicating substantial changes in the chart structure and configuration.
Given the scope of these changes, please ensure:
- The new chart's configuration aligns with your deployment requirements.
- Thorough testing is performed in a non-production environment.
- 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?
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.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (1)
monitoring/helmfile.yaml (1)
184-192
: Consider operational impact of Loki architecture changeThe switch from distributed to single Loki deployment might affect:
Scalability:
- Evaluate if single deployment meets your scalability requirements
- Consider future growth in log volume
High Availability:
- Review HA requirements
- Consider implementing appropriate redundancy measures
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
📒 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
:
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:
- Data Migration: Ensure there's a plan for migrating existing logs
- Storage Configuration: Verify storage settings are compatible with the new chart
- Performance Impact: The switch from distributed to single chart may affect scalability
Could you please provide:
- The migration strategy
- Rollback plan
- 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
:
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:
-
Storage Configuration:
- Verify if existing storage configurations are compatible
- Check if PVC migrations are needed
-
Resource Requirements:
- Review and adjust resource requests/limits
- Consider the impact on node capacity planning
-
Configuration Changes:
- Update configuration to match the new chart's schema
- Verify service discovery settings
-
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
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.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (1)
monitoring/helmfile.yaml (1)
Line range hint
161-207
: Recommend comprehensive testing planGiven the significant changes in this PR, particularly the Loki architecture change, please ensure:
- Load testing of the new Loki deployment
- Verification of log ingestion and querying
- Monitoring of resource usage
- Validation of alerting and dashboards
- 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
📒 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:
- All existing configuration values are mapped correctly
- Required new configurations are added
- 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
:
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:
- Data migration strategy
- Storage configuration compatibility
- Resource requirements adjustment
- Service impact during migration
Would you like assistance in generating a detailed migration plan or rollback strategy?
Also applies to: 192-192
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.
Actionable comments posted: 0
🧹 Nitpick comments (1)
monitoring/helmfile.yaml (1)
179-179
: Remove trailing whitespaceThere 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
⛔ 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 changeThe 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 persistenceThe change from
grafana/loki-distributed
tografana/loki
represents a significant architectural shift in how Loki is deployed. This aligns with the PR objective but requires careful consideration of:
- Data migration strategy
- Backward compatibility
- 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
tografana/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:
- Clear storage backend definition (TSDB with S3)
- Forward-looking schema configuration
- 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 catLength of output: 1573
161-161
: Verify compatibility between updated chart versionsSeveral 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" ./valuesLength 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" -iLength 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.yamlLength of output: 314
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.
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
📒 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:
- Ensure data persistence and migration strategy is in place
- Verify resource requirements and scaling capabilities
- 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
src/schemas/monitoring.cue
Outdated
@@ -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" |
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.
💡 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
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.
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
📒 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 suggestionLoki 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.
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.
Actionable comments posted: 2
🧹 Nitpick comments (1)
monitoring/helmfile.yaml (1)
179-179
: Fix YAML lint: remove trailing whitespaceYAMLLint 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.
📒 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 LGTMUsing
{{ .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 upgradeChart.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 LGTMBump 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.1Consider checking scrape/clients configuration compatibility with your Loki 3.x endpoint (auth, TLS, label normalization).
version: "2.3.22" | ||
{{- end }} |
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
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.
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 }} |
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
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.
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.
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 repoPrior 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 valueThe current logic unconditionally sets
oci: true
whenever the field exists, so explicitfalse
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 goodRenaming from
loki-distributed
toloki
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 spacesTrailing 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.
📒 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 fineNo functional change; the indirection via
_renovate.render
reads cleanly.monitoring/helmfile.yaml (2)
147-147
: LGTM: default namespace wiring is a good additionThis brings consistency with
$_defaultNamespace
and improves safety when per-release values omit namespace.
161-162
: kube-prometheus-stack 76.4.0 — check CRD/values compatibilityThe 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 viahelm 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/ |
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:
- - 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.
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.
chart: "grafana/loki" | ||
{{- end }} |
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
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:
- Line 17:
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.
"url": { | ||
"type": "string", | ||
"enum": [ | ||
"https://charts.deliveryhero.io" | ||
"https://raw.githubusercontent.com/deliveryhero/helm-charts/refs/heads/master/" | ||
] | ||
}, |
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.
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:
- https://deliveryhero.github.io/helm-charts/ (preferred)
- https://raw.githubusercontent.com/deliveryhero/helm-charts/gh-pages/
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.
"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/" |
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
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.
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).
Description
Switch loki deployment to loki3 chart
Summary by CodeRabbit
New Features
Configuration Changes
Schema & Defaults