Skip to content

fix(plane-enterprise): mc alias set + configurable busybox image for MinIO - #299

Merged
mguptahub merged 5 commits into
masterfrom
fix/minio-ee-mc-alias
Aug 20, 2026
Merged

fix(plane-enterprise): mc alias set + configurable busybox image for MinIO#299
mguptahub merged 5 commits into
masterfrom
fix/minio-ee-mc-alias

Conversation

@akshat5302

@akshat5302 akshat5302 commented Aug 20, 2026

Copy link
Copy Markdown
Member

What

Two fixes to charts/plane-enterprise/templates/workloads/minio.stateful.yaml, chart bumped to 3.3.1:

  1. Deprecated mc config host addmc alias set:

    -              /usr/bin/mc config host add plane-app-minio
    +              /usr/bin/mc alias set plane-app-minio
  2. Configurable busybox image — the init container image is no longer hardcoded:

    -          image: busybox
    +          image: {{ .Values.services.minio.image_busybox | default "busybox" }}

    Added services.minio.image_busybox: busybox to values.yaml, a row to the README settings table, and a Rancher questions.yml entry.

Why

mc alias set: current minio/mc images no longer recognise mc config host add:

mc: <ERROR> `config` is not a recognized command.

Because the job ends in exit 0, the failure is silentmc mb creates a local directory inside the container, prints "Bucket created successfully", and Kubernetes marks the Job Complete. The uploads bucket never exists on MinIO, surfacing later as broken file uploads.

Busybox: the hardcoded busybox image forces an unauthenticated Docker Hub pull, breaking air-gapped / private-registry installs where every image must come from an internal registry. services.minio.image and services.minio.image_mc were already configurable; this fills the remaining gap.

Scope / behavior

  • No default behavior change. mc alias set takes the same argument order; image_busybox defaults to busybox.
  • Both changes only render when services.minio.local_setup=true. External-S3 installs are unaffected.
  • The | default "busybox" guard means pre-existing values files that don't set image_busybox still render busybox. No upgrade action required.

Testing

helm lint charts/plane-enterprise → 1 chart linted, 0 failed.

helm template verified:

Values Rendered init image: Rendered mc command
defaults (local_setup=true) busybox mc alias set plane-app-minio …
image_busybox=my.registry/busybox:1.36 my.registry/busybox:1.36
local_setup=false template not rendered template not rendered

Related

🤖 Generated with Claude Code

…alias set, bump to 3.3.1

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@akshat5302, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 59 minutes

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

Wait for the limit to reset, then comment @coderabbitai review or push new commits to the PR.

An organization admin can change what happens after included review limits in Billing.

How do review limits work?

CodeRabbit enforces per-developer PR review limits within each organization.

For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 62d0e5b1-4bb4-42c8-9ae8-80584b32ec68

📥 Commits

Reviewing files that changed from the base of the PR and between e629a2a and 976742b.

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

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.

