Fix: Replace bitnami/mysql with groundhog2k/mysql (official Docker image)#44
Closed
rossigee wants to merge 8 commits into
Closed
Fix: Replace bitnami/mysql with groundhog2k/mysql (official Docker image)#44rossigee wants to merge 8 commits into
rossigee wants to merge 8 commits into
Conversation
Old MySQL 8.0.x image tags were removed from Docker Hub, breaking CI. Upgrading to mysql chart 12.3.5 which ships MySQL 8.4 LTS with current image tags. Also set resourcesPreset=nano in CI values so the primary pod fits within the kind cluster resource constraints.
Bitnami has stopped publishing free runtime images to docker.io/bitnami/*. This affects all bitnami/mysql chart versions - even bumping to 12.3.5 (MySQL 8.4 LTS) fails because docker.io/bitnami/mysql:<tag> is not found. Switch the mysql subchart dependency to groundhog2k/mysql 3.1.0, which wraps the official docker.io/mysql image (Docker Official Image, freely available). Pin CI to MySQL 8.4 LTS via image.tag override. No change to the database engine or user-visible chart behaviour. Template changes: - secret.yaml: mysql.auth.* -> mysql.userDatabase.*.value - configmap.yaml: mysql.auth.database -> mysql.userDatabase.name.value - JDBC URL: add allowPublicKeyRetrieval=true (required for MySQL 8.4 caching_sha2_password auth when useSSL=false) Verified: ct install passes with docker.io/mysql:8.4, Traccar connects and runs all 45 Liquibase migrations successfully.
MySQL 8.4 first-boot initialization takes ~10min in kind. The default startup probe (30 failures x 10s) killed it before it could start, causing an infinite restart loop.
MySQL 8.4 creates its socket at /var/lib/mysql/mysql.sock because the groundhog2k chart mounts an emptyDir over /etc/mysql/conf.d/, hiding the Docker image's default config that sets the socket path. The mysqladmin-based probes look for /var/run/mysqld/mysqld.sock and always fail, causing an infinite restart loop despite MySQL being healthy. TCP checks on port 3306 work regardless of socket path.
rossigee
marked this pull request as ready for review
May 30, 2026 09:03
tananaev
reviewed
May 30, 2026
The groundhog2k/mysql chart defaults to mysqladmin-based probes which fail with the official MySQL image. Baking TCP probe overrides and the image tag into values.yaml means the chart works correctly out of the box, and CI values files no longer need to re-specify them.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
bitnami/mysqlchart (image8.0.32-debian-11-r0no longer available on Docker Hub) withgroundhog2k/mysqlchart which uses the official MySQL Docker imageuserDatabase,settings,storage)allowPublicKeyRetrieval=trueto JDBC URL for MySQL 8.xcaching_sha2_passwordauth compatibilityct.yamlchart repo reference accordinglyFixes #42
Test plan
helm lintpasses for all 3 CI value fileshelm templaterenders correctly for all 3 CI scenarios