# Release notes

## 2026.1.0-79

### New Features

- The ``helm-toolkit.manifests.certificates`` template now accepts an
  optional ``secretName`` parameter. When provided, it sets the name of the
  rendered cert-manager ``Certificate`` (both ``metadata.name`` and
  ``spec.secretName``) instead of deriving it from the endpoint's
  ``host_fqdn_override.default.tls.secretName``.

### Upgrade Notes

- The charts no longer render ``Ingress`` resources, nor the auxiliary
  ``Service`` objects and TLS secrets that used to back them. Charts now
  deploy only the applications and their ClusterIP ``Service`` objects.
  Expose services outside the cluster by supplying the necessary objects
  through the ``.Values.extraObjects`` field, for example a Gateway API
  ``HTTPRoute`` (plus a ``BackendTLSPolicy`` for backend re-encryption) or,
  if preferred, an ``Ingress`` together with its ``Service``. Ready-to-use
  Gateway API examples are provided under
  ``values_overrides/<chart>/gateway.yaml``.
- The mTLS client certificate that each chart presents on outbound
  connections to MariaDB and RabbitMQ is now named after the chart-local
  value ``secrets.tls.client.<chart>`` rather than the shared
  ``endpoints.oslo_db.host_fqdn_override.default.tls.secretName``. This
  prevents a name collision for deployments whose values tooling renders
  endpoints from a single shared endpoint catalog, where the ``oslo_db``
  endpoint (and therefore its ``secretName``) is identical across every
  chart. The pod ``client-certs`` volume already references the same
  chart-local value, so the certificate and its mount remain in lockstep.
  No action is required for existing deployments: the default
  ``secrets.tls.client.<chart>`` value matches the previously rendered
  certificate name.

### API Changes

- Removed all ingress-related values from the charts: the
  ``manifests.ingress*``, ``manifests.service_ingress*`` and
  ``manifests.secret_ingress_tls`` toggles, the ``endpoints.ingress``
  controller endpoint and the ``network.<service>.ingress`` blocks. The
  now-unused ``helm-toolkit.manifests.ingress``,
  ``helm-toolkit.manifests.service_ingress`` and
  ``helm-toolkit.manifests.secret_ingress_tls`` helpers were removed as well.

### Bug Fixes

- Add ``endpointslices`` resource and ``discovery.k8s.io`` API group to
  the ``clusterrole-checkdns`` ClusterRole. This is required for
  ``kubernetes-entrypoint`` (dep_check) which now uses EndpointSlices
  instead of Endpoints to resolve service dependencies.
- Populate ``[cache] memcache_servers`` from the ``oslo_cache`` internal
  memcache endpoint for heat, neutron, trove, and zaqar when a cache section
  exists and ``memcache_servers`` has not already been set by user overrides.
  
  This brings these charts in line with other OpenStack-Helm services that
  already populate ``memcache_servers`` from the ``oslo_cache`` endpoint while
  keeping explicit overrides authoritative.

## 2026.1.0

- Update Ceph to Tentacle 20.2.1
- Update Ceph to Tentacle 20.2.0 and replaced image sources from docker.io/openstackhelm with quay.io/airshipit

### New Features

- Update default ingress classes and annotations for charts to make them implementation
  agnostic. They used to be nginx specific because we always used ingress-nginx as the most
  common choice. Ingress-nginx is deprecated and will become unmaintained in Feb/2026.
  
  Now for all test jobs we use HAProxy Ingress as the default implementation. However any
  other implementation can be used as far as it suppports annotations similar to
  'nginx.ingress.kubernetes.io/rewrite-target' or 'haproxy.org/path-rewrite' which are
  used in many OpenStack-Helm charts.
- Added an extraObjects list to every chart to allow for adding extra
  Kubernetes objects along side the chart without modifying the chart.
  It has the added benefit of using Helm's built in templating so
  you are able to utilize other values supplied to the chart.
- Added emptyDir mounted at /var/lock and set OSLO_LOCK_PATH env var to
  this path for oslo.concurrency support in all OpenStack services.

### Upgrade Notes

