Bitnami image migration guide ============================= Changes to the ``bitnami`` image repository require special attention by folks running Yaook clusters. What you exactly need to do depends on how timely you upgrade the Yaook operators. Background ---------- In the past, Yaook relied on production-ready container images from the Bitnami public catalog for two core services (``bitnami/mariadb-galera`` and ``bitnami/memcached``). Bitnami decided to put these images under a paid subscription beginning September 29th, 2025 (initially the announcement was for end of August). From this date on, images will be archived to the ``bitnamilegacy`` repository and no longer receive updates or bug fixes. But more importantly, pulls from the old location (the ``bitnami`` repository) will fail and can impact the operation of your clusters. .. note:: You can read the official announcement by Bitnami at https://github.com/bitnami/containers/issues/83267. .. note:: The impact of such external changes can be mitigated by setting up a private image registry that acts as a mirror or cache, instead of directly pulling from the upstream registry. Harbor (https://github.com/goharbor/harbor) is popular choice. What we changed in Yaook ------------------------ For memcached, we just changed to the official ``library/memcached`` image with `!3108 `_. For mariadb-galera, we forked the Bitnami image at https://gitlab.com/yaook/images/mariadb-galera/ and use our own ``amd64`` and ``arm64`` builds of it via `!3128 `_. As a bonus, our image build also provides an optional debug layer that can be used to analyze stack traces and core dumps. This is a feature that is not available with any other mariadb image at the time of writing. .. note:: For the time being, we intentionally do not use the official ``library/mariadb`` image, because there are too many places in the Yaook operator that rely on implementation details in the bitnami image (and our own build of it). In the future, we will gradually refactor the Yaook operators and our image to get rid of these remainders. Option A: Upgrade the operator ------------------------------ Update the Yaook operators to at least the following versions **before September 29th, 2025**: - stable release: **TBD, not yet released** - rolling release: **TBD, not yet released** These and later versions handle the migration to the new images automatically. .. note:: Unfortunately, the fixes have not been released yet. In the meantime, please use Option B below or switch to an alpha release containing the fixes. Further information about the current progress and any updates can be found at https://gitlab.com/yaook/operator/-/issues/583. Option B: Image overrides ------------------------- We use the operator environment variable ``YAOOK_OP_VERSIONS_OVERRIDE`` to manually override the image locations to point to the ``bitnamilegacy`` repository. .. note:: This is only needed when you cannot upgrade as described in Option A before September 29th, 2025. .. warning:: There will be no security updates or bugfixes for images from the ``bitnamilegacy`` repository. .. note:: This section assumes you installed the Yaook operators with Helm. Override the mariadb-galera image ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ For the MariaDB Galera image, reconfigure the helm value ``operator.extraEnv`` for the ``infra-operator`` helm release to contain the following override: .. code-block:: yaml operator: extraEnv: - name: YAOOK_OP_VERSIONS_OVERRIDE value: | bitnami/mariadb-galera: bitnamilegacy/mariadb-galera:11.4.7-debian-12-r3 Override the memcached image ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ For the memcached image, reconfiguring the ``infra-operator`` does not not suffice, because each service sets the image individually. The helm value ``operator.extraEnv`` for the helm releases of the following operators must be reconfigured (of course, only if you use them): - ``barbican-operator`` - ``ceilometer-operator`` - ``cinder-operator`` - ``designate-operator`` - ``glance-operator`` - ``gnocchi-operator`` - ``infra-ironic-operator`` - ``keystone-operator`` - ``neutron-operator`` - ``nova-operator`` - ``octavia-operator`` It should contain the following override: .. code-block:: yaml operator: extraEnv: - name: YAOOK_OP_VERSIONS_OVERRIDE value: | bitnami/memcached: bitnamilegacy/memcached:1.6.39-debian-12-r0 .. note:: Once you have upgraded to a Yaook operator version that already ships the updated image locations, you can safely remove these overrides.