Skip to content

adding redis and mysql subcharts instead of bitnami - #42442

Merged
georgekarrv merged 11 commits into
mainfrom
gkarr-34771-fix-bitnami-charts
May 4, 2026
Merged

adding redis and mysql subcharts instead of bitnami#42442
georgekarrv merged 11 commits into
mainfrom
gkarr-34771-fix-bitnami-charts

Conversation

@georgekarrv

@georgekarrv georgekarrv commented Mar 26, 2026

Copy link
Copy Markdown
Member

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

    • Helm chart bumped to v7.0.0.
    • Replaced Redis with Valkey as the caching backend and added Valkey configuration options.
    • Added an optional embedded MySQL chart with configurable auth, persistence, service, and credentials handling.
  • Chores

    • CI now adds the Valkey Helm repository and builds chart dependencies before templating.
    • .gitignore adjusted to only ignore packaged chart archives (*.tgz).

@georgekarrv

Copy link
Copy Markdown
Member Author

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.

@georgekarrv
georgekarrv marked this pull request as ready for review April 8, 2026 00:49
Copilot AI review requested due to automatic review settings April 8, 2026 00:49

@claude claude Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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/redis dependencies with a local mysql sub-chart and external valkey chart dependency (enabled via redis.enabled for 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 build before 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.

Comment thread charts/fleet/charts/mysql/templates/statefulset.yaml Outdated
Comment thread charts/fleet/charts/mysql/templates/statefulset.yaml
Comment thread charts/fleet/charts/mysql/templates/secret.yaml Outdated
Comment thread charts/fleet/values.yaml Outdated
Comment thread articles/deploy-fleet-on-kubernetes.md
Comment thread charts/fleet/Chart.yaml
Comment thread charts/fleet/README.md
@lukeheath

Copy link
Copy Markdown
Member

@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>
Copilot AI and others added 2 commits April 21, 2026 18:58

Copilot AI commented Apr 21, 2026

Copy link
Copy Markdown
Contributor

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:

  • valkey.io
    • Triggering command: /usr/local/bin/helm helm repo add valkey REDACTED (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@claude claude Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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.

@georgekarrv

Copy link
Copy Markdown
Member Author
image

Looks like I need an infra thumb (Robert, Kathy, Jorge, Dale) and a workflows thumb (Luke, Sharon, Victor, Lucas)

@coderabbitai

coderabbitai Bot commented May 1, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 24e0fe66-29c7-4d86-9f94-ee7b23611e74

📥 Commits

Reviewing files that changed from the base of the PR and between 16bd357 and 5d1f36f.

📒 Files selected for processing (3)
  • .gitignore
  • charts/fleet/Chart.yaml
  • charts/fleet/values.yaml
🚧 Files skipped from review as they are similar to previous changes (3)
  • .gitignore
  • charts/fleet/Chart.yaml
  • charts/fleet/values.yaml

Walkthrough

The 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

  • fleetdm/fleet#44590: Also modifies charts/fleet/Chart.yaml and updates chart metadata/version.
🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Description check ⚠️ Warning PR description is minimal and lacks required sections from the template (checklist items, testing details, database migration notes). While it mentions the objective, it does not follow the comprehensive template structure. Complete the PR description by adding the template sections: changes file documentation, testing confirmation, and any relevant migration/compatibility notes.
Title check ❓ Inconclusive Title is partially related to the changeset, referring to the addition of redis and mysql subcharts, but it does not clearly indicate the primary change of moving away from discontinued Bitnami charts and using Valkey instead of Redis. Consider clarifying the title to reflect the main objective: replacing Bitnami charts with bundled MySQL and Valkey alternatives, not just 'adding' subcharts.
✅ Passed checks (3 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The PR successfully addresses the primary objective from issue #34771 by migrating from discontinued Bitnami charts to bundled MySQL and Valkey/Redis subcharts using publicly accessible images.
Out of Scope Changes check ✅ Passed All changes directly support the migration objective: Helm chart updates, dependency replacements, configuration adjustments, and new subchart implementations are all within scope of moving away from Bitnami.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch gkarr-34771-fix-bitnami-charts

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.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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
Review rate limit: 7/8 reviews remaining, refill in 7 minutes and 30 seconds.

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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

📥 Commits

Reviewing files that changed from the base of the PR and between 9dc573f and 33cb0c2.

⛔ Files ignored due to path filters (5)
  • articles/deploy-fleet-on-kubernetes.md is excluded by !**/*.md
  • charts/fleet/Chart.lock is excluded by !**/*.lock
  • charts/fleet/MIGRATION.md is excluded by !**/*.md
  • charts/fleet/README.md is excluded by !**/*.md
  • charts/fleet/requirements.lock is excluded by !**/*.lock
📒 Files selected for processing (13)
  • .github/workflows/pr-helm.yaml
  • .gitignore
  • charts/example-skaffold.yaml
  • charts/fleet/Chart.yaml
  • charts/fleet/charts/mysql-9.12.5.tgz
  • charts/fleet/charts/mysql/Chart.yaml
  • charts/fleet/charts/mysql/templates/_helpers.tpl
  • charts/fleet/charts/mysql/templates/secret.yaml
  • charts/fleet/charts/mysql/templates/service.yaml
  • charts/fleet/charts/mysql/templates/statefulset.yaml
  • charts/fleet/charts/mysql/values.yaml
  • charts/fleet/charts/redis-18.1.6.tgz
  • charts/fleet/values.yaml

Comment thread charts/fleet/charts/mysql/templates/statefulset.yaml
@georgekarrv

Copy link
Copy Markdown
Member Author

@claude review once

Comment thread charts/fleet/MIGRATION.md
Comment thread charts/fleet/MIGRATION.md
Comment thread charts/fleet/MIGRATION.md
Comment thread charts/fleet/charts/mysql/values.yaml
mike-j-thomas
mike-j-thomas previously approved these changes May 1, 2026
BCTBB
BCTBB previously approved these changes May 2, 2026

ghost left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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.

@georgekarrv

ghost commented May 4, 2026

Copy link
Copy Markdown
Member Author

@lucasmrod @getvictor @sharon-fdm @lukeheath Please let me know if you have any questions. Just waiting on any of your approvals

@lukeheath

ghost commented May 4, 2026

Copy link
Copy Markdown
Member

@copilot resolve the merge conflicts in this pull request

@lukeheath

ghost commented May 4, 2026

Copy link
Copy Markdown
Member

@georgekarrv Please resolve bot comments and re-tag me.

@georgekarrv
georgekarrv dismissed stale reviews from BCTBB and mike-j-thomas via 5d1f36f May 4, 2026 20:29
@georgekarrv

ghost commented May 4, 2026

Copy link
Copy Markdown
Member Author

@lukeheath All reasolved, conflicts and conversations. Ready to merge

…mi-charts

Co-authored-by: lukeheath <2495927+lukeheath@users.noreply.github.com>
@fleet-release
fleet-release requested a review from lukeheath May 4, 2026 20:35

ghost commented May 4, 2026

Copy link
Copy Markdown
Contributor

@copilot resolve the merge conflicts in this pull request

Done — I merged the latest main into this branch and resolved the PR conflict state in commit a7b9814f9a.

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:

  • valkey.io
    • Triggering command: /usr/local/bin/helm helm repo add valkey REDACTED (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@georgekarrv
georgekarrv merged commit 5ee53b4 into main May 4, 2026
@georgekarrv
georgekarrv deleted the gkarr-34771-fix-bitnami-charts branch May 4, 2026 20:39
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.

Helm Chart uses removed Bitnami Images

6 participants