chore: add more pre-commit-config
diff --git a/doc/requirements.txt b/doc/requirements.txt
index e796768..8e38ac0 100644
--- a/doc/requirements.txt
+++ b/doc/requirements.txt
@@ -3,4 +3,4 @@
 sphinx_rtd_theme
 reno[sphinx]
 https://github.com/ypid/yaml4rst/archive/master.tar.gz
-https://github.com/debops/yaml2rst/archive/master.tar.gz
\ No newline at end of file
+https://github.com/debops/yaml2rst/archive/master.tar.gz
diff --git a/doc/source/_templates/yaml4rst/defaults_header.j2 b/doc/source/_templates/yaml4rst/defaults_header.j2
index b15a2e1..5634148 100644
--- a/doc/source/_templates/yaml4rst/defaults_header.j2
+++ b/doc/source/_templates/yaml4rst/defaults_header.j2
@@ -8,4 +8,4 @@
 # =================
 
 # .. contents:: Sections
-#    :local:
\ No newline at end of file
+#    :local:
diff --git a/doc/source/conf.py b/doc/source/conf.py
index ce1d48d..d846a1b 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -22,38 +22,40 @@
 # import sys
 # sys.path.insert(0, os.path.abspath('.'))
 
+import glob
+
 # -- yaml2rst ----------------------------------------------------------------
 import os
-import glob
+import pathlib
+
 import yaml2rst
 from yaml4rst.reformatter import YamlRstReformatter
-import pathlib
 
 for defaults_file in glob.glob("../../roles/*/defaults/main.yml"):
     role_name = defaults_file.split("/")[-3]
 
     YamlRstReformatter._HEADER_END_LINES = {
-        'yaml4rst': [
-            '# Default variables',
-            '#    :local:',
-            '# .. contents:: Sections',
-            '# .. include:: includes/all.rst',
-            '# .. include:: includes/role.rst',
-            '# .. include:: ../../../includes/global.rst',
-            '# -----------------',
+        "yaml4rst": [
+            "# Default variables",
+            "#    :local:",
+            "# .. contents:: Sections",
+            "# .. include:: includes/all.rst",
+            "# .. include:: includes/role.rst",
+            "# .. include:: ../../../includes/global.rst",
+            "# -----------------",
         ],
     }
 
     reformatter = YamlRstReformatter(
-        preset='yaml4rst',
+        preset="yaml4rst",
         template_path=os.path.join(
             os.path.abspath(os.path.dirname(__file__)),
-            '_templates',
+            "_templates",
         ),
         config={
-            'ansible_full_role_name': f"vexxhost.atmosphere.{role_name}",
-            'ansible_role_name': role_name,
-        }
+            "ansible_full_role_name": f"vexxhost.atmosphere.{role_name}",
+            "ansible_role_name": role_name,
+        },
     )
     reformatter.read_file(defaults_file)
     reformatter.reformat()
@@ -67,16 +69,16 @@
     rst_content = yaml2rst.convert_file(
         defaults_file,
         f"roles/{role_name}/defaults/main.rst",
-        strip_regex=r'\s*(:?\[{3}|\]{3})\d?$',
-        yaml_strip_regex=r'^\s{66,67}#\s\]{3}\d?$',
+        strip_regex=r"\s*(:?\[{3}|\]{3})\d?$",
+        yaml_strip_regex=r"^\s{66,67}#\s\]{3}\d?$",
     )
 
 
 # -- Project information -----------------------------------------------------
 
-project = 'Atmosphere'
-copyright = '2022, VEXXHOST, Inc.'
-author = 'VEXXHOST, Inc.'
+project = "Atmosphere"
+copyright = "2022, VEXXHOST, Inc."
+author = "VEXXHOST, Inc."
 
 
 # -- General configuration ---------------------------------------------------
@@ -85,11 +87,11 @@
 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
 # ones.
 extensions = [
-    'reno.sphinxext',
+    "reno.sphinxext",
 ]
 
 # Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
+templates_path = ["_templates"]
 
 # List of patterns, relative to source directory, that match files and
 # directories to ignore when looking for source files.
@@ -102,9 +104,9 @@
 # The theme to use for HTML and HTML Help pages.  See the documentation for
 # a list of builtin themes.
 #
-html_theme = 'sphinx_rtd_theme'
+html_theme = "sphinx_rtd_theme"
 
 # Add any paths that contain custom static files (such as style sheets) here,
 # relative to this directory. They are copied after the builtin static files,
 # so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
+html_static_path = ["_static"]
diff --git a/doc/source/releasenotes.rst b/doc/source/releasenotes.rst
index f182f00..dbd6f82 100644
--- a/doc/source/releasenotes.rst
+++ b/doc/source/releasenotes.rst
@@ -1,4 +1,4 @@
 Release Notes
 =============
 