- Support for Helm 2 has been removed by removal of the helm3_hook value across all charts.
  It is no longer possible to set helm3_hook to False to support Helm 2.

## 2025.2.0

### New Features

- Update apparmor values to use security_context instead of annotations.
- Add support for runtimeClassName and priorityClassName

## 2025.1.0

- 0.1.0 Initial Chart
- 0.1.1 Change helm-toolkit dependency version to ">= 0.1.0"
- 0.1.2 fix the logic to disable the autoscaler on pools
- 0.1.3 Run as ceph user and disallow privilege escalation
- 0.1.4 Improvements for ceph-client helm tests
- 0.1.5 Fix Helm test check_pgs() check for inactive PGs
- 0.1.6 Uplift from Nautilus to Octopus release
- 0.1.7 Don't wait for premerge PGs in the rbd pool job
- 0.1.8 enhance logic to enable the autoscaler for Octopus
- 0.1.9 Revert "[ceph-client] enhance logic to enable the autoscaler for Octopus"
- 0.1.10 Separate pool quotas from pg_num calculations
- 0.1.11 enhance logic to enable and disable the autoscaler
- 0.1.12 Disable autoscaling before pools are created
- 0.1.13 Fix ceph-client helm test
- 0.1.14 Allow Ceph RBD pool job to leave failed pods
- 0.1.15 Make ceph-client helm test more PG specific
- 0.1.16 Make Ceph pool init job consistent with helm test
- 0.1.17 Add pool rename support for Ceph pools
- 0.1.18 Add pool delete support for Ceph pools
- 0.1.19 Use full image ref for docker official images
- 0.1.20 Export crash dumps when Ceph daemons crash
- 0.1.21 Fix Ceph checkDNS script
- 0.1.22 Set pg_num_min in all cases
- 0.1.23 Helm 3 - Fix Job labels
- 0.1.24 Performance optimizations for the ceph-rbd-pool job
- 0.1.25 Update htk requirements
- 0.1.26 Fix ceph-rbd-pool deletion race
- 0.1.27 Update ceph_mon config to ips from fqdn
- 0.1.28 Fix ceph.conf update job labels, rendering
- 0.1.29 Consolidate mon_host discovery
- 0.1.30 Move ceph-mgr deployment to the ceph-mon chart
- 0.1.31 Consolidate mon_endpoints discovery
- 0.1.32 Simplify test rules for ceph-mgr deployment
- 0.1.33 More robust naming of clusterrole-checkdns
- 0.1.34 Migrated CronJob resource to batch/v1 API version
- 0.1.35 Handle multiple mon versions in the pool job
- 0.1.36 Add the ability to run Ceph commands from values
- 0.1.37 Added OCI registry authentication
- 0.1.38 Make use of noautoscale with Pacific
- 0.1.39 Correct check for too many OSDs in the pool job
- 0.1.40 Fix OSD count checks in the ceph-rbd-pool job
- 0.1.41 Allow gate scripts to use 1x replication in Ceph
- 0.1.42 Update all Ceph images to Focal
- 0 1.43 Document the use of mon_allow_pool_size_one
- 0.1.44 Allow pg_num_min to be overridden per pool
- 0.1.45 Update Ceph to 17.2.6
- 0.1.46 Strip any errors preceding pool properties JSON
- 0.1.47 Use Helm toolkit functions for Ceph probes
- 0.1.48 Update Rook to 1.12.5 and Ceph to 18.2.0
- 0.1.49 Update Ceph images to Jammy and Reef 18.2.1
- 0.1.50 Update Ceph images to patched 18.2.2 and restore debian-reef repo
- 0.1.51 Use quay.io/airshipit/kubernetes-entrypoint:latest-ubuntu_focal by default
- 0.1.52 Run utils-defragOSDs.sh in ceph-osd-default container
- 0.1.53 Update Chart.yaml apiVersion to v2
- 2024.2.0 Update version to align with the Openstack release cycle

## 2024.2.0

Before 2024.2.0 all the OpenStack-Helm charts were versioned independently.
Here we provide all the release notes for the chart for all versions before 2024.2.0.