@akshat5302 akshat5302 changed the title fix(plane-enterprise): replace deprecated mc config host add with mc alias set fix(plane-enterprise): mc alias set + configurable busybox image for MinIO Aug 20, 2026
@akshat5302
akshat5302 force-pushed the fix/minio-ee-mc-alias branch from 7ab952c to 5203e87 Compare August 20, 2026 08:06
…t container

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@akshat5302
akshat5302 force-pushed the fix/minio-ee-mc-alias branch from 5203e87 to ad2ac38 Compare August 20, 2026 08:08
akshat5302 and others added 3 commits August 20, 2026 14:22
…nio init container

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… Docker Image

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@mguptahub
mguptahub merged commit 17257b8 into master Aug 20, 2026
1 check passed
@mguptahub
mguptahub deleted the fix/minio-ee-mc-alias branch August 20, 2026 09:00
pratapalakshmi added a commit that referenced this pull request Aug 20, 2026
The earlier bump in this branch was a no-op: #299 had already taken 3.4.1, so
the version matched master and chart-releaser (skip_existing) would have silently
declined to republish -- leaving the nginx annotations fix and the TLS/nginx
documentation unshipped.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
pratapalakshmi added a commit that referenced this pull request Aug 20, 2026
…EB_URL scheme (#300)

* fix(plane-ce): stop forcing TLS on the Traefik ingress, and fix WEB_URL scheme

Ports #295 to plane-ce, which carried the same Traefik defect plus a second,
worse one of its own.

templates/ingress-traefik.yaml hardcoded HTTPS in all three IngressRoutes -- the
app, the MinIO console and the RabbitMQ console. Each pinned the `websecure`
entrypoint and emitted its `tls:` block outside any conditional, so a default
install (tls_secret_name empty, generateCerts/createIssuer false) had no HTTP
listener AND no certificate: the routes advertised <release>-ssl-cert, a Secret
that templates/certs/certs.yaml only creates when createIssuer and generateCerts
are both true. Traefik answers such a handshake with its built-in self-signed
certificate, logs nothing and stays Ready, which is why this went unnoticed.

config-secrets/app-env.yaml then hardcoded WEB_URL as "http://<appHost>"
regardless of ssl.*, so even a correctly TLS-configured install served Plane over
HTTPS while telling the app it lived at http://. Unlike plane-enterprise, whose
WEB_URL was at least conditional, this affected the *working* configurations too.

Adds the same three helpers and keeps each setting to one job:

  plane.chartManagedCert -> `tls:` block + entrypoint
  plane.tlsEnabled       -> https:// scheme for WEB_URL
  entryPoints            -> entrypoint override

plus ssl.externalTermination for TLS terminated in front of Plane, and
ingress.traefik.entryPoints for renamed entrypoints or the Traefik-terminated
case. The nginx Ingress path already gated its `tls:` block and is untouched
beyond picking up the WEB_URL fix.

Render diff against master, all three routes and both ingress classes:
  nothing set                  -> 2 IngressRoutes differ (the fix)
  tls_secret_name              -> only WEB_URL differs
  generateCerts+createIssuer   -> only WEB_URL differs
  nginx, nothing set           -> no change
  nginx, tls_secret_name       -> only WEB_URL differs

README gains the TLS options section with a snippet per option, the 4a/4b
distinction, an nginx note, and an upgrade note covering both behaviour changes.

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

* docs: document the nginx TLS path on both charts

The TLS options sections were Traefik-only: the table's Entrypoint column does
not apply to `ingressClass: nginx`, and nothing said what ssl.externalTermination
does there -- yet an ALB or nginx-ingress holding the certificate is exactly the
common nginx case.

Adds a matching note to both charts: options 2 and 3 emit the Ingress `tls:`
block as before, option 4 emits none and only sets the URL scheme. Includes a
rendered example, verified against both charts.

Also records the pre-existing, TLS-unrelated render failure on that path:
ingress.ingress_annotations ships commented out and templates/ingress.yaml calls
`len` on it, so `ingressClass: nginx` dies with "len of nil pointer" unless at
least one annotation is set. Present in both charts; #289 fixes the
plane-enterprise copy, so it is only documented here, with the workaround,
rather than patched twice.

plane-enterprise goes to 3.4.1 so the new section actually ships -- chart-releaser
runs with skip_existing, so a docs change under charts/ without a version bump is
silently never republished.

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

* fix: render the nginx Ingress with default (unset) annotations

templates/ingress.yaml called `len` on ingress.ingress_annotations, which ships
commented out, so `ingressClass: nginx` failed outright with
"error calling len: len of nil pointer" on default values -- the nginx path was
unusable unless you happened to set an annotation.

Switches to `{{- with }}`, which skips a nil/empty map cleanly. Same one-line
change in both charts, so the nginx TLS guidance added in this PR describes a
path that actually renders.

Picked up from #296, which made this fix for plane-ce; #289 makes the identical
change to the plane-enterprise copy, so that hunk may conflict trivially.

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

* chore(plane-enterprise): bump to 3.4.2 for the nginx fix and TLS docs

The earlier bump in this branch was a no-op: #299 had already taken 3.4.1, so
the version matched master and chart-releaser (skip_existing) would have silently
declined to republish -- leaving the nginx annotations fix and the TLS/nginx
documentation unshipped.

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

* docs(plane-ce): fix doubled word in the ssl.externalTermination table row

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.

2 participants