Skip to content

deps: migrate container images from Bitnami to Soldevelo equivalents - #38

Merged
hoangsonww merged 2 commits into
hoangsonww:masterfrom
jkondrat-sd:deps/replace-bitnami-images
Jul 15, 2026
Merged

deps: migrate container images from Bitnami to Soldevelo equivalents#38
hoangsonww merged 2 commits into
hoangsonww:masterfrom
jkondrat-sd:deps/replace-bitnami-images

Conversation

@jkondrat-sd

@jkondrat-sd jkondrat-sd commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Dependency update: Bitnami to SolDevelo container images

Bitnami changed its container image distribution model on August 28, 2025, restricting access to many previously free images.

SolDevelo provides free drop-in replacement images built from SolDevelo/containers, a maintained fork of bitnami/containers, published to Docker Hub under the soldevelo/ namespace. Tags are kept in sync with upstream Bitnami.

This PR updates all affected image references in the repository.

Changed images

zookeeper:3.9 requires ALLOW_EMPTY_PASSWORD=yes instead of ALLOW_ANONYMOUS_LOGIN=yes for unauthenticated dev setups. All compose files updated accordingly.

@vercel

vercel Bot commented Jun 24, 2026

Copy link
Copy Markdown

@jkondrat-sd is attempting to deploy a commit to the dav nguyen's projects Team on Vercel.

A member of the Team first needs to authorize it.

@netlify

netlify Bot commented Jun 24, 2026

Copy link
Copy Markdown

Deploy Preview for budget-management-system canceled.

Name Link
🔨 Latest commit 7e3eb57
🔍 Latest deploy log https://app.netlify.com/projects/budget-management-system/deploys/6a56efe2fa1c1500084bd88b

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Code Review

This pull request updates the Kafka Docker image from 'bitnami/kafka:3' to 'soldevelo/kafka:3.9.2-debian-12-r0' across multiple docker-compose configuration files. The reviewer notes that the migration to SolDevelo images is incomplete, as the Zookeeper service in these files still references the Bitnami image and should be updated for consistency.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread apache-kafka/docker/docker-compose.yml Outdated

kafka:
image: bitnami/kafka:3
image: soldevelo/kafka:3.9.2-debian-12-r0

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The migration to SolDevelo images is incomplete. The zookeeper service (defined on line 5) still uses bitnami/zookeeper:3. To prevent potential registry access issues and maintain consistency, it should also be migrated to its SolDevelo equivalent (e.g., soldevelo/zookeeper:3 or a specific pinned version).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Fixed - zookeeper has been migrated to soldevelo/zookeeper:3.9 across all three compose files. Also updated the env var: the 3.9 image requires ALLOW_EMPTY_PASSWORD=yes rather than ALLOW_ANONYMOUS_LOGIN=yes. Both containers verified running.

Comment thread docker-compose.yml Outdated

kafka:
image: bitnami/kafka:3
image: soldevelo/kafka:3.9.2-debian-12-r0

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The migration to SolDevelo images is incomplete. The zookeeper service (defined on line 63) still uses bitnami/zookeeper:3. To prevent potential registry access issues and maintain consistency, it should also be migrated to its SolDevelo equivalent (e.g., soldevelo/zookeeper:3 or a specific pinned version).

Comment thread docker/docker-compose.yml Outdated

kafka:
image: bitnami/kafka:3
image: soldevelo/kafka:3.9.2-debian-12-r0

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The migration to SolDevelo images is incomplete. The zookeeper service (defined on line 63) still uses bitnami/zookeeper:3. To prevent potential registry access issues and maintain consistency, it should also be migrated to its SolDevelo equivalent (e.g., soldevelo/zookeeper:3 or a specific pinned version).

@hoangsonww hoangsonww added bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request help wanted Extra attention is needed good first issue Good for newcomers question Further information is requested labels Jul 7, 2026
@hoangsonww hoangsonww added this to the v1.0.0 - Stable Release milestone Jul 7, 2026
@hoangsonww
hoangsonww self-requested a review July 7, 2026 10:52
@jkondrat
jkondrat force-pushed the deps/replace-bitnami-images branch from 166f6da to fe9696a Compare July 9, 2026 13:29
@jkondrat-sd

Copy link
Copy Markdown
Contributor Author

The happy path is clean. What happens if the third-party API returns 429 here? Might be worth handling that case explicitly.

Could you please elaborate on which third-party API you're referring to?

@hoangsonww

hoangsonww commented Jul 15, 2026

Copy link
Copy Markdown
Owner

Code review

Verified locally (Docker 29.5.2): both soldevelo/zookeeper:3.9 and soldevelo/kafka:3.9 pull cleanly; :3.9 resolves to Kafka 3.9.2. Brought up zookeeper + kafka from docker-compose.yml — ZooKeeper starts with 0 errors and accepts ALLOW_EMPTY_PASSWORD=yes (the image entrypoint recognizes it and logs the expected safety warning, confirming it is the correct replacement for ALLOW_ANONYMOUS_LOGIN), Kafka connects to zookeeper:2181, and topic create/list round-trips. Pinning to 3.9 (rather than 4) is correct since these composes run Kafka in ZooKeeper mode. docker-compose.yml and docker/docker-compose.yml are byte-identical and both updated consistently.

Found 1 issue:

  1. The PR description states it "updates all affected image references in the repository," but kubernetes/docker/Dockerfile still uses FROM bitnami/kubectl:1.30 — a Bitnami image subject to the same August 2025 access restriction this PR addresses. There is no SolDevelo drop-in (docker manifest inspect soldevelo/kubectl:1.30 returns not found), so it needs a different replacement (e.g. rancher/kubectl, alpine/k8s, or registry.k8s.io), or the PR description should be narrowed to the Kafka/ZooKeeper images.

FROM bitnami/kubectl:1.30

🤖 Generated with Claude Code

- If this code review was useful, please react with 👍. Otherwise, react with 👎.

bitnami/kubectl is no longer available on Docker Hub following Bitnami's
August 2025 distribution change (bitnami/kubectl:1.30 now 404s), which
broke kubernetes/docker/Dockerfile. SolDevelo does not publish a kubectl
image, so switch to the maintained alpine/k8s:1.30.14 image, which ships
kubectl v1.30.14 and a POSIX shell required by entrypoint.sh.

Verified: docker build of kubernetes/docker/Dockerfile succeeds; the
entrypoint plan action and exec passthrough both run kubectl correctly.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@hoangsonww
hoangsonww merged commit 09fed8a into hoangsonww:master Jul 15, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed question Further information is requested

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants