From ca154d91e6b2abedb6e6b7087a96923ec477b981 Mon Sep 17 00:00:00 2001 From: Kaj de Munter Date: Fri, 14 Aug 2026 11:02:47 +0200 Subject: [PATCH] feat: make busybox image configurable for plane-ce 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 #178 (plane-enterprise) to plane-ce. Co-Authored-By: Claude Opus 5 (1M context) --- charts/plane-ce/README.md | 1 + charts/plane-ce/questions.yml | 5 +++++ charts/plane-ce/templates/workloads/minio.stateful.yaml | 2 +- charts/plane-ce/values.yaml | 1 + 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/charts/plane-ce/README.md b/charts/plane-ce/README.md index c72d5ebf..1d4e7290 100644 --- a/charts/plane-ce/README.md +++ b/charts/plane-ce/README.md @@ -233,6 +233,7 @@ The default value is `"traefik"`. If you previously relied on the implicit defau | minio.local_setup | true | | Plane uses `minio` as the default file storage drive. This storage can be hosted within kubernetes as part of helm chart deployment or can be used as hosted service remotely (e.g. aws S3 or similar services). Set this to `true` when you choose to setup stateful deployment of `postgres`. Mark it as `false` when using a remotely hosted database | | minio.image | minio/minio:latest | | Using this key, user must provide the docker image name to setup the stateful deployment of `minio`. (must be set when `minio.local_setup=true`) | | minio.image_mc | minio/mc:latest | | Using this key, user must provide the docker image name to setup the job deployment of `minio client`. (must be set when `minio.local_setup=true`) | +| minio.image_busybox | busybox | | Using this key, user must provide the docker image name used by the init container of the `minio client` job, which waits for `minio` to become resolvable. (must be set when `minio.local_setup=true`) | | minio.pullPolicy | IfNotPresent | | Using this key, user can set the pull policy for the stateful deployment of `minio`. (must be set when `minio.local_setup=true`) | | minio.volumeSize | 5Gi | | While setting up the stateful deployment, while creating the persistant volume, volume allocation size need to be provided. This key helps you set the volume allocation size. Unit of this value must be in Mi (megabyte) or Gi (gigabyte) | | minio.root_user | admin | | Storage credentials are requried to access the hosted stateful deployment of `minio`. Use this key to set the username for the stateful deployment. | diff --git a/charts/plane-ce/questions.yml b/charts/plane-ce/questions.yml index 9c865e31..b09a81bd 100644 --- a/charts/plane-ce/questions.yml +++ b/charts/plane-ce/questions.yml @@ -481,6 +481,11 @@ questions: type: string default: "minio/mc:latest" show_if: "minio.local_setup=true" + - variable: minio.image_busybox + label: "BusyBox Docker Image" + type: string + default: "busybox" + show_if: "minio.local_setup=true" - variable: minio.root_user label: "Root User" type: string diff --git a/charts/plane-ce/templates/workloads/minio.stateful.yaml b/charts/plane-ce/templates/workloads/minio.stateful.yaml index ddf5e329..89111aea 100644 --- a/charts/plane-ce/templates/workloads/minio.stateful.yaml +++ b/charts/plane-ce/templates/workloads/minio.stateful.yaml @@ -99,7 +99,7 @@ spec: restartPolicy: OnFailure initContainers: - name: init - image: busybox + image: {{ .Values.minio.image_busybox | default "busybox" }} command: ['sh', '-c', "until nslookup {{ .Release.Name }}-minio.{{ .Release.Namespace }}.svc.{{ .Values.env.default_cluster_domain | default "cluster.local" }}; do echo waiting for {{ .Release.Name }}-minio; sleep 2; done"] containers: - command: diff --git a/charts/plane-ce/values.yaml b/charts/plane-ce/values.yaml index 87fc8416..8c2b3df8 100644 --- a/charts/plane-ce/values.yaml +++ b/charts/plane-ce/values.yaml @@ -80,6 +80,7 @@ rabbitmq: minio: image: minio/minio:latest image_mc: minio/mc:latest + image_busybox: busybox local_setup: true pullPolicy: IfNotPresent root_password: password