-.. release-notes::
\ No newline at end of file
+.. release-notes::
diff --git a/doc/source/roles/build_openstack_requirements/index.rst b/doc/source/roles/build_openstack_requirements/index.rst
index bcdfa7e..0398a5c 100644
--- a/doc/source/roles/build_openstack_requirements/index.rst
+++ b/doc/source/roles/build_openstack_requirements/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/ceph_csi_rbd/index.rst b/doc/source/roles/ceph_csi_rbd/index.rst
index 4148d09..08ae6ff 100644
--- a/doc/source/roles/ceph_csi_rbd/index.rst
+++ b/doc/source/roles/ceph_csi_rbd/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/ceph_mon/index.rst b/doc/source/roles/ceph_mon/index.rst
index 3cdec24..e960778 100644
--- a/doc/source/roles/ceph_mon/index.rst
+++ b/doc/source/roles/ceph_mon/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/ceph_osd/index.rst b/doc/source/roles/ceph_osd/index.rst
index 3591ee1..566f156 100644
--- a/doc/source/roles/ceph_osd/index.rst
+++ b/doc/source/roles/ceph_osd/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/ceph_repository/index.rst b/doc/source/roles/ceph_repository/index.rst
index 090527f..2f4a3ea 100644
--- a/doc/source/roles/ceph_repository/index.rst
+++ b/doc/source/roles/ceph_repository/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/cert_manager/index.rst b/doc/source/roles/cert_manager/index.rst
index 81a18b8..43f12e5 100644
--- a/doc/source/roles/cert_manager/index.rst
+++ b/doc/source/roles/cert_manager/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/containerd/index.rst b/doc/source/roles/containerd/index.rst
index 0ebf780..18efcb9 100644
--- a/doc/source/roles/containerd/index.rst
+++ b/doc/source/roles/containerd/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/csi/index.rst b/doc/source/roles/csi/index.rst
index 3cf76af..ddf620b 100644
--- a/doc/source/roles/csi/index.rst
+++ b/doc/source/roles/csi/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/helm/index.rst b/doc/source/roles/helm/index.rst
index 6c8de12..fee6c74 100644
--- a/doc/source/roles/helm/index.rst
+++ b/doc/source/roles/helm/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/ipmi_exporter/index.rst b/doc/source/roles/ipmi_exporter/index.rst
index 28dbfba..cfd9ef8 100644
--- a/doc/source/roles/ipmi_exporter/index.rst
+++ b/doc/source/roles/ipmi_exporter/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/keepalived/index.rst b/doc/source/roles/keepalived/index.rst
index de5844e..f358c35 100644
--- a/doc/source/roles/keepalived/index.rst
+++ b/doc/source/roles/keepalived/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/kube_prometheus_stack/index.rst b/doc/source/roles/kube_prometheus_stack/index.rst
index 3ed41da..5a32ad9 100644
--- a/doc/source/roles/kube_prometheus_stack/index.rst
+++ b/doc/source/roles/kube_prometheus_stack/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/kubernetes/index.rst b/doc/source/roles/kubernetes/index.rst
index a8b9bcc..68f6ec7 100644
--- a/doc/source/roles/kubernetes/index.rst
+++ b/doc/source/roles/kubernetes/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/openstack_cli/index.rst b/doc/source/roles/openstack_cli/index.rst
index 246af3b..d98260e 100644
--- a/doc/source/roles/openstack_cli/index.rst
+++ b/doc/source/roles/openstack_cli/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/openstack_exporter/index.rst b/doc/source/roles/openstack_exporter/index.rst
index 9cedd84..296257d 100644
--- a/doc/source/roles/openstack_exporter/index.rst
+++ b/doc/source/roles/openstack_exporter/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/openstack_helm_barbican/index.rst b/doc/source/roles/openstack_helm_barbican/index.rst
index 7a449d8..5a26c99 100644
--- a/doc/source/roles/openstack_helm_barbican/index.rst
+++ b/doc/source/roles/openstack_helm_barbican/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/openstack_helm_cinder/index.rst b/doc/source/roles/openstack_helm_cinder/index.rst
index f9fb91c..5bc6b01 100644
--- a/doc/source/roles/openstack_helm_cinder/index.rst
+++ b/doc/source/roles/openstack_helm_cinder/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/openstack_helm_endpoints/index.rst b/doc/source/roles/openstack_helm_endpoints/index.rst
index aad51b7..a2796b8 100644
--- a/doc/source/roles/openstack_helm_endpoints/index.rst
+++ b/doc/source/roles/openstack_helm_endpoints/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/openstack_helm_glance/index.rst b/doc/source/roles/openstack_helm_glance/index.rst
index a9868c6..c16251f 100644
--- a/doc/source/roles/openstack_helm_glance/index.rst
+++ b/doc/source/roles/openstack_helm_glance/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/openstack_helm_heat/index.rst b/doc/source/roles/openstack_helm_heat/index.rst
index c77c442..b2f4435 100644
--- a/doc/source/roles/openstack_helm_heat/index.rst
+++ b/doc/source/roles/openstack_helm_heat/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/openstack_helm_horizon/index.rst b/doc/source/roles/openstack_helm_horizon/index.rst
index c017ea4..71079cf 100644
--- a/doc/source/roles/openstack_helm_horizon/index.rst
+++ b/doc/source/roles/openstack_helm_horizon/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/openstack_helm_infra_ceph_provisioners/index.rst b/doc/source/roles/openstack_helm_infra_ceph_provisioners/index.rst
index 83a0d64..7e6f0ca 100644
--- a/doc/source/roles/openstack_helm_infra_ceph_provisioners/index.rst
+++ b/doc/source/roles/openstack_helm_infra_ceph_provisioners/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/openstack_helm_infra_libvirt/index.rst b/doc/source/roles/openstack_helm_infra_libvirt/index.rst
index 355ff12..b2b7b35 100644
--- a/doc/source/roles/openstack_helm_infra_libvirt/index.rst
+++ b/doc/source/roles/openstack_helm_infra_libvirt/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/openstack_helm_infra_memcached/index.rst b/doc/source/roles/openstack_helm_infra_memcached/index.rst
index 8e39b8e..cf020cd 100644
--- a/doc/source/roles/openstack_helm_infra_memcached/index.rst
+++ b/doc/source/roles/openstack_helm_infra_memcached/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/openstack_helm_infra_openvswitch/index.rst b/doc/source/roles/openstack_helm_infra_openvswitch/index.rst
index 6f7e857..57ab7cf 100644
--- a/doc/source/roles/openstack_helm_infra_openvswitch/index.rst
+++ b/doc/source/roles/openstack_helm_infra_openvswitch/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/openstack_helm_ingress/index.rst b/doc/source/roles/openstack_helm_ingress/index.rst
index b068625..7a126e3 100644
--- a/doc/source/roles/openstack_helm_ingress/index.rst
+++ b/doc/source/roles/openstack_helm_ingress/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/openstack_helm_keystone/index.rst b/doc/source/roles/openstack_helm_keystone/index.rst
index bb37000..c928143 100644
--- a/doc/source/roles/openstack_helm_keystone/index.rst
+++ b/doc/source/roles/openstack_helm_keystone/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/openstack_helm_neutron/index.rst b/doc/source/roles/openstack_helm_neutron/index.rst
index a84eff8..4cc5106 100644
--- a/doc/source/roles/openstack_helm_neutron/index.rst
+++ b/doc/source/roles/openstack_helm_neutron/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/openstack_helm_nova/index.rst b/doc/source/roles/openstack_helm_nova/index.rst
index 5fbfafb..a4b3ff5 100644
--- a/doc/source/roles/openstack_helm_nova/index.rst
+++ b/doc/source/roles/openstack_helm_nova/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/openstack_helm_placement/index.rst b/doc/source/roles/openstack_helm_placement/index.rst
index f5f67e3..87157c4 100644
--- a/doc/source/roles/openstack_helm_placement/index.rst
+++ b/doc/source/roles/openstack_helm_placement/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/openstack_helm_senlin/index.rst b/doc/source/roles/openstack_helm_senlin/index.rst
index 982967e..085df9c 100644
--- a/doc/source/roles/openstack_helm_senlin/index.rst
+++ b/doc/source/roles/openstack_helm_senlin/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/roles/openstack_helm_tempest/index.rst b/doc/source/roles/openstack_helm_tempest/index.rst
index 5a084e5..f9cf349 100644
--- a/doc/source/roles/openstack_helm_tempest/index.rst
+++ b/doc/source/roles/openstack_helm_tempest/index.rst
@@ -7,4 +7,4 @@
 .. toctree::
    :maxdepth: 2
 
-   defaults/main
\ No newline at end of file
+   defaults/main
diff --git a/doc/source/user/index.rst b/doc/source/user/index.rst
index de66057..5be5b8e 100644
--- a/doc/source/user/index.rst
+++ b/doc/source/user/index.rst
@@ -4,4 +4,4 @@
 .. toctree::
    :maxdepth: 1
 
-   quickstart
\ No newline at end of file
+   quickstart