Skip to content

feat(plane-ce): make busybox image configurable for plane-ce - #286

Closed
KajdeMunter wants to merge 1 commit into
makeplane:masterfrom
KajdeMunter:feat/configurable-busybox-image-ce
Closed

feat(plane-ce): make busybox image configurable for plane-ce#286
KajdeMunter wants to merge 1 commit into
makeplane:masterfrom
KajdeMunter:feat/configurable-busybox-image-ce

Conversation

@KajdeMunter

@KajdeMunter KajdeMunter commented Aug 14, 2026

Copy link
Copy Markdown

What

Makes the busybox image used by the MinIO bucket job's init container configurable in plane-ce, via a new minio.image_busybox value.

# charts/plane-ce/templates/workloads/minio.stateful.yaml
       initContainers:
         - name: init
-          image: busybox
+          image: {{ .Values.minio.image_busybox | default "busybox" }}

Also adds the key to values.yaml (defaulting to busybox), the README settings table, and questions.yml for the Rancher UI.

Why

busybox was the only hardcoded image left in the plane-ce chart — every other image (minio.image, minio.image_mc, and the app images) is already overridable. That hardcoded reference forces an unauthenticated pull from Docker Hub, which breaks:

  • Air-gapped / private-registry installs, where all images must be mirrored to an internal registry.
  • Docker Hub rate limits, which surface as ImagePullBackOff on the init container and leave the bucket job stuck before MinIO is ever provisioned.

This applies the same approach as #178 (plane-enterprise) to plane-ce.

Scope / behavior

No default behavior change. values.yaml ships image_busybox: busybox, so the rendered output is byte-identical unless an operator overrides it.

  • Only renders when minio.local_setup=true — the whole template is wrapped in {{- if .Values.minio.local_setup }}. Installs using external S3 are unaffected.
  • The template uses | default "busybox" rather than a bare value reference, so an existing values file that predates this key (or sets it empty) still renders busybox instead of an empty image: field. Upgrades need no values-file change.
  • Nothing else is touched — no other chart, template, or image reference changes.

Testing

helm lint charts/plane-ce → passes, 0 charts failed.

helm template across the relevant value combinations:

Values Rendered image:
defaults (local_setup=true) busybox
image_busybox=my.registry/busybox:1.36 my.registry/busybox:1.36
image_busybox="" (simulates a pre-existing values file) busybox
local_setup=false template not rendered

Not deployed to a live cluster — the change is a template-only substitution and the rendered manifests above cover it.

Related

🤖 Generated with Claude Code

The minio bucket job's init container used a hardcoded `busybox` image,
which blocks air-gapped installs and deployments that must pull all
images from a private registry.

Expose it as `minio.image_busybox`, mirroring the existing
`minio.image_mc` pattern, and document it in the README settings table
and the Rancher questions.yml. Defaults to `busybox`, so existing
values files keep working unchanged.

This applies the approach from makeplane#178 (plane-enterprise) to plane-ce.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 1fd4160c-f132-462a-b0d2-e9cca447e531

📥 Commits

Reviewing files that changed from the base of the PR and between 1b568bb and ca154d9.

📒 Files selected for processing (4)
  • charts/plane-ce/README.md
  • charts/plane-ce/questions.yml
  • charts/plane-ce/templates/workloads/minio.stateful.yaml
  • charts/plane-ce/values.yaml

Walkthrough

The chart adds minio.image_busybox, defaults it to busybox, exposes it when local MinIO setup is enabled, uses it for the MinIO client job init container, and documents the setting.

Changes

MinIO BusyBox image configuration

Layer / File(s) Summary
Configure and wire the MinIO BusyBox image
charts/plane-ce/values.yaml, charts/plane-ce/questions.yml, charts/plane-ce/templates/workloads/minio.stateful.yaml, charts/plane-ce/README.md
The chart defines minio.image_busybox with a busybox default, exposes the setting for local MinIO setup, uses it in the init container with a fallback, and documents its purpose.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to ca154

This change makes the MinIO init-container image configurable while preserving the existing default behavior and limiting the effect to local MinIO setup. No actionable merge-blocking risk remains after normal checks and review.

Suggested reviewers: akshat5302

Poem

A rabbit sets the image with care,
BusyBox hops through MinIO air.
A value guides the waiting job,
The chart now greets each DNS hop.
“Configurable!” the bunny sings.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: making the BusyBox image configurable in the plane-ce chart.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with 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.

❤️ Share

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

@KajdeMunter KajdeMunter changed the title feat: make busybox image configurable for plane-ce feat(plane-ce): make busybox image configurable for plane-ce Aug 14, 2026
@mguptahub

Copy link
Copy Markdown
Contributor

@akshat5302

Please test the PR and update the chart.yaml before merging

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants