# Release notes

## 2026.1.0-45

### 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``.

### 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.

## 2026.1.0

- Allow users to add additional sources to the Projected Volume that is mounted
  at /etc/cloudkitty/cloudkitty.conf.d/ so they may more easily override configs or provide
  additional configs for the various services in the chart.
- Restructured paste configuration for OpenStack 2026.1 compatibility.
  The healthcheck middleware is now deployed as an app instead of a filter
  (``app:healthcheck`` with ``paste.app_factory``) to comply with the
  oslo.middleware HealthcheckMiddleware change that no longer supports
  filter mode. Paste pipelines have been converted to composite applications
  using ``egg:Paste#urlmap`` to route ``/healthcheck`` to the healthcheck
  app and ``/`` to the API pipeline. Replaced uWSGI ``wsgi-file`` with
  ``module`` directive (``cloudkitty.wsgi.api:application``).

### 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

- Add support for the Cloudkitty rating service to define how resource usage
  (compute, storage, network, etc) should be priced, then generate
  cost reports based on usage data collected from various sources.
- Removed unnecessary code in pod spec, added metrics.yml to cloudkitty-api container
- 0.1.0 Initial Chart

### New Features

- Added Cloudkitty Helm chart with support for
  - Cloudkitty API and Processor deployment and config.
  - Customize cloudkitty metrics scraping from gnocchi/ceilometer and prometheus.
  - Provides APIs and a Horizon (dashboard) plugin to generate reports for projects/tenants.
- Update apparmor values to use security_context instead of annotations.
- Add support for runtimeClassName and priorityClassName

## 2025.1.0

## 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.
