diff --git a/.gitignore b/.gitignore
index d362686..2ad4866 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,6 +24,7 @@
 doc/build
 collections/
 *.egg-info
+CHANGELOG.rst
 
 ## Editors
 .idea
diff --git a/CHANGELOG.md b/CHANGELOG.md
deleted file mode 100644
index cde8c64..0000000
--- a/CHANGELOG.md
+++ /dev/null
@@ -1,758 +0,0 @@
-# Changelog
-
-## [1.10.4](https://github.com/vexxhost/atmosphere/compare/v1.10.3...v1.10.4) (2024-01-09)
-
-
-### Bug Fixes
-
-* added monitoring for high 500s count ([2e937c9](https://github.com/vexxhost/atmosphere/commit/2e937c9cc264d0da561e729f05b0bce4b5c46ed7))
-* bump nova to fix sqlalchemy timeouts ([e22114e](https://github.com/vexxhost/atmosphere/commit/e22114ed6adfe947e26239f5b384d3bd20ab07cb))
-* configure ovn-bridge with netdev datapath type when dpdk is enabled ([#767](https://github.com/vexxhost/atmosphere/issues/767)) ([e85e0ed](https://github.com/vexxhost/atmosphere/commit/e85e0ed5eb52d2736aa7dad7f66fccd503efce20))
-* **designate:** missing conf in neutron config ([#744](https://github.com/vexxhost/atmosphere/issues/744)) ([de653d1](https://github.com/vexxhost/atmosphere/commit/de653d15948136e93b0db3093fa2aef146902b80))
-* **doc:** correct the docu with the correct image ([#758](https://github.com/vexxhost/atmosphere/issues/758)) ([7388b41](https://github.com/vexxhost/atmosphere/commit/7388b41d28ebbbfbdbfb6b4c0f27c69cee513575))
-* feed pre-existing ssh key to the heat stack tailoring nova api 2.92 for molecule scenario ([#762](https://github.com/vexxhost/atmosphere/issues/762)) ([dc27347](https://github.com/vexxhost/atmosphere/commit/dc273478eacc7c87ebb351880f1a3639a083d8fd))
-* fix build workflow generation for infoblox ([#777](https://github.com/vexxhost/atmosphere/issues/777)) ([873939c](https://github.com/vexxhost/atmosphere/commit/873939cb495fddb2fe70ce6408418287b7164ef4))
-* fix go script for infoblox image build workflow ([#776](https://github.com/vexxhost/atmosphere/issues/776)) ([4da325e](https://github.com/vexxhost/atmosphere/commit/4da325e7b7abb6dba71fc5b7f821138e8a63b4ab))
-* increase the wait timeout for keycloak helm chart deployment ([#770](https://github.com/vexxhost/atmosphere/issues/770)) ([a518383](https://github.com/vexxhost/atmosphere/commit/a518383ea7ef80c55461c64155666846343742d9))
-* increase the wait timeout for keystone ingress ([#771](https://github.com/vexxhost/atmosphere/issues/771)) ([897b78b](https://github.com/vexxhost/atmosphere/commit/897b78bd850e580fd35c19cf100d95d0ff372e9d))
-* **keycloak:** add no_log and disable become ([8dc7add](https://github.com/vexxhost/atmosphere/commit/8dc7add7800ee09cc7408204f8705822c5b14f2c))
-* **keycloak:** use startupProbe ([73dcb9d](https://github.com/vexxhost/atmosphere/commit/73dcb9d11a6bfbf9eb99348fd95c8fc5b4de5055))
-* **libvirt:** create sidecar to rotate creds ([#865](https://github.com/vexxhost/atmosphere/issues/865)) ([168acc3](https://github.com/vexxhost/atmosphere/commit/168acc3dc3a4fbfc712b26fffdcc1cfde7c20c03))
-* **magnum:** bump version ([b59f865](https://github.com/vexxhost/atmosphere/commit/b59f865571a47593abd64476daed6d3b305d8818))
-* **magnum:** set nodeSelector for according to the network backend ([#750](https://github.com/vexxhost/atmosphere/issues/750)) ([c090abb](https://github.com/vexxhost/atmosphere/commit/c090abb5981b8053e02cbece50844c6cce9652ae))
-* **neutron:** Add a flag variable to enable designate integration in neutron ([#449](https://github.com/vexxhost/atmosphere/issues/449)) ([a45c0e7](https://github.com/vexxhost/atmosphere/commit/a45c0e71178daa814273524b652fdd734485033e))
-* octavia and manila flavor extra specs  ([#769](https://github.com/vexxhost/atmosphere/issues/769)) ([bee9ae0](https://github.com/vexxhost/atmosphere/commit/bee9ae0f91689b1c547df9d47d83748f31fa8dcd))
-* **ovn:** pin host names ([#863](https://github.com/vexxhost/atmosphere/issues/863)) ([19d6312](https://github.com/vexxhost/atmosphere/commit/19d63125c1442218a59515b62c9c60f4114d1a7c))
-* pin python-memcached==1.59 in upper-constraints.txt for 2023.2 ([#862](https://github.com/vexxhost/atmosphere/issues/862)) ([746664c](https://github.com/vexxhost/atmosphere/commit/746664c79ccff85c56596c57c91b3ce343a10209))
-* refactor nova-compute probes ([#768](https://github.com/vexxhost/atmosphere/issues/768)) ([177a7ae](https://github.com/vexxhost/atmosphere/commit/177a7aea34367f91688cf7810901039be080268e))
-* skip port deletion when instances have no port ([#779](https://github.com/vexxhost/atmosphere/issues/779)) ([7060df8](https://github.com/vexxhost/atmosphere/commit/7060df8d5a1c6908ba861ab0c75ca5fc30bab2c6))
-* use cloud-archive-base for Atmosphere image ([#860](https://github.com/vexxhost/atmosphere/issues/860)) ([b19c1cf](https://github.com/vexxhost/atmosphere/commit/b19c1cfc7540ba02e06ffc6b1a304ec5bf5817bc))
-* use existing images for octavia ([#753](https://github.com/vexxhost/atmosphere/issues/753)) ([20eac5d](https://github.com/vexxhost/atmosphere/commit/20eac5d8c886e4bc09a69398ed748b9596aa6dbf))
-
-
-### Documentation
-
-* For OVN/DPDK config ([#774](https://github.com/vexxhost/atmosphere/issues/774)) ([69f85c1](https://github.com/vexxhost/atmosphere/commit/69f85c113853d341d21c0cd04df2260f2a58d27a))
-
-## [1.10.3](https://github.com/vexxhost/atmosphere/compare/v1.10.2...v1.10.3) (2023-12-05)
-
-
-### Bug Fixes
-
-* Enable all services and metrics in openstack-exporter ([#721](https://github.com/vexxhost/atmosphere/issues/721)) ([1a03ad9](https://github.com/vexxhost/atmosphere/commit/1a03ad9c21529a8c7ace0bacc441c35be29cc50e))
-* **keystone:** add no_log to create keycloak realm ([59853d4](https://github.com/vexxhost/atmosphere/commit/59853d430ca8d9b999d4ac5a8f204ca05f66fb8c)), closes [#735](https://github.com/vexxhost/atmosphere/issues/735)
-* **keystone:** add OIDC-preferred_username to remote and map to name in user of loca… ([#633](https://github.com/vexxhost/atmosphere/issues/633)) ([4ba25cf](https://github.com/vexxhost/atmosphere/commit/4ba25cfec7a987b1db7971d44a8716030781e5b2))
-* **keystone:** allow bootstrap with missing /v3 ([#509](https://github.com/vexxhost/atmosphere/issues/509)) ([dc88f07](https://github.com/vexxhost/atmosphere/commit/dc88f07ebe17738458648842caf3f379bfbc7f0f))
-* **nova:** use distro supplied libvirt-python ([#742](https://github.com/vexxhost/atmosphere/issues/742)) ([25e5af2](https://github.com/vexxhost/atmosphere/commit/25e5af2e1bde5f7979d7470ac4fd6ad85f1101fd))
-* **pxc:** raise haproxy conn limit ([#732](https://github.com/vexxhost/atmosphere/issues/732)) ([3b3507d](https://github.com/vexxhost/atmosphere/commit/3b3507d932ba3b48de48c2e3b5bc7d622161d716))
-* **senlin:** configure workers ([f5b77ee](https://github.com/vexxhost/atmosphere/commit/f5b77eef9e9ecda9a90940c353780f8ad73b3788)), closes [#731](https://github.com/vexxhost/atmosphere/issues/731)
-* Update magnum image ([#717](https://github.com/vexxhost/atmosphere/issues/717)) ([e154bd1](https://github.com/vexxhost/atmosphere/commit/e154bd1f25f9c8e7a73002ec4884c8886e15a9e1))
-
-## [1.10.2](https://github.com/vexxhost/atmosphere/compare/v1.10.1...v1.10.2) (2023-11-16)
-
-
-### Bug Fixes
-
-* Update magnum image ([#717](https://github.com/vexxhost/atmosphere/issues/717)) ([e154bd1](https://github.com/vexxhost/atmosphere/commit/e154bd1f25f9c8e7a73002ec4884c8886e15a9e1))
-
-## [1.10.1](https://github.com/vexxhost/atmosphere/compare/v1.10.0...v1.10.1) (2023-11-15)
-
-
-### Bug Fixes
-
-* Avoid localhost delegation for openstack.cloud tasks ([#709](https://github.com/vexxhost/atmosphere/issues/709)) ([105304e](https://github.com/vexxhost/atmosphere/commit/105304e81cd596f737294fa3d4170a6303a24828))
-
-## [1.10.0](https://github.com/vexxhost/atmosphere/compare/v1.9.0...v1.10.0) (2023-11-06)
-
-
-### Features
-
-* **horizon:** Update Horizon to Bobcat ([#695](https://github.com/vexxhost/atmosphere/issues/695)) ([bab75aa](https://github.com/vexxhost/atmosphere/commit/bab75aa204d9b09fb52039fd96e61b30ed413332))
-* **libvirt:** Enable exporter ootb ([#573](https://github.com/vexxhost/atmosphere/issues/573)) ([947a84a](https://github.com/vexxhost/atmosphere/commit/947a84a86981a1a856813c7c1d134900b3822256))
-* Staffeln support ([#588](https://github.com/vexxhost/atmosphere/issues/588)) ([d020bc2](https://github.com/vexxhost/atmosphere/commit/d020bc2910e79a679c1734b0e1d275fa98097284))
-
-
-### Bug Fixes
-
-* add placement client ([#666](https://github.com/vexxhost/atmosphere/issues/666)) ([a396d9d](https://github.com/vexxhost/atmosphere/commit/a396d9d8e2d808f6f2942792e9de7bafbf739cfe))
-* bump capi ([#594](https://github.com/vexxhost/atmosphere/issues/594)) ([c8f6989](https://github.com/vexxhost/atmosphere/commit/c8f6989a8d32d004708d68652d315b204625c710))
-* **CI:** image-manifest and ceph(ovs/ovn) ([#644](https://github.com/vexxhost/atmosphere/issues/644)) ([46bb4f1](https://github.com/vexxhost/atmosphere/commit/46bb4f16121442843e734ecbf1ead2fe9c95126c))
-* Disable in percona name resolution ([#642](https://github.com/vexxhost/atmosphere/issues/642)) ([c865f50](https://github.com/vexxhost/atmosphere/commit/c865f501a9a7dcd960f8d5dee00baae04fe0066e)), closes [#545](https://github.com/vexxhost/atmosphere/issues/545)
-* Fix VNC times out after 60 seconds of idle time ([#654](https://github.com/vexxhost/atmosphere/issues/654)) ([af9972f](https://github.com/vexxhost/atmosphere/commit/af9972f1d9b14dace9cdffae35a9d8663624bf76))
-* **hack:** Avoid remove staffeln charts ([#682](https://github.com/vexxhost/atmosphere/issues/682)) ([f58e180](https://github.com/vexxhost/atmosphere/commit/f58e1803fedd54b12febf939ca13137217c8c1a0))
-* **hack:** Use -f for rm when sync charts ([#692](https://github.com/vexxhost/atmosphere/issues/692)) ([34140a1](https://github.com/vexxhost/atmosphere/commit/34140a19f59e81cf908272dd826c9db2d13665c6))
-* **heat:** solve uwsgi issues ([134eac3](https://github.com/vexxhost/atmosphere/commit/134eac3c554c9faac527441c5879aa3e78986dd4))
-* **horizon:** allow deploy without defined cluster issuer ([a0b1eb8](https://github.com/vexxhost/atmosphere/commit/a0b1eb8bb30bedf10606e47b9e59c03ebd587942))
-* **keycloak:** Run keycloak on control plane ([#630](https://github.com/vexxhost/atmosphere/issues/630)) ([72da012](https://github.com/vexxhost/atmosphere/commit/72da01273e80ac1f4094ebf5f2444f58b6706c8f))
-* **libvirt:** add HOSTNAME_FQDN to certificate ([#627](https://github.com/vexxhost/atmosphere/issues/627)) ([a7a27f8](https://github.com/vexxhost/atmosphere/commit/a7a27f8f3e4ee811efdf6978fc69cb485adc3d4c))
-* **magnum:** bump capi to 1.5.1 ([#645](https://github.com/vexxhost/atmosphere/issues/645)) ([3251ef9](https://github.com/vexxhost/atmosphere/commit/3251ef9b70bc4de5a5813de79b50007271aa3a23))
-* **magnum:** solve uwsgi issues ([200bb66](https://github.com/vexxhost/atmosphere/commit/200bb66ca30f19925693c287c60991ad1641a966))
-* **manila:** solve uwsgi issues ([734d1e4](https://github.com/vexxhost/atmosphere/commit/734d1e407d951f4b0e684b3691971a09b14789a6))
-* **monitoring:** fire IpmiCollectorDown after 15m ([2beb903](https://github.com/vexxhost/atmosphere/commit/2beb90334ef77a6748dc6a8859c32b9f9ea4ca06))
-* **neutron:** fix trunk issue ([196eb2e](https://github.com/vexxhost/atmosphere/commit/196eb2e1983c9dc32195512ea38f36bb0ca3914a))
-* **nova,neutron:** Specify missing region name ([#640](https://github.com/vexxhost/atmosphere/issues/640)) ([ab92061](https://github.com/vexxhost/atmosphere/commit/ab9206143ee104777507cc052df6e12c9371b427))
-* **octavia:** Correct port protocol ([#699](https://github.com/vexxhost/atmosphere/issues/699)) ([7766720](https://github.com/vexxhost/atmosphere/commit/77667204eb3b8b026f8e4eec47b9ded82e83c77a))
-* **ovs:** bump to 3.1.0-55atmosphere1 ([#660](https://github.com/vexxhost/atmosphere/issues/660)) ([3cccb4b](https://github.com/vexxhost/atmosphere/commit/3cccb4bc613d25a5a50998cc587311052297e97d))
-* Set step id for image pushin build_workflow ([#693](https://github.com/vexxhost/atmosphere/issues/693)) ([ca40dce](https://github.com/vexxhost/atmosphere/commit/ca40dce31a26e69254d171996803d34a7f48c9f3))
-
-
-### Documentation
-
-* Allow plain certs for CA cluster issuer inventory ([#678](https://github.com/vexxhost/atmosphere/issues/678)) ([396ca9f](https://github.com/vexxhost/atmosphere/commit/396ca9ff873dfce0a2251a7333c81b3015142f5a))
-
-## [1.9.0](https://github.com/vexxhost/atmosphere/compare/v1.8.0...v1.9.0) (2023-09-21)
-
-
-### Features
-
-* add cluster_issuer_type none ([#570](https://github.com/vexxhost/atmosphere/issues/570)) ([330a520](https://github.com/vexxhost/atmosphere/commit/330a5207713499bcab7bd1cc9bb5eb3892abe5cf))
-* Add keycloak ([#510](https://github.com/vexxhost/atmosphere/issues/510)) ([b009349](https://github.com/vexxhost/atmosphere/commit/b0093493f46409e3a168412e57ba66913813dd87))
-* allow offline installs for atmosphere ([#590](https://github.com/vexxhost/atmosphere/issues/590)) ([c4499c1](https://github.com/vexxhost/atmosphere/commit/c4499c1945cf09f10685c9eb2b1c5799b4c4adfb))
-* introduce aarch64 support for libvirt pod ([#554](https://github.com/vexxhost/atmosphere/issues/554)) ([a33244e](https://github.com/vexxhost/atmosphere/commit/a33244e7aa47e959398dab43b2becbccd1c657a2))
-* **monitoring:** refactor ([#555](https://github.com/vexxhost/atmosphere/issues/555)) ([5b49cbb](https://github.com/vexxhost/atmosphere/commit/5b49cbbeeb1d1336e0b1707c4ad04635bf34c731))
-* Rollout horizon deployment whenever logo changed ([187edfa](https://github.com/vexxhost/atmosphere/commit/187edfa5122e7960ab963e27af433b9830a6c27d))
-
-
-### Bug Fixes
-
-* add vexxhost.atmosphere when using urlencoded_issuer_from_domain. ([1f65085](https://github.com/vexxhost/atmosphere/commit/1f65085d101934c9cf16ad8a0ecc6025f3f8929d))
-* correct keycloak TLS secret when openstack_helm_ingress_secret_name is used. ([#575](https://github.com/vexxhost/atmosphere/issues/575)) ([4ea5220](https://github.com/vexxhost/atmosphere/commit/4ea52201b9288bc6e815a52ccd5c9078fe384ace))
-* **monitoring:** drop ethtool exporter ([#572](https://github.com/vexxhost/atmosphere/issues/572)) ([6589394](https://github.com/vexxhost/atmosphere/commit/65893945884e3a345a9db2cd16bc31f6e9b8a26f))
-* **ovn:** enable dependency to handle slow envs ([fd8edcc](https://github.com/vexxhost/atmosphere/commit/fd8edcc3f775a1ada976a6327416648d080294a7))
-* rook_ceph k8s image ([#553](https://github.com/vexxhost/atmosphere/issues/553)) ([2a2a92e](https://github.com/vexxhost/atmosphere/commit/2a2a92e7c341c4be92fdd251deafea23e31f2810))
-* Set cinder auth in nova ([567fc08](https://github.com/vexxhost/atmosphere/commit/567fc08901f9c21a2ede8b9b7e647eef7e462121))
-* update images using earthly ([#565](https://github.com/vexxhost/atmosphere/issues/565)) ([9169689](https://github.com/vexxhost/atmosphere/commit/916968938eed5d542f3c8dc04fcb544e82c9706f))
-* urlencoded_issuer_from_domain ([#576](https://github.com/vexxhost/atmosphere/issues/576)) ([1f65085](https://github.com/vexxhost/atmosphere/commit/1f65085d101934c9cf16ad8a0ecc6025f3f8929d))
-* use 2.87 nova api for openstack_exporter ([#544](https://github.com/vexxhost/atmosphere/issues/544)) ([17b6411](https://github.com/vexxhost/atmosphere/commit/17b6411a0b2ed58228e6bae099abb0977efed8b6))
-
-
-### Documentation
-
-* add failed to boot docs ([51f0221](https://github.com/vexxhost/atmosphere/commit/51f0221e77a7019449635489f0dc55194161274c))
-* add info about cherry-picking ([ba7c535](https://github.com/vexxhost/atmosphere/commit/ba7c535d8aab8c44b650ccaf1a976a2df4be0a1b))
-
-## [1.8.0](https://github.com/vexxhost/atmosphere/compare/v1.7.0...v1.8.0) (2023-08-03)
-
-
-### Features
-
-* Deploy CAPI components in controlplane ([344f28a](https://github.com/vexxhost/atmosphere/commit/344f28a79eb9765adacd533fceb69732b29cbb5d))
-* update magnum to latest mcapi images ([#497](https://github.com/vexxhost/atmosphere/issues/497)) ([db73f12](https://github.com/vexxhost/atmosphere/commit/db73f12a50196799e2994b4771864209c55aab17))
-
-
-### Bug Fixes
-
-* Generate passwords for PXC ([d883bc3](https://github.com/vexxhost/atmosphere/commit/d883bc37f0e598f71c2953b77465a868e0e790e7))
-* **magnum:** bump capi version ([da59fe9](https://github.com/vexxhost/atmosphere/commit/da59fe99b59a0ed7f8c3132608c01674feabd108))
-* **neutron:** run native netns cleanup instead ([43677f6](https://github.com/vexxhost/atmosphere/commit/43677f6f3b8745179039ad0dee3f684c8413e9c1))
-* **neutron:** solve ipv6 dhcp issues ([d3df2d1](https://github.com/vexxhost/atmosphere/commit/d3df2d1364a67da797d3067f78f4b960103cc7f9))
-* **nova:** drop tenant_id from url ([65d5450](https://github.com/vexxhost/atmosphere/commit/65d54506c4ae9b26ac39576c1414ffb41a18a684))
-* **nova:** set list_records_by_skipping_down_cells to false ([e936b49](https://github.com/vexxhost/atmosphere/commit/e936b49e203c5392c773508e5d623d22d7710ec2))
-* **ovs:** Make sure ovs ctl file exist before chow ([254721f](https://github.com/vexxhost/atmosphere/commit/254721f842913498bc9c16c46fc8c62e2b45ab20))
-* use correct issuer name ([9741007](https://github.com/vexxhost/atmosphere/commit/974100767c488c97be1422c66741c6d65447a7de))
-
-
-### Documentation
-
-* added basic deploy guide ([1efc3a2](https://github.com/vexxhost/atmosphere/commit/1efc3a2530b8103617416edf94ef9bf22a93aabf))
-
-## [1.7.0](https://github.com/vexxhost/atmosphere/compare/v1.6.0...v1.7.0) (2023-07-05)
-
-
-### Features
-
-* Update magnum images to the latest versions supported by mcapi ([5238aec](https://github.com/vexxhost/atmosphere/commit/5238aec6e79584fb8648130bb63ee62b453dcc30))
-
-## [1.6.0](https://github.com/vexxhost/atmosphere/compare/v1.5.0...v1.6.0) (2023-07-03)
-
-
-### Features
-
-* **ci:** Add a debug job for molecule ceph workflow ([4371e49](https://github.com/vexxhost/atmosphere/commit/4371e49bb5d48892843b3e4acc7113ba570e76fc))
-* native asap2 integration ([#458](https://github.com/vexxhost/atmosphere/issues/458)) ([a720f88](https://github.com/vexxhost/atmosphere/commit/a720f88e1ad0ef616f47524be00b758902ec1f6d))
-
-
-### Bug Fixes
-
-* actually bump mcapi to 0.7.2 ([dfa3766](https://github.com/vexxhost/atmosphere/commit/dfa3766ef022db58e089f6215e151d301d474529))
-* added NodeNetworkMulticast ([4a761bb](https://github.com/vexxhost/atmosphere/commit/4a761bb547197144bc7d0844f18fe491fdbb1808))
-* always set atmosphere_images fact ([5c7bf2b](https://github.com/vexxhost/atmosphere/commit/5c7bf2b092d7d713478f72cb8879715af89897ba))
-* bump capi to enable smoother autoscaling ([abd630d](https://github.com/vexxhost/atmosphere/commit/abd630db8c43440c1ef0ddbcf4d8d34d06bb1c6f))
-* bump mcapi to 0.7.2 ([5bc7c34](https://github.com/vexxhost/atmosphere/commit/5bc7c34a1638a0534ce2028932a58dc74930240d))
-* **ci:** Run tmate session onlyl starts if a previous step failed ([8f95990](https://github.com/vexxhost/atmosphere/commit/8f9599034b996ef36dd4ede30459efcf998afa7c))
-* ignore osa interfaces ([dce06d4](https://github.com/vexxhost/atmosphere/commit/dce06d479dee3f6b6897f55eacaf93b4e09aa84a))
-* ignore vxlan- in node exporter ([7ae2b65](https://github.com/vexxhost/atmosphere/commit/7ae2b65a5012fddbf5a776c0a3f4be62173bf083))
-* **manila:** Improve service_instance_security_group ([#445](https://github.com/vexxhost/atmosphere/issues/445)) ([e4290c5](https://github.com/vexxhost/atmosphere/commit/e4290c52572e8b529ac9df6481f89b9f16fd2d3c))
-* **manila:** use sg name for manila ([2edead0](https://github.com/vexxhost/atmosphere/commit/2edead000c19ea7d7bcd5afaab21ba5c64d67b72))
-* **mcapi:** bump version ([#468](https://github.com/vexxhost/atmosphere/issues/468)) ([c2567e7](https://github.com/vexxhost/atmosphere/commit/c2567e75d5f8da178d227fe822d65a6aa67f2134))
-* **ovs:** bump ovs chart version to 0.1.14 ([24b9a2d](https://github.com/vexxhost/atmosphere/commit/24b9a2d61a4ac0331a295f433b59c7214296866f))
-
-
-### Documentation
-
-* add info about legacy tls ([1385974](https://github.com/vexxhost/atmosphere/commit/13859742a57ab90e66585294b10d9ae49e5a5fe8))
-* add way to explain how to check tls versions ([62417f7](https://github.com/vexxhost/atmosphere/commit/62417f7c7a0e8554cd98dbeeac09a7421d932f31))
-
-## [1.5.0](https://github.com/vexxhost/atmosphere/compare/v1.4.0...v1.5.0) (2023-06-02)
-
-
-### Features
-
-* Bump magnum-capi version to support manila CSI ([65556a0](https://github.com/vexxhost/atmosphere/commit/65556a0c0f81ac437ca95fa5a15a1bd6d3b7e293))
-
-
-### Bug Fixes
-
-* drop entrypoint for images ([ebc3afb](https://github.com/vexxhost/atmosphere/commit/ebc3afb4a0fc7946cc1b98db84458995aedffd77))
-* Fix barbican the paste api paste config path for uwsgi ([acb2604](https://github.com/vexxhost/atmosphere/commit/acb2604e14f39fb5ff9bd4c0cb9038e6bf4ee04c))
-* **manila:** update before install dependencies ([a586ec5](https://github.com/vexxhost/atmosphere/commit/a586ec52673a0cf0dba85ccf8e22aa8927cfd1ec))
-* **molecule:** Fix double lookup in pipe ([d50c2a8](https://github.com/vexxhost/atmosphere/commit/d50c2a8f381e3c92408e7c829af68757c9e419f6))
-* **nova:** Set barbican_endpoint_type as internal ([6120249](https://github.com/vexxhost/atmosphere/commit/612024966a263558854c3f4658c69968d99c6094))
-* solve entrypoint for images ([51d72dc](https://github.com/vexxhost/atmosphere/commit/51d72dc9d9fc76af473bd1fdca1f997a96a11687))
-
-## [1.4.0](https://github.com/vexxhost/atmosphere/compare/v1.3.2...v1.4.0) (2023-05-30)
-
-
-### Features
-
-* unify all monitoring via grafana ([cc14968](https://github.com/vexxhost/atmosphere/commit/cc149687e96e3487f10d4eae59fdebc2192ac988))
-
-
-### Bug Fixes
-
-* Add NodeNonLTSKernel alert ([#404](https://github.com/vexxhost/atmosphere/issues/404)) ([403a42a](https://github.com/vexxhost/atmosphere/commit/403a42a7d64c6960001144c563cd7c6f4d259222))
-* add reader as accepted rgw role ([#390](https://github.com/vexxhost/atmosphere/issues/390)) ([733ec32](https://github.com/vexxhost/atmosphere/commit/733ec32ef7b2edaaa665edb60f8226be6aa732d1))
-* **auth:** Define service_type in keystone_authtoken ([#411](https://github.com/vexxhost/atmosphere/issues/411)) ([72f64dc](https://github.com/vexxhost/atmosphere/commit/72f64dc7f1c32b2fc21bf76563d87cd57137de60))
-* **manila:** Remove volume quota limitations for service project ([#407](https://github.com/vexxhost/atmosphere/issues/407)) ([b32ceda](https://github.com/vexxhost/atmosphere/commit/b32cedaf172faac125671f2c8eca6c8d32d3d99c))
-* **neutron:** sync paste config ([c0022be](https://github.com/vexxhost/atmosphere/commit/c0022be5bef9f12f829e222c52f68b92eb905afd))
-* **nova:** Remove nova bootstrap job ([#422](https://github.com/vexxhost/atmosphere/issues/422)) ([f5adeb5](https://github.com/vexxhost/atmosphere/commit/f5adeb5c7c33cbd715d02b34ed1b72c98b7cd1f2))
-* Remove vsphere_csi role ([ae673a9](https://github.com/vexxhost/atmosphere/commit/ae673a93efb49b017cb8e116b826575842874928))
-
-## [1.3.2](https://github.com/vexxhost/atmosphere/compare/v1.3.1...v1.3.2) (2023-04-13)
-
-
-### Bug Fixes
-
-* use pre-built registry ([e97c6a5](https://github.com/vexxhost/atmosphere/commit/e97c6a5b79972d600ab56a2af97f52b9c0fe32c3))
-
-## [1.3.1](https://github.com/vexxhost/atmosphere/compare/v1.3.0...v1.3.1) (2023-04-11)
-
-
-### Bug Fixes
-
-* add lpfc role ([#381](https://github.com/vexxhost/atmosphere/issues/381)) ([ab3d88b](https://github.com/vexxhost/atmosphere/commit/ab3d88b9e7c1ed5346445f9e0c0b1e7e31605876))
-* implement isolated clusters ([f0314a8](https://github.com/vexxhost/atmosphere/commit/f0314a8482135fa3bedcc7d54bf89978d4b2cb5a))
-* openstack_cli requires ansible facts ([3e70190](https://github.com/vexxhost/atmosphere/commit/3e70190fc442d8a716851753c27fc2e705c89000))
-* rbac for capi ([1588236](https://github.com/vexxhost/atmosphere/commit/158823643ded6811eba712e293c104d798b7e599))
-* update initramfs ([09570b8](https://github.com/vexxhost/atmosphere/commit/09570b8a01c2d2cd106c7e4bdfe527798ebc607d))
-
-## [1.3.0](https://github.com/vexxhost/atmosphere/compare/v1.2.0...v1.3.0) (2023-03-31)
-
-
-### Features
-
-* switch to binary kubernetes, fluxcd and helm install ([#351](https://github.com/vexxhost/atmosphere/issues/351)) ([c4f0ded](https://github.com/vexxhost/atmosphere/commit/c4f0dedab356b66bfd78e66d936ff3ab214b8bf8))
-
-
-### Bug Fixes
-
-* **heat:** raise rpc_response_timeout ([576f04d](https://github.com/vexxhost/atmosphere/commit/576f04d728995624e1e71744dfe2b6864d6926a1))
-* **nova:** backport live migration patch ([733635e](https://github.com/vexxhost/atmosphere/commit/733635e5dd549fe76f177eb8b9ce198be4925f1c))
-
-## [1.2.0](https://github.com/vexxhost/atmosphere/compare/v1.1.0...v1.2.0) (2023-03-28)
-
-
-### Features
-
-* Add manila role ([f916c0c](https://github.com/vexxhost/atmosphere/commit/f916c0c8738515c9ce9246536bdeabd2a012ddd4))
-
-
-### Bug Fixes
-
-* **manila:** switch to pubkey auth ([7b44730](https://github.com/vexxhost/atmosphere/commit/7b44730dd18596ba68484c8e48b57c4cb7406245))
-* **manila:** use ansible to create resources ([85fc1bf](https://github.com/vexxhost/atmosphere/commit/85fc1bf82aa72efe2d647dfb42cca97b23afc409))
-* solve vnc for proxy ([e4c14ad](https://github.com/vexxhost/atmosphere/commit/e4c14ad61cfb7c5dfda481e10ed8119098779e6d))
-* use manila-ubuntu-minimal ([d88e831](https://github.com/vexxhost/atmosphere/commit/d88e83146761cb088862c5ed590f406eaf8f23fd))
-
-## [1.1.0](https://github.com/vexxhost/atmosphere/compare/v1.0.1...v1.1.0) (2023-03-22)
-
-
-### Features
-
-* Add iproute2 for manila image ([62694c7](https://github.com/vexxhost/atmosphere/commit/62694c78a1b967995c4d0c6c92dc47aba8603474))
-* Add openvswitch-switch for manila image ([e284e49](https://github.com/vexxhost/atmosphere/commit/e284e496756171e417898c014762af8f2666e5c0))
-* add OSA migration toolkit ([#324](https://github.com/vexxhost/atmosphere/issues/324)) ([0a13cee](https://github.com/vexxhost/atmosphere/commit/0a13ceeacd4a2114ac41793551e497ae7482e422))
-* Disable unattended upgrade ([dcf6a8b](https://github.com/vexxhost/atmosphere/commit/dcf6a8b4b4daae0ad81fb2ed847f94f862739311))
-* **monitoring:** add metrics for ingress-nginx ([9118f67](https://github.com/vexxhost/atmosphere/commit/9118f6723a798746abcc3b6962000984aaf492cc))
-* override CAPO ([#347](https://github.com/vexxhost/atmosphere/issues/347)) ([5f23a0d](https://github.com/vexxhost/atmosphere/commit/5f23a0d5d0cb3e1a3509e4c32db71ca45f626c19))
-
-
-### Bug Fixes
-
-* add defaults to flux ([347128b](https://github.com/vexxhost/atmosphere/commit/347128b18859ca2f43502f9ce07d7fcad2f03fb8))
-* allow overriding node-ip ([1b54126](https://github.com/vexxhost/atmosphere/commit/1b54126a2f632f6d803d663f2c3e451011474f49))
-* assume is_metal=false ([88b79f9](https://github.com/vexxhost/atmosphere/commit/88b79f9411b3998a8637dae382f42a4ab12dd236))
-* bump buffer size ([a8950ec](https://github.com/vexxhost/atmosphere/commit/a8950ec5163263b0c887a2befd7a606663e72a06))
-* **designate:** use correct ingress port ([f622bbe](https://github.com/vexxhost/atmosphere/commit/f622bbe77ad9ac07da1752c66afac305e7183469))
-* **ethtool:** add skip method ([ebb19d5](https://github.com/vexxhost/atmosphere/commit/ebb19d56f0d530e0e3982f3621da7c250018a1ce))
-* **glance:** fix image format types ([124afbb](https://github.com/vexxhost/atmosphere/commit/124afbb4597aedf48ef36e0868f413f8a358a31d))
-* **glance:** use correct file for diff ([5b14c15](https://github.com/vexxhost/atmosphere/commit/5b14c15ffdc49867dc2c893ad9b028a4a54388e1))
-* **k8s:** allow disabling swap checks ([ad999a7](https://github.com/vexxhost/atmosphere/commit/ad999a7e8f8130106158f4949de36ecfee89e0e4))
-* **k8s:** bind api to node ip too ([bcd1ec0](https://github.com/vexxhost/atmosphere/commit/bcd1ec0fbad9e0b36779ac838c07ef948ae434c9))
-* **k8s:** bind to k8s_node_ip for cm and sched ([973b864](https://github.com/vexxhost/atmosphere/commit/973b8644afe194986970b62c988785203883a1f3))
-* **magnum:** use public endpoint ([d48f4f7](https://github.com/vexxhost/atmosphere/commit/d48f4f770242c5eca0663ffffbdbe262abf89d5f))
-* **migrate:** enable ini file migration ([20da681](https://github.com/vexxhost/atmosphere/commit/20da6810e726015c73de4e4c774bdcb9580404c9))
-* **migrate:** improve matching ([d561693](https://github.com/vexxhost/atmosphere/commit/d56169301f5f7173e8d07d4963199e9546770c08))
-* misc monitoring updates ([7500421](https://github.com/vexxhost/atmosphere/commit/7500421f65615d1d2befe4848b4225c328a38e26))
-* **neutron:** add py-spy to image ([974e067](https://github.com/vexxhost/atmosphere/commit/974e0670c1c683f2628e71d9e7b6c913ba392659))
-* **neutron:** drop py-spy ([f511397](https://github.com/vexxhost/atmosphere/commit/f511397fd02efffc61a0cce76142be4985d62004))
-* **octavia:** add missing quota ([e7d6624](https://github.com/vexxhost/atmosphere/commit/e7d6624bda0d2d3c11b44c8b867185f9aae0bd4d))
-* **openstack_cli:** enable overriding mirror ([558a229](https://github.com/vexxhost/atmosphere/commit/558a229e3a30ffc29d527a786c1fcded3ac3b5d1))
-* **rabbitmq:** drop resource limits ([6a487f1](https://github.com/vexxhost/atmosphere/commit/6a487f1a22467041ae50c6f8e86a8e2b067d9b68))
-* **rabbitmq:** stop/warn if spec is changed ([3595fdd](https://github.com/vexxhost/atmosphere/commit/3595fdde876b78cb05f039be93bbdb4c1fcdfed7))
-* remove extra args ([d16be49](https://github.com/vexxhost/atmosphere/commit/d16be49354496d9a6522d58079d3730541921eb0))
-* resolve bind-address ([3ddaa05](https://github.com/vexxhost/atmosphere/commit/3ddaa05e6acb877c5790f82702635e9a3653b4d6))
-* solve cni commit ([9b15c0d](https://github.com/vexxhost/atmosphere/commit/9b15c0da4671767063549f1eaa1d33a96b8515e3))
-* solve osa_config_diff details ([5f18691](https://github.com/vexxhost/atmosphere/commit/5f186917e36283fcf10d326074a3c5c1b448b611))
-* tune net.core.netdev_budget ([6b7acca](https://github.com/vexxhost/atmosphere/commit/6b7accacd089c740ae2ba92405d32e0e9f64b4dc))
-* update keyston endpoint ([c129e5d](https://github.com/vexxhost/atmosphere/commit/c129e5d76dabcb282597d6a62dcd3515cd8c0561))
-* use cilium image tag ([760afae](https://github.com/vexxhost/atmosphere/commit/760afaecf77130410850ecb0ca56c7363c57fc34))
-* use correct api address ([96933d0](https://github.com/vexxhost/atmosphere/commit/96933d0819d8be981b8917676b0d8fa4f1859298))
-* use correct image for pause ([252dcc2](https://github.com/vexxhost/atmosphere/commit/252dcc26db4cfdbfccbc47ec4ed89b535e52422a))
-* use correct ip for haproxy.cfg ([1557c31](https://github.com/vexxhost/atmosphere/commit/1557c3192858ed159282e7f05440b41c1567e604))
-* use correct openstack-exporter metrics ([4cfce72](https://github.com/vexxhost/atmosphere/commit/4cfce7210ebdb9d015bc62ad585461ff41e36b5b))
-* use correct tempest values ([2860a7c](https://github.com/vexxhost/atmosphere/commit/2860a7c0244e691da37abeeedd504109e44c3dbf))
-* use updated vexxhost.k8s ([574d650](https://github.com/vexxhost/atmosphere/commit/574d6509d5bda3d10ec14e12c5787d997058cca9))
-* vector+loki images ([1193774](https://github.com/vexxhost/atmosphere/commit/1193774e7427e163bac8c0af583d83ce5a979b40))
-* **vector:** use correct image name ([ec97655](https://github.com/vexxhost/atmosphere/commit/ec976556f03260ba7334a8a1a356082d2249d5a0))
-
-
-### Documentation
-
-* add freeipa config ([e2ce310](https://github.com/vexxhost/atmosphere/commit/e2ce31067f7d2d5a77f0b6a916f2ebe86a4959ba))
-
-## [1.0.1](https://github.com/vexxhost/atmosphere/compare/v1.0.0...v1.0.1) (2023-03-01)
-
-
-### Bug Fixes
-
-* **ovs:** Fix LimitMEMLOCK assertion ([#344](https://github.com/vexxhost/atmosphere/issues/344)) ([316f6a7](https://github.com/vexxhost/atmosphere/commit/316f6a72f425148d96fe07d03d92b82f0de55589))
-
-## [1.0.0](https://github.com/vexxhost/atmosphere/compare/v1.0.0-rc.2...v1.0.0) (2023-03-01)
-
-
-### Features
-
-* add infoblox cert-manager validation ([7c211b7](https://github.com/vexxhost/atmosphere/commit/7c211b792688cc5e7bc7c03210cf69d876961d47))
-* switch to binary runc and containerd install ([#333](https://github.com/vexxhost/atmosphere/issues/333)) ([4ace418](https://github.com/vexxhost/atmosphere/commit/4ace418dddae41023dd51fa88d86abfdac0aff61))
-
-
-### Bug Fixes
-
-* add rbac for magnum ([7943cf8](https://github.com/vexxhost/atmosphere/commit/7943cf88a8e967d7c6cafdfd42a58b9fcb7b2bf7))
-* allow storage init with uppercase ([c50c946](https://github.com/vexxhost/atmosphere/commit/c50c946c1bad4348a75434fce39fff31bcd0684f))
-* allow uppercase backends ([6a7426e](https://github.com/vexxhost/atmosphere/commit/6a7426ef5354555aa3070d0e18d83846416161ed))
-* disallow embedded of horizon in iframe ([#338](https://github.com/vexxhost/atmosphere/issues/338)) ([876cb21](https://github.com/vexxhost/atmosphere/commit/876cb21687cca2790c12bcb913073592371c10c3))
-* enable cinder to do online volume resizes ([3213710](https://github.com/vexxhost/atmosphere/commit/3213710ceb61fd9e29de0f770b355e95ba5c16bd))
-* **horizon:** bump body size to 5G ([66a446c](https://github.com/vexxhost/atmosphere/commit/66a446c82e9922dba5eab5999d2a3ca9271225f9))
-* **ovs:** correct the assertion for memlock setting of containerd ([#343](https://github.com/vexxhost/atmosphere/issues/343)) ([e558895](https://github.com/vexxhost/atmosphere/commit/e558895c2ff40ba8414d0a06707e13d28594217a))
-* **ovs:** delegate tasks to controller ([1cec107](https://github.com/vexxhost/atmosphere/commit/1cec107d80a66407870a5eb93b5f957f21ac889c))
-* use clusterctl for capi ([65850fd](https://github.com/vexxhost/atmosphere/commit/65850fdf23d8a41807aa94a923b4d00241520b10))
-
-
-### Miscellaneous Chores
-
-* release 1.0.0 ([f1ca529](https://github.com/vexxhost/atmosphere/commit/f1ca5296d378162089973be496d7cb41cd5aa097))
-
-## [1.0.0-rc.2](https://github.com/vexxhost/atmosphere/compare/v1.0.0-rc.1...v1.0.0-rc.2) (2023-02-20)
-
-
-### Features
-
-* add crictl.yaml config ([#330](https://github.com/vexxhost/atmosphere/issues/330)) ([0615925](https://github.com/vexxhost/atmosphere/commit/0615925a1dd6155687da69b08c5b1e3fa456d640))
-* add logging via vector + loki ([8a2c8fb](https://github.com/vexxhost/atmosphere/commit/8a2c8fbbcaee6cd29cb957fb369be24f314a5236))
-* allow adding dns01 clusterissuers ([2db0a22](https://github.com/vexxhost/atmosphere/commit/2db0a22d4b31b188995741cc06a9abdfd2584769))
-* allow using wildcard certs ([a5902dd](https://github.com/vexxhost/atmosphere/commit/a5902dd42117b273cec41ef1be2e12d0279ff817))
-* always disable swap on node startup ([#328](https://github.com/vexxhost/atmosphere/issues/328)) ([4770f55](https://github.com/vexxhost/atmosphere/commit/4770f55edff2dcc1bc3c4efcabb59d0a9cf1afa6))
-
-
-### Bug Fixes
-
-* add asseriton for ovs upgrade ([179bf0d](https://github.com/vexxhost/atmosphere/commit/179bf0d8b0d2ee41415be4da634e9c3019770cbe))
-* add dependency for openstacksdk ([b5c9242](https://github.com/vexxhost/atmosphere/commit/b5c9242781936c090324709f84ee46ea2eac6e8c))
-* add image conversion ([4b63004](https://github.com/vexxhost/atmosphere/commit/4b63004bfefe70c669c2d5788a21580f6fa2ad25))
-* add os_distro to images ([38a7438](https://github.com/vexxhost/atmosphere/commit/38a74385cf3336b8899989076583941f97ba5027))
-* add retries for glance_image ([41f239c](https://github.com/vexxhost/atmosphere/commit/41f239c9a413bf58fba7236f53243fa7c3f4a215))
-* add terminate project playbook ([388aaaa](https://github.com/vexxhost/atmosphere/commit/388aaaa30e9d099bae80daf09693a5e13435ea9c))
-* allow overriding target for k8s playbook ([8eafb7e](https://github.com/vexxhost/atmosphere/commit/8eafb7ed36ea55398ca178538fd87980d3d2faa3))
-* clean-up terminate project output ([c14fd11](https://github.com/vexxhost/atmosphere/commit/c14fd1103c6680debe065f09d91bcc9dd55a0105))
-* enable magnum resizes ([1402ed0](https://github.com/vexxhost/atmosphere/commit/1402ed0baa43f0a9041047a6e6c736a27d5ac22d))
-* gather facts always ([e8ad9a7](https://github.com/vexxhost/atmosphere/commit/e8ad9a7565a33133f6205eaf3c34744edb5a7742))
-* **octavia:** add observer role to reader ([f641f86](https://github.com/vexxhost/atmosphere/commit/f641f86ace30791cc06c3eca602bd9bc605808c0))
-* solve endpoints list generation ([a827aeb](https://github.com/vexxhost/atmosphere/commit/a827aebde882dd99d6cd57b78a147cb81fc6d691))
-* use bfv for octavia ([9c8115d](https://github.com/vexxhost/atmosphere/commit/9c8115d60903157b33b1cf5f40b320666607ad2b))
-* use correct fallback ([8f1faa4](https://github.com/vexxhost/atmosphere/commit/8f1faa4ea59d78972af57f20ac08eb19329b09a6))
-* use latest clients on focal ([d939b31](https://github.com/vexxhost/atmosphere/commit/d939b31c3d21a8ee1676af6addd90e7114096ae9))
-* use magnum-ui fork to fix resize ([20593cb](https://github.com/vexxhost/atmosphere/commit/20593cb88fdc76e4ddddba61eef565fee14bacf0))
-
-
-### Documentation
-
-* clean-up opsgenie integration ([36f1de2](https://github.com/vexxhost/atmosphere/commit/36f1de2ad52e9a2fde46fdfb38b141de453a23d7))
-* **monitoring:** fix opsgenie ([e119d8b](https://github.com/vexxhost/atmosphere/commit/e119d8b0ced2baaa17fb9d32e2e2b3a1d50ea9b8))
-* refactor designate docs ([d916b5c](https://github.com/vexxhost/atmosphere/commit/d916b5cd7d11e8cb282281654010942ea3e54283))
-
-
-### Miscellaneous Chores
-
-* release 1.0.0-rc.2 ([cb9a798](https://github.com/vexxhost/atmosphere/commit/cb9a7987a9fec1f3f030f89e7cb275702040dde8))
-
-## [1.0.0-rc.1](https://github.com/vexxhost/atmosphere/compare/v0.13.0...v1.0.0-rc.1) (2023-02-03)
-
-
-### Features
-
-* add ability to sync charts + use offline install for pxc-operator ([e04accd](https://github.com/vexxhost/atmosphere/commit/e04accd8b0c2a1e860f2735ebb77596eb84f83b7))
-* add openstack_helm_image_tags filter ([427f6aa](https://github.com/vexxhost/atmosphere/commit/427f6aa474cda7fe677c94d315e79a377eaccb34))
-* added docker_image filter + image_list in ansible ([21d5581](https://github.com/vexxhost/atmosphere/commit/21d55818dd6200202f35aec792d52e2f756bcbdd))
-* added playbook to suspend project ([707e65b](https://github.com/vexxhost/atmosphere/commit/707e65b2596ca525809e96068492013d874f069e))
-* Install Magnum client ([#268](https://github.com/vexxhost/atmosphere/issues/268)) ([5908fb8](https://github.com/vexxhost/atmosphere/commit/5908fb80453b203aadc5ab0dad6f92f3e0f2ec66))
-* move cilium to offline install ([c397259](https://github.com/vexxhost/atmosphere/commit/c397259113609aa3cd833ab3510027acc6ec5c04))
-* move to image_manifest ([fef44b1](https://github.com/vexxhost/atmosphere/commit/fef44b129da22d3c4153a28dd4620dbb463fcba7))
-* Set retries of helmreleases ([#253](https://github.com/vexxhost/atmosphere/issues/253)) ([9bcc2a0](https://github.com/vexxhost/atmosphere/commit/9bcc2a04102b5bd86e67ceafbf7596c149b3fa37))
-* Support coredns offline-install ([ceff992](https://github.com/vexxhost/atmosphere/commit/ceff99247ed2deb3fd58bb61c62ca2003b562796))
-
-
-### Bug Fixes
-
-* add ansible-based ingress ([b07e905](https://github.com/vexxhost/atmosphere/commit/b07e9058c2bce9c3026d96d114354380de4c5eea))
-* Add bmemcached ([98aedb6](https://github.com/vexxhost/atmosphere/commit/98aedb67971be355a2d28c67c9c547afea8934b9))
-* add ingress for magnum ([4c33bb5](https://github.com/vexxhost/atmosphere/commit/4c33bb5b75a752805ca970084cc40d2f49d2ac13))
-* Add missing images for mirroring ([#265](https://github.com/vexxhost/atmosphere/issues/265)) ([271d9de](https://github.com/vexxhost/atmosphere/commit/271d9de70ceeec5477e66d460c34bd63aed47eb4))
-* Deploy cni before flux ([16e0492](https://github.com/vexxhost/atmosphere/commit/16e0492bd8439a91a37003ebfdad64cd24209af5))
-* drop un-used openstack_helm_endpoints_repo_url ([1fe6c6c](https://github.com/vexxhost/atmosphere/commit/1fe6c6cd0ced627711a7b41cfea143beb6ad0d7b))
-* enforce cri-tools version ([b19a631](https://github.com/vexxhost/atmosphere/commit/b19a631bb79c62d7f49473bdb3c191401c3b0bff))
-* Fix ansible var names for helm value overrides ([789b174](https://github.com/vexxhost/atmosphere/commit/789b174643a6bc61978492148ed320b0ef87528f))
-* fix correct value for container_infra in horizon ([2b8a46f](https://github.com/vexxhost/atmosphere/commit/2b8a46f5642dc5f71112665427af0036b781fd96))
-* Fix pre-commit error because of deps conflict ([5298740](https://github.com/vexxhost/atmosphere/commit/5298740ac45cb1b2dcda32e4bc9f8c86baba69e9))
-* Fix tempest helm values var name ([495bf00](https://github.com/vexxhost/atmosphere/commit/495bf004cc51e23fe0188c0d07198fdc3fef4c59))
-* Fix test failures ([6ffcda5](https://github.com/vexxhost/atmosphere/commit/6ffcda54d92b6237cfe3c8df486edd1a0ea2bc37))
-* Fix the condition if atmosphere_image_repository is defined in flux role ([81cf6ab](https://github.com/vexxhost/atmosphere/commit/81cf6ab8541633272cdac0d48ba456482f9969ed))
-* flush handlers after installing ca certs ([cf8424d](https://github.com/vexxhost/atmosphere/commit/cf8424d7fef7246f6e4c23be52b02e10c1d01659))
-* install flux early ([81ea080](https://github.com/vexxhost/atmosphere/commit/81ea08087980d629c319d7d42220da19d9f1b51c))
-* **magnum:** drop hard-coded storage class ([885b53f](https://github.com/vexxhost/atmosphere/commit/885b53f0a7b1035e3d4efbeb8bc02db20f4900f5))
-* **magnum:** load registry correctly ([756b717](https://github.com/vexxhost/atmosphere/commit/756b71700918ca69b652279a0e3253b418799e30))
-* move ceph_csi_rbd to offline-install ([90f91b3](https://github.com/vexxhost/atmosphere/commit/90f91b3dda9fed24bad292cf232cce9259d70635))
-* move pxc to role and allow overriding ([6aa0b91](https://github.com/vexxhost/atmosphere/commit/6aa0b91db2416120784a2225c94449873f404bcf))
-* **nfd:** use correct vars ([512c173](https://github.com/vexxhost/atmosphere/commit/512c173b672b6b3ba9a29d162ff529446b396bf8))
-* resolve json parsing ([69868be](https://github.com/vexxhost/atmosphere/commit/69868bec5d84b7e5214f442ee8ee5c8d45f5ec61))
-* restore openstacksdk ([34db5a4](https://github.com/vexxhost/atmosphere/commit/34db5a49faf7e6c760f8a28da23b9de4ec609213))
-* Revert issuer config for molecule deployment ([168b177](https://github.com/vexxhost/atmosphere/commit/168b1775516f106f379322954cf5d97f2e23f742))
-* Revert openstack_helm_barbican_kek var in barbican role ([5d7f71f](https://github.com/vexxhost/atmosphere/commit/5d7f71f004dc24fe5e93deb22769a6adf76ffd3c))
-* Specify the gallaxy collection for the filter. ([#270](https://github.com/vexxhost/atmosphere/issues/270)) ([60d09f9](https://github.com/vexxhost/atmosphere/commit/60d09f9b02141f486cd362a3d9c49159d8edfae4))
-* sync charts + add hooks for cinder ([feec995](https://github.com/vexxhost/atmosphere/commit/feec9959d6f4c8c8cc6b681f074f640d502638f7))
-* Synchronize files based on checksum in upload_helm_chart role ([8974d07](https://github.com/vexxhost/atmosphere/commit/8974d079d1843a24c330d13aa40a5747dd79cf7c))
-* update k8s gpg key ([65eb66e](https://github.com/vexxhost/atmosphere/commit/65eb66ec6ec279f2320aeb67dc9ad7cd56a75a27))
-* use atmosphere_images for an image manifest ([8b5c306](https://github.com/vexxhost/atmosphere/commit/8b5c30614acfc0d58150a90e89d73d6ddfceb47c))
-* use cacert for self-signed or custom ca ([0148f7b](https://github.com/vexxhost/atmosphere/commit/0148f7b65cef5fdb17f38d481993054eb5eb6046))
-* Use default imagePullPolicy in openstack-helm, i.e. IfNotPresent ([03b4120](https://github.com/vexxhost/atmosphere/commit/03b412013578fecc8d81dd4cf024f4e24ff107f2))
-* use offline deploy for magnum ([fef6942](https://github.com/vexxhost/atmosphere/commit/fef6942b8a3e2053e9f144b15ddf700e1f2dbe6b))
-
-
-### Documentation
-
-* add details for backups ([58c23fd](https://github.com/vexxhost/atmosphere/commit/58c23fd591ac42d4b1ca3c81c323f707b1321e21))
-* add external ceph backup docs ([0c9c70e](https://github.com/vexxhost/atmosphere/commit/0c9c70e5f119f6797ff9a086d97487190e9223c3))
-* added ref to backups ([4c29e55](https://github.com/vexxhost/atmosphere/commit/4c29e559485b77bf8a2894b13194d25ecbdbbef1))
-* fix typo in cinder docs ([278bc71](https://github.com/vexxhost/atmosphere/commit/278bc7119f499bbea6c6038e2b63c18b50213362))
-* refactor pxc backup docs ([e48be3a](https://github.com/vexxhost/atmosphere/commit/e48be3a2beaa194aedc1e05b085dbc6ff365bbe8))
-
-
-### Miscellaneous Chores
-
-* release 1.0.0-rc.1 ([d4cbf73](https://github.com/vexxhost/atmosphere/commit/d4cbf733ab1b6c28c10211e36968307647543ee8))
-
-## [0.13.0](https://github.com/vexxhost/atmosphere/compare/v0.12.0...v0.13.0) (2022-12-28)
-
-
-### Features
-
-* allow for custom registry ([71ebfe8](https://github.com/vexxhost/atmosphere/commit/71ebfe89536fad3f6aabaf83309499298449c373))
-
-
-### Bug Fixes
-
-* Ignore unrechable hosts error in log capture playbook of molecule destroy ([76e81f8](https://github.com/vexxhost/atmosphere/commit/76e81f83f6a958653fe7794e88fedaebac2ae646))
-
-## [0.12.0](https://github.com/vexxhost/atmosphere/compare/v0.11.0...v0.12.0) (2022-12-19)
-
-
-### Features
-
-* allow cloud spec overrides ([d469eb6](https://github.com/vexxhost/atmosphere/commit/d469eb63f6a95c7dea204799c4e693ec4ab24bb0)), closes [#231](https://github.com/vexxhost/atmosphere/issues/231)
-
-
-### Bug Fixes
-
-* bump rabbitmq operator version ([a0874ad](https://github.com/vexxhost/atmosphere/commit/a0874ada6ccdc4e5967b0e11d72d52c7a0ff230e))
-* Correct task "Upload logs to object storage" ([7d40bf2](https://github.com/vexxhost/atmosphere/commit/7d40bf291cb82f8981156dd6d0ef3f45bed439ea))
-* solve typo in atmosphere_cloud_spec ([0aecdae](https://github.com/vexxhost/atmosphere/commit/0aecdaee1102b4e6d18f2019ada512019a1368ad))
-
-## [0.11.0](https://github.com/vexxhost/atmosphere/compare/v0.10.0...v0.11.0) (2022-12-15)
-
-
-### Features
-
-* add cloud resource + magnum ([#217](https://github.com/vexxhost/atmosphere/issues/217)) ([096ade0](https://github.com/vexxhost/atmosphere/commit/096ade0076a386aa64b5f3c0884be8f4643216ad))
-
-## [0.10.0](https://github.com/vexxhost/atmosphere/compare/v0.9.0...v0.10.0) (2022-12-13)
-
-
-### Features
-
-* add endpoint, implied_role, role & service ([84ba2ec](https://github.com/vexxhost/atmosphere/commit/84ba2ec5a37957d9501e18491f5c0c6900fa2125))
-* enable rbd write-back cache ([1e3180b](https://github.com/vexxhost/atmosphere/commit/1e3180b0ccadb5bdcb71d5a5f5da2056791a22a3))
-
-
-### Bug Fixes
-
-* Add masquerade rule in molecule env ([50bbcf0](https://github.com/vexxhost/atmosphere/commit/50bbcf0bbfc1864176f1979c2e9f7ccc94c0c0ed))
-* install crds before resources ([d886654](https://github.com/vexxhost/atmosphere/commit/d886654aea06bc23262eada9368f9b075699f068))
-* **keystone:** add updated libapache-mod-oauth2 ([a99d799](https://github.com/vexxhost/atmosphere/commit/a99d7997ecd590ba1bafe2f8411dd2d490405b9c))
-* **keystone:** clean up after ourselves in images ([19b2032](https://github.com/vexxhost/atmosphere/commit/19b20324ffbe69f59fa6d8de234552e62cd9bb1a))
-* **keystone:** install openidc only ([8fd074e](https://github.com/vexxhost/atmosphere/commit/8fd074ef873f7996e4806e9cf1a17099c1da6a70))
-* move arg up ([8856fb1](https://github.com/vexxhost/atmosphere/commit/8856fb196293aa90deb315561c7268c76c95e649))
-* **operator:** stop validating resources ([90e2c2a](https://github.com/vexxhost/atmosphere/commit/90e2c2acb0434fbc3123a7178f92ab0c6da1b60b))
-* resolve if statement ([686e5c4](https://github.com/vexxhost/atmosphere/commit/686e5c4b4067915521a308e8358a271c35e59065))
-* use correct base image ([67abe6a](https://github.com/vexxhost/atmosphere/commit/67abe6a22b9998ddfc9bda10286b94f8b6d15f7e))
-* use correct builder image ([19c4e4e](https://github.com/vexxhost/atmosphere/commit/19c4e4e5716c1b7f4d08e122760bb03a725cdf09))
-* use runtime image ([1ff73d7](https://github.com/vexxhost/atmosphere/commit/1ff73d766d72a868c8ac86db9b2d69345738a73e))
-
-
-### Documentation
-
-* clean-up rbd persistent cache ([90afb1d](https://github.com/vexxhost/atmosphere/commit/90afb1dd42ab5fa77b8decb31e46e3772b4f6465))
-* **monitoring:** add info how to expose ([431ab87](https://github.com/vexxhost/atmosphere/commit/431ab87e61a2029952d22e0151b309b3c2e5ef00))
-
-## [0.9.0](https://github.com/vexxhost/atmosphere/compare/v0.8.1...v0.9.0) (2022-11-29)
-
-
-### Features
-
-* allow for custom clusterissuer and certificate secretName when atmosphere is not responsible for cert-manager. ([fa960d4](https://github.com/vexxhost/atmosphere/commit/fa960d40c93bfcd17d5af2b6f5405ce174b193a2))
-
-
-### Bug Fixes
-
-* **monitoring:** enable openstack exporter ([b77cea1](https://github.com/vexxhost/atmosphere/commit/b77cea160393211c65df7afa5db564ba2b1666c7))
-* **openstack-exporter:** solve containerPort issues ([c90235e](https://github.com/vexxhost/atmosphere/commit/c90235ea57bd01b1f833315397b0fdd8157296fb))
-* **opsgenie:** adjust severity levels ([b26524f](https://github.com/vexxhost/atmosphere/commit/b26524fbefe1fe9829614cb35c21cf8e0acbf7bb))
-
-
-### Documentation
-
-* basic etcdDatabaseHighFragmentationRatio response ([5af93c0](https://github.com/vexxhost/atmosphere/commit/5af93c07716972c9039bc9158aaf6c02f808f80d))
-
-## [0.8.1](https://github.com/vexxhost/atmosphere/compare/v0.8.0...v0.8.1) (2022-11-28)
-
-
-### Bug Fixes
-
-* switch opsgenie config variable ([377a81b](https://github.com/vexxhost/atmosphere/commit/377a81b812c6c19b5af19753960f696165bd079e))
-
-## [0.8.0](https://github.com/vexxhost/atmosphere/compare/v0.7.0...v0.8.0) (2022-11-28)
-
-
-### Features
-
-* **opsgenie:** add integration ([ad5e265](https://github.com/vexxhost/atmosphere/commit/ad5e265891d7ed06aa2f68e8448a7b4e4d3a2994))
-
-
-### Bug Fixes
-
-* bump to ovs 2.17.3 ([d2f69ef](https://github.com/vexxhost/atmosphere/commit/d2f69ef203a3dc654f249fccd01ca15d355e4133))
-
-## [0.7.0](https://github.com/vexxhost/atmosphere/compare/v0.6.1...v0.7.0) (2022-11-15)
-
-
-### Features
-
-* **octavia:** add role ([d8d2aa1](https://github.com/vexxhost/atmosphere/commit/d8d2aa1eb40cad5028ff2c5a8224ffd1234e0e56))
-
-
-### Bug Fixes
-
-* bump osh for ovs fixes ([1ceda87](https://github.com/vexxhost/atmosphere/commit/1ceda87baa1e5fa3099d78b3d9a7b637f8fc20ef))
-* bump ovs to 2.17.0 ([dc07e23](https://github.com/vexxhost/atmosphere/commit/dc07e23e9e1c10a71e1d7bd9b7bf6d261539d9c7))
-* **containerd:** bump DefaultLimitMEMLOCK to inf ([ff1980a](https://github.com/vexxhost/atmosphere/commit/ff1980a9ba5a792ef04b754de383b85769c03752)), closes [#169](https://github.com/vexxhost/atmosphere/issues/169)
-* **octavia:** resolve unit tests ([d945774](https://github.com/vexxhost/atmosphere/commit/d945774c6e63c9424dc32e26c7d881a704dd8fae))
-* **octavia:** switch to cert-manager issuer certs ([c582420](https://github.com/vexxhost/atmosphere/commit/c58242052e49d30d01e0beb3d4c97f6d731180b6))
-* unit tests + cluster role ([4a402ab](https://github.com/vexxhost/atmosphere/commit/4a402ab35aaffee3a86c1356bf84ddd018f5b8a6))
-* use correct issuer name ([e7f470a](https://github.com/vexxhost/atmosphere/commit/e7f470af16a754a7078fab9aead05d6c5253aa0a))
-
-## [0.6.1](https://github.com/vexxhost/atmosphere/compare/v0.6.0...v0.6.1) (2022-11-10)
-
-
-### Bug Fixes
-
-* **monitoring:** correct CoreDNS selector ([92df86a](https://github.com/vexxhost/atmosphere/commit/92df86a232c8f351bee2572443b15cb7478d9841))
-* **monitoring:** fix NodeLowEntropy alerts ([5d41d7f](https://github.com/vexxhost/atmosphere/commit/5d41d7f3a201f12d8d9144396a5402aef3c1575d))
-* **monitoring:** resolve etcd monitoring ([ba92607](https://github.com/vexxhost/atmosphere/commit/ba9260717d2547d74f92e37130c0cff2017f81d7))
-
-## [0.6.0](https://github.com/vexxhost/atmosphere/compare/v0.5.0...v0.6.0) (2022-11-10)
-
-
-### Features
-
-* allow for a custom cluster IP address for the neutron coredns service, with a default of '10.96.0.20' ([662866f](https://github.com/vexxhost/atmosphere/commit/662866fb56b6601bf0348428641f445604b2b3fd))
-* allow for a custom ingressClassName on OpenStack component ingress objects, with a default of 'openstack' ([d8d1fde](https://github.com/vexxhost/atmosphere/commit/d8d1fde11eeb7e36eb10ec01d318af4d2a1cee71))
-* **ingress:** allow overriding ingress namespace ([31e528b](https://github.com/vexxhost/atmosphere/commit/31e528b39822db1513623e3db0cc8e4fe388ebc1))
-* **memcached:** allow overriding namespace ([661b0b0](https://github.com/vexxhost/atmosphere/commit/661b0b0ee56361806f3d425e047705c5c76f6be0))
-* **monitoring:** add to operator ([7d3c797](https://github.com/vexxhost/atmosphere/commit/7d3c797689f60c904a7a2bc3dd923af2fe3ef379))
-
-
-### Bug Fixes
-
-* bump magnum-capi ([aeb2081](https://github.com/vexxhost/atmosphere/commit/aeb208142574a289bab4044559437fa74d1b5b4e))
-* bump magnum-capi ([3d9509a](https://github.com/vexxhost/atmosphere/commit/3d9509a8a50ff1bcfe214f8584d28da6b395dfae))
-* use release specific dashboard addons ([7f45988](https://github.com/vexxhost/atmosphere/commit/7f45988ebf9db38463b9e91808b498cc9072e86f))
-
-
-### Documentation
-
-* add initial ([c45b71c](https://github.com/vexxhost/atmosphere/commit/c45b71ccd350207d1486bc534607b756c654a82f))
-
-## [0.5.0](https://github.com/vexxhost/atmosphere/compare/v0.4.1...v0.5.0) (2022-10-06)
-
-
-### Features
-
-* **ingress:** enable overriding/disabling ([e04907d](https://github.com/vexxhost/atmosphere/commit/e04907d8d80c5bae7f601acb2315d0b4553377ef))
-
-
-### Documentation
-
-* **ingress:** add initial ([c9dddd0](https://github.com/vexxhost/atmosphere/commit/c9dddd054ba3fb5035abd0f03ec6f75ef10b83ae))
-
-## [0.4.1](https://github.com/vexxhost/atmosphere/compare/v0.4.0...v0.4.1) (2022-10-04)
-
-
-### Bug Fixes
-
-* **ingress:** point to correct tcp port ([54e074c](https://github.com/vexxhost/atmosphere/commit/54e074c1b01a3a5cac2915c459e336932fe2b137))
-
-## [0.4.0](https://github.com/vexxhost/atmosphere/compare/v0.3.0...v0.4.0) (2022-10-02)
-
-
-### Features
-
-* **cert-manager:** migrate to operator + add docs ([57b5339](https://github.com/vexxhost/atmosphere/commit/57b5339db15b28a6d29115e04be2ef24c764ff79))
-
-
-### Bug Fixes
-
-* add cert dep on helmrelease ([3cb0041](https://github.com/vexxhost/atmosphere/commit/3cb004114f3f2dd57c706d25a60e06f584044428))
-* add designate minidns to ingress ([f5ab8b5](https://github.com/vexxhost/atmosphere/commit/f5ab8b5302cc4a05f461644fddfc18469f913d76))
-* **atmosphere:** typo in atmosphere_issuer_config ([625b1e4](https://github.com/vexxhost/atmosphere/commit/625b1e4e98274c1049f23abbe97c75ad7c95da79))
-* **certificates:** resolve secret retrival ([8e11a31](https://github.com/vexxhost/atmosphere/commit/8e11a3179949bb0819d6f969e26e67d8992786d0))
-* **certs:** resolve ansible ternary ([6e557c8](https://github.com/vexxhost/atmosphere/commit/6e557c812a9860fae78f95c6065573f8fb91fc5c))
-* **endpoints:** move novnc endpoint to correct url ([b0ffc60](https://github.com/vexxhost/atmosphere/commit/b0ffc60b2e41add67f91a9eb93c5262900660ef7))
-* **endpoints:** Use /vnc_lite for novnc ([aeffc1b](https://github.com/vexxhost/atmosphere/commit/aeffc1b7a2e683a16764e624753bbba9a22018bd))
-* **operator:** fix load_from_file ([921aac8](https://github.com/vexxhost/atmosphere/commit/921aac854ca2b6c9d0d86660fa3a6f1d1ce495ea))
-* **operator:** openstack_cli deployment ([76605b1](https://github.com/vexxhost/atmosphere/commit/76605b1726bd532fd67733be04897505d75cf2fb))
-
-## [0.3.0](https://github.com/vexxhost/atmosphere/compare/v0.2.2...v0.3.0) (2022-09-28)
-
-
-### Features
-
-* **ingress:** move to operator ([46475f8](https://github.com/vexxhost/atmosphere/commit/46475f8c98d538d8c194ba9de8b9b926a50193d2))
-
-## [0.2.2](https://github.com/vexxhost/atmosphere/compare/v0.2.1...v0.2.2) (2022-09-27)
-
-
-### Bug Fixes
-
-* **memcached:** add protocol to service ([c252a9b](https://github.com/vexxhost/atmosphere/commit/c252a9b0db0d61a4745c4177c378d83232fa5c4c))
-
-## [0.2.1](https://github.com/vexxhost/atmosphere/compare/v0.2.0...v0.2.1) (2022-09-27)
-
-
-### Bug Fixes
-
-* **rabbitmq:** drop terminationGracePeriodSeconds down ([f791801](https://github.com/vexxhost/atmosphere/commit/f791801625f30ae01d457a00cf223565261ec1b4))
-
-## [0.2.0](https://github.com/vexxhost/atmosphere/compare/v0.1.1...v0.2.0) (2022-09-27)
-
-
-### Features
-
-* migrate cert-mgr + rmq to operator ([e1e1ae4](https://github.com/vexxhost/atmosphere/commit/e1e1ae4075bef7fec6668b5a10e1e847d2a9ff48))
-* move pxc to operator ([bdb9774](https://github.com/vexxhost/atmosphere/commit/bdb9774bed5e819a19199bfc6b6f82643c22d6b1))
-* move rmq to operator ([196945a](https://github.com/vexxhost/atmosphere/commit/196945a07fc381ca178d0cfab4c42e3500564d3c))
-* use server-side apply ([2222854](https://github.com/vexxhost/atmosphere/commit/2222854a76cc4d778ccf092d0ada985ddc7feb18))
-
-
-### Bug Fixes
-
-* add services to cluster role ([168c264](https://github.com/vexxhost/atmosphere/commit/168c2649d2d5e1184cddae93fac82ca508409f25))
-* avoid race condition with csi not up ([2621136](https://github.com/vexxhost/atmosphere/commit/2621136bce9d453d41353acbd653679cb3de0683))
-* bump timeout to 300s ([ac0d453](https://github.com/vexxhost/atmosphere/commit/ac0d45336a5510a2dfe65597693adedb18a059b9))
-* increase wait timeout ([3ffc33e](https://github.com/vexxhost/atmosphere/commit/3ffc33e751b56fcc632f64afe34e67529da436ce))
-* move memcached to operator ([e48a677](https://github.com/vexxhost/atmosphere/commit/e48a6779969e9ad829d9d4366853db0fa5b9be7b))
-* slow down API polls ([da561e3](https://github.com/vexxhost/atmosphere/commit/da561e36bcb5f32f3565a3f490fa41d86801e746))
-* solve config.toml rendering ([40e63b1](https://github.com/vexxhost/atmosphere/commit/40e63b10f084288e921975825c1f869127620834))
-* solve ingress race conditions ([ff5e860](https://github.com/vexxhost/atmosphere/commit/ff5e86011cfdad85af2b4c46931e74358b93af27))
-* solve update_object for svc ([3e66870](https://github.com/vexxhost/atmosphere/commit/3e668702b16c6e6eb206b769a98c2332b0b97ecc))
-* update role to create pxc ([6203025](https://github.com/vexxhost/atmosphere/commit/6203025ffef4cdc2f55ff2960dbc95475272685f))
-
-## [0.1.1](https://github.com/vexxhost/atmosphere/compare/v0.1.0...v0.1.1) (2022-09-21)
-
-
-### Bug Fixes
-
-* galaxy.yml metadata ([7505359](https://github.com/vexxhost/atmosphere/commit/7505359ad515ac55e194f20573621e6ffebc4802))
-
-## 0.1.0 (2022-09-21)
-
-
-### Features
-
-* add simple controller to generate helm values ([12676ed](https://github.com/vexxhost/atmosphere/commit/12676edad82b187b1b2339a3c8f3d64cf5a3b006))
-* add value overrides ([0f98213](https://github.com/vexxhost/atmosphere/commit/0f982131350a65dc36d6da5ec9b2e8c60070dea7))
-* added operator role ([edc9b87](https://github.com/vexxhost/atmosphere/commit/edc9b87bd580b276bd49448a664a808a819db718))
-* clean-up more code for helm repos ([64da5c6](https://github.com/vexxhost/atmosphere/commit/64da5c6b3ac4c2898b145b38bfc64baa0eb552a2))
-* **ethtool:** add automatic tuning ([64f84a4](https://github.com/vexxhost/atmosphere/commit/64f84a4f016d33687a1c5d59d000a1113a9aaa40))
-* **ethtool:** add initial commit ([34c5b53](https://github.com/vexxhost/atmosphere/commit/34c5b5341ceceeb14f6510fd66f28249c8a2db9b))
-* **ethtool:** add podmonitor + basic rules ([b529c33](https://github.com/vexxhost/atmosphere/commit/b529c33e7917ce206099eb2134da5948b5828c47))
-* **ethtool:** faster convergence + multiarch image ([25e5f6c](https://github.com/vexxhost/atmosphere/commit/25e5f6c075c31ac87a60e7eb4d542665749faacb))
-* move nfd to operator ([52f3feb](https://github.com/vexxhost/atmosphere/commit/52f3feb3562e42904c4bb2e40331461e1abd5a7f))
-* switch openstack-helm-infra to atmosphere ([313085b](https://github.com/vexxhost/atmosphere/commit/313085b210532d850c179edf368c8a7beff93b76))
-
-
-### Bug Fixes
-
-* add helmrelease to cluster role ([4787745](https://github.com/vexxhost/atmosphere/commit/4787745e9ebb23956b0e8d87e9548e953936c3dc))
-* add novnc to nova images ([5a4eb80](https://github.com/vexxhost/atmosphere/commit/5a4eb80f73307a3ccab30dd7aa329171cb08cabe))
-* commit time ([501dc41](https://github.com/vexxhost/atmosphere/commit/501dc41fd86deeaf67aabdc23a6540f18c6584d0))
-* drop extra var ([64b555b](https://github.com/vexxhost/atmosphere/commit/64b555b7b4a8e602d138ab3fe3014843ed3dd0c1))
-* enable glance with cinder ([01c78ca](https://github.com/vexxhost/atmosphere/commit/01c78ca2d0e6dc6902bccdc244161a355bf51ee3))
-* **ethtool:** add variable for image tag ([29d7134](https://github.com/vexxhost/atmosphere/commit/29d7134e4ed1349f95705037b6065ca1754e9600))
-* **ethtool:** fix linting for ethtool ([1f75624](https://github.com/vexxhost/atmosphere/commit/1f7562437962d3153355cc90f3729daa4904a7aa))
-* fix tomli import ([50483b4](https://github.com/vexxhost/atmosphere/commit/50483b477b32a88bf852b212d1f7a8dda66472af))
-* **glance:** switch to using cinder internal url ([602b116](https://github.com/vexxhost/atmosphere/commit/602b116aebef603b2b87d7bed7daa9e82f4c105a))
-* **glance:** use updated image ([5e5de25](https://github.com/vexxhost/atmosphere/commit/5e5de25b8fc618cee8f5b98e68790e512d450f1f))
-* improper role permissions ([da4016b](https://github.com/vexxhost/atmosphere/commit/da4016b77b1e4628ec432674fe6cd97a7ec5e81e))
-* iscsi/fc for cinder/nova ([fdc71b7](https://github.com/vexxhost/atmosphere/commit/fdc71b73b6ef532a57d8f40472bdde5619a4d799))
-* **metrics:** don't wait for entire helmrelease, just deployment ([2a8ce6a](https://github.com/vexxhost/atmosphere/commit/2a8ce6a4011f3e32b48d38b42211181d40be8e99))
-* point to v5 api for git ([98ec126](https://github.com/vexxhost/atmosphere/commit/98ec12632fbc8a7bedba1d82957fb5da9d3723af))
-* retry flavor creation in ci ([6f85b3a](https://github.com/vexxhost/atmosphere/commit/6f85b3ad2d624b4c6c89c515cb60cdc4879ecd5b))
-* stop waiting for kube-prometheus-stack ([b8d3432](https://github.com/vexxhost/atmosphere/commit/b8d34325c00c8f039bc137ba60ebc446bbabe95c))
-* switch openstack-exporter to new image repo ([6e24e87](https://github.com/vexxhost/atmosphere/commit/6e24e87d02ad9878db45bed5743f1cdd142f8762))
-* use tomli ([ea2e521](https://github.com/vexxhost/atmosphere/commit/ea2e5211c1f1e22c3f2c7504f9cc3aa95a649418))
-
-
-### Documentation
-
-* add powerstore for nova ([8539edc](https://github.com/vexxhost/atmosphere/commit/8539edcb3cf152b873945e9989c33c7812d5b524))
-* update powerstore ([d4098be](https://github.com/vexxhost/atmosphere/commit/d4098bed63f0caed8c5246c668b9a476b9a3b661))
diff --git a/doc/requirements.txt b/doc/requirements.txt
index a05a1d9..a2a321f 100644
--- a/doc/requirements.txt
+++ b/doc/requirements.txt
@@ -1,4 +1,6 @@
 furo
+pbr
+reno
 six
 sphinx
 sphinx-autobuild
diff --git a/doc/source/conf.py b/doc/source/conf.py
index 7412fcf..239e656 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -22,6 +22,7 @@
 extensions = [
     "sphinx_copybutton",
     "pbr.sphinxext",
+    "reno.sphinxext",
 ]
 
 templates_path = ["_templates"]
diff --git a/doc/source/index.rst b/doc/source/index.rst
index 2f26821..9703ada 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -28,6 +28,7 @@
    config/index
    deploy/index
    admin/index
+   release-notes
 
 
 
diff --git a/doc/source/release-notes.rst b/doc/source/release-notes.rst
new file mode 100644
index 0000000..ec77acc
--- /dev/null
+++ b/doc/source/release-notes.rst
@@ -0,0 +1 @@
+.. release-notes:: Release Notes
diff --git a/galaxy.yml b/galaxy.yml
index ab98f2d..4f493ad 100644
--- a/galaxy.yml
+++ b/galaxy.yml
@@ -50,7 +50,6 @@
   - .pre-commit-config.yaml
   - .python-version
   - .release-please-manifest.json
-  - CHANGELOG.md
   - go.mod
   - go.sum
   - pyproject.toml
diff --git a/releasenotes/config.yaml b/releasenotes/config.yaml
new file mode 100644
index 0000000..e2c8d6c
--- /dev/null
+++ b/releasenotes/config.yaml
@@ -0,0 +1 @@
+default_branch: main
diff --git a/releasenotes/notes/enforce-release-notes-31a9388c10d21d53.yaml b/releasenotes/notes/enforce-release-notes-31a9388c10d21d53.yaml
new file mode 100644
index 0000000..81ab4ae
--- /dev/null
+++ b/releasenotes/notes/enforce-release-notes-31a9388c10d21d53.yaml
@@ -0,0 +1,4 @@
+---
+other:
+  - The project has adopted the use of ``reno`` for release notes, ensuring that
+    all changes include it from now on to ensure proper release notes.
diff --git a/tox.ini b/tox.ini
index d72d3ac..44a886c 100644
--- a/tox.ini
+++ b/tox.ini
@@ -87,6 +87,7 @@
   -r{toxinidir}/doc/requirements.txt
 allowlist_externals =
   rm
+skip_install = true
 commands =
   rm -rf doc/build/html doc/build/doctrees
   sphinx-build -W --keep-going -b html -j auto doc/source doc/build/html
@@ -95,6 +96,7 @@
 envdir = {[testenv:docs]envdir}
 deps = {[testenv:docs]deps}
 allowlist_externals = {[testenv:docs]allowlist_externals}
+skip_install = {[testenv:docs]skip_install}
 commands =
   rm -rf doc/build/html doc/build/doctrees
   sphinx-autobuild doc/source doc/build/html
@@ -118,3 +120,10 @@
 [testenv:helm-unittest]
 commands =
   python3 {toxinidir}/hack/helm-unittest.py
+
+[testenv:generate-releasenotes]
+skip_install = true
+deps =
+  reno
+commands =
+  reno report --output {toxinidir}/CHANGELOG.rst
diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml
index 435181d..7d712c1 100644
--- a/zuul.d/jobs.yaml
+++ b/zuul.d/jobs.yaml
@@ -14,6 +14,13 @@
       go_command: test ./... -v
 
 - job:
+    name: atmosphere-check-commit
+    nodeset:
+      nodes: []
+    run:
+      - zuul.d/playbooks/check-commit/run.yml
+
+- job:
     name: atmosphere-chart-vendor
     parent: chart-vendor
 
diff --git a/zuul.d/playbooks/build-collection/pre.yml b/zuul.d/playbooks/build-collection/pre.yml
index fca4d62..e57d724 100644
--- a/zuul.d/playbooks/build-collection/pre.yml
+++ b/zuul.d/playbooks/build-collection/pre.yml
@@ -12,6 +12,9 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 
+- name: Generate release notes
+  ansible.builtin.import_playbook: ../common/generate-changelog.yml
+
 - name: Configure Buildset Registry
   ansible.builtin.import_playbook: ../common/configure-buildset-registry.yml
 
diff --git a/zuul.d/playbooks/check-commit/run.yml b/zuul.d/playbooks/check-commit/run.yml
new file mode 100644
index 0000000..dda6ff1
--- /dev/null
+++ b/zuul.d/playbooks/check-commit/run.yml
@@ -0,0 +1,4 @@
+- hosts: localhost
+  roles:
+    # TODO(mnaser): This can probably move to a linter/pre-commit.
+    - assert-releasenotes-exist
diff --git a/zuul.d/playbooks/common/generate-changelog.yml b/zuul.d/playbooks/common/generate-changelog.yml
new file mode 100644
index 0000000..1399184
--- /dev/null
+++ b/zuul.d/playbooks/common/generate-changelog.yml
@@ -0,0 +1,7 @@
+- hosts: all
+  tasks:
+    - name: Generate the release notes
+      ansible.builtin.include_role:
+        name: tox
+      vars:
+        tox_envlist: generate-releasenotes
diff --git a/zuul.d/playbooks/linters/pre.yml b/zuul.d/playbooks/linters/pre.yml
index bb40794..df7d14b 100644
--- a/zuul.d/playbooks/linters/pre.yml
+++ b/zuul.d/playbooks/linters/pre.yml
@@ -12,6 +12,9 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 
+- name: Generate release notes
+  ansible.builtin.import_playbook: ../common/generate-changelog.yml
+
 - hosts: all
   roles:
     - role: ensure-helm
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index 6a06bbe..f19f0ed 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -17,6 +17,7 @@
     check:
       jobs:
         - atmosphere-chart-vendor
+        - atmosphere-check-commit
         - atmosphere-golang-go-test
         - atmosphere-linters
         - atmosphere-tox-promtool-test
@@ -87,6 +88,7 @@
     gate:
       jobs:
         - atmosphere-chart-vendor
+        - atmosphere-check-commit
         - atmosphere-golang-go-test
         - atmosphere-linters
         - atmosphere-tox-py3
