adding redis and mysql subcharts instead of bitnami - #42442
Conversation
|
Just finished testing both initial deployment and migrating from the previous charts to the new charts. Everything works as expected and is ready to go. |
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.
Tip: disable this comment in your organization's Code Review settings.
There was a problem hiding this comment.
Pull request overview
This PR updates the Fleet Helm chart to stop using Bitnami MySQL/Redis dependencies and instead ship a minimal in-repo MySQL sub-chart plus a Valkey (Redis-compatible) dependency, with accompanying migration guidance and CI updates.
Changes:
- Replace Bitnami
mysql/redisdependencies with a localmysqlsub-chart and externalvalkeychart dependency (enabled viaredis.enabledfor backwards compatibility). - Add migration documentation and update Kubernetes deployment docs/examples to reference Valkey and new service DNS names.
- Update Helm CI workflow to run
helm dependency buildbefore templating.
Reviewed changes
Copilot reviewed 12 out of 18 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| charts/fleet/values.yaml | Adds default value blocks for the new MySQL sub-chart and Valkey configuration while keeping redis.enabled as the condition toggle. |
| charts/fleet/requirements.lock | Removes legacy Helm v2 lockfile. |
| charts/fleet/README.md | Adds a migration pointer to the new MIGRATION.md. |
| charts/fleet/MIGRATION.md | New doc describing value/service name changes and upgrade scenarios. |
| charts/fleet/charts/mysql/Chart.yaml | Introduces a minimal local MySQL sub-chart. |
| charts/fleet/charts/mysql/values.yaml | Defines default image/auth/persistence/resources for the MySQL sub-chart. |
| charts/fleet/charts/mysql/templates/statefulset.yaml | Implements the MySQL StatefulSet deployment logic (with probes and persistence handling). |
| charts/fleet/charts/mysql/templates/service.yaml | Adds the MySQL Service for in-cluster access. |
| charts/fleet/charts/mysql/templates/secret.yaml | Creates MySQL credentials Secret when existingSecret is not provided. |
| charts/fleet/charts/mysql/templates/_helpers.tpl | Adds naming and secret-name helper templates for the MySQL sub-chart. |
| charts/fleet/Chart.yaml | Switches dependencies to local MySQL + Valkey (conditioned on redis.enabled). |
| charts/fleet/Chart.lock | Adds Helm v3 lockfile for the updated dependencies. |
| charts/example-skaffold.yaml | Updates the example cache address and values to use Valkey keys. |
| articles/deploy-fleet-on-kubernetes.md | Updates guidance to reference Fleet sub-charts and Valkey install instructions/service names. |
| .gitignore | Adjusts ignores so local subchart directories are tracked while generated dependency .tgz files are ignored. |
| .github/workflows/pr-helm.yaml | Adds helm dependency build step and Valkey repo add for CI templating. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@georgekarrv Looks cool! Please review and resolve Copilot reivew comments when you're online on next week. |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Agent-Logs-Url: https://github.com/fleetdm/fleet/sessions/afa77f7e-5bac-41c9-8a0f-69fa126e5228 Co-authored-by: georgekarrv <1501415+georgekarrv@users.noreply.github.com>
Agent-Logs-Url: https://github.com/fleetdm/fleet/sessions/afa77f7e-5bac-41c9-8a0f-69fa126e5228 Co-authored-by: georgekarrv <1501415+georgekarrv@users.noreply.github.com>
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.
Tip: disable this comment in your organization's Code Review settings.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
🚧 Files skipped from review as they are similar to previous changes (3)
WalkthroughThe Helm chart for fleet is bumped to v7.0.0. The chart swaps Bitnami Redis for a Valkey dependency and replaces the Bitnami MySQL dependency with a local subchart at file://charts/mysql (new mysql subchart adds helpers, Secret, Service, StatefulSet, and values). charts/fleet/values.yaml is updated to expose mysql.auth and valkey.* toggles; charts/example-skaffold.yaml and .github workflow now add the Valkey Helm repo and run helm dependency build for charts/fleet. .gitignore now ignores only packaged charts (*.tgz) under charts/fleet/charts. Possibly related PRs
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. 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. Review rate limit: 7/8 reviews remaining, refill in 7 minutes and 30 seconds.Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@charts/fleet/charts/mysql/templates/statefulset.yaml`:
- Around line 63-64: The Helm template uses a trimmed left tag that collapses
the newline after the resources: key, causing invalid YAML when toYaml
.Values.primary.resources outputs multi-line values; update the template in
statefulset.yaml by changing the `{{- toYaml .Values.primary.resources | nindent
12 }}` invocation to remove the leading dash so it becomes `{{ toYaml
.Values.primary.resources | nindent 12 }}`, ensuring the resources: key stays on
its own line and the indented multi-line output from toYaml is preserved.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 67279777-78e3-4569-a1e8-6766556a97ee
⛔ Files ignored due to path filters (5)
articles/deploy-fleet-on-kubernetes.mdis excluded by!**/*.mdcharts/fleet/Chart.lockis excluded by!**/*.lockcharts/fleet/MIGRATION.mdis excluded by!**/*.mdcharts/fleet/README.mdis excluded by!**/*.mdcharts/fleet/requirements.lockis excluded by!**/*.lock
📒 Files selected for processing (13)
.github/workflows/pr-helm.yaml.gitignorecharts/example-skaffold.yamlcharts/fleet/Chart.yamlcharts/fleet/charts/mysql-9.12.5.tgzcharts/fleet/charts/mysql/Chart.yamlcharts/fleet/charts/mysql/templates/_helpers.tplcharts/fleet/charts/mysql/templates/secret.yamlcharts/fleet/charts/mysql/templates/service.yamlcharts/fleet/charts/mysql/templates/statefulset.yamlcharts/fleet/charts/mysql/values.yamlcharts/fleet/charts/redis-18.1.6.tgzcharts/fleet/values.yaml
|
@claude review once |
left a comment
There was a problem hiding this comment.
LGTM
Tested (on k3s):
- A fresh deploy
- In place upgrade with the new changes using my existing mysql and redis infra
- Migration documentation
- Take MySQL backup from the old MySQL instance
- Scale Fleet deploy down to 0 replicas
- Tore down my mysql db and redis environment
- Spun up new mysql and valkey using the chart
- Restore the MySQL backup in the new MySQL instance
- Scale Fleet deploy back up to 3 replicas
- et voila - Fleet accessible and running with new MySQL and Valkey backend.
commented
May 4, 2026
|
@lucasmrod @getvictor @sharon-fdm @lukeheath Please let me know if you have any questions. Just waiting on any of your approvals |
commented
May 4, 2026
|
@copilot resolve the merge conflicts in this pull request |
commented
May 4, 2026
|
@georgekarrv Please resolve bot comments and re-tag me. |
commented
May 4, 2026
|
@lukeheath All reasolved, conflicts and conversations. Ready to merge |
…mi-charts Co-authored-by: lukeheath <2495927+lukeheath@users.noreply.github.com>
Done — I merged the latest Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|

Resolves: #34771
This moves away from relying on discontinued bitnami charts and instead adds a small mysql chart, a valkey/redis chart and a brief guide update on how to migrate from one to the other.
Summary by CodeRabbit
New Features
Chores