ci: move ansible-lint to pre-commit
diff --git a/.ansible-lint b/.ansible-lint
index 7e9a5e1..4906bcf 100644
--- a/.ansible-lint
+++ b/.ansible-lint
@@ -1,8 +1,13 @@
 ---
 exclude_paths:
+  - .github
+  - molecule
+  - playbooks
   - roles/kube_prometheus_stack/files/
 
 warn_list:
+  - jinja[invalid]
   - jinja[spacing]
   - name[casing]
+  - template-instead-of-copy
   - yaml[line-length]
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 2f2521a..de5577a 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -3,16 +3,6 @@
   pull_request:
 
 jobs:
-  ansible-lint:
-    runs-on: ubuntu-latest
-    container: haxorof/ansible-lint:v6
-    steps:
-      - uses: actions/checkout@v3.0.2
-      - run: ansible-lint roles
-        env:
-          GITHUB_ACTIONS: true
-          GITHUB_WORKFLOW: "{{ github.workflow.name }}"
-
   images:
     runs-on: ubuntu-latest
     steps:
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index b10d6c8..7ea971d 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -4,7 +4,13 @@
     hooks:
       - id: conventional-pre-commit
         stages:
-           - commit-msg
+          - commit-msg
+
+  - repo: https://github.com/ansible-community/ansible-lint
+    rev: v6.6.0
+    hooks:
+      - id: ansible-lint
+        files: \.(yaml|yml)$
 
   - repo: https://github.com/psf/black
     rev: 22.8.0
diff --git a/galaxy.yml b/galaxy.yml
index 886adfa..11f8776 100644
--- a/galaxy.yml
+++ b/galaxy.yml
@@ -4,11 +4,11 @@
 readme: README.md
 version: 0.1.0
 authors:
-- Mohammed Naser <mnaser@vexxhost.com>
+  - Mohammed Naser <mnaser@vexxhost.com>
 build_ignore:
-- .tox
-- .vscode
-- doc
+  - .tox
+  - .vscode
+  - doc
 dependencies:
   ansible.netcommon: 1.2.0
   ansible.posix: 1.3.0
diff --git a/roles/ceph_csi_rbd/meta/main.yml b/roles/ceph_csi_rbd/meta/main.yml
index 9ad753d..972a35f 100644
--- a/roles/ceph_csi_rbd/meta/main.yml
+++ b/roles/ceph_csi_rbd/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for Ceph CSI RBD
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/cert_manager/meta/main.yml b/roles/cert_manager/meta/main.yml
index a8f7def..61d67be 100644
--- a/roles/cert_manager/meta/main.yml
+++ b/roles/cert_manager/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for cert-manager
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/cilium/meta/main.yml b/roles/cilium/meta/main.yml
index 0db2ae7..277da2b 100644
--- a/roles/cilium/meta/main.yml
+++ b/roles/cilium/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for Cilium
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/csi/meta/main.yml b/roles/csi/meta/main.yml
index 73bb677..cf5300e 100644
--- a/roles/csi/meta/main.yml
+++ b/roles/csi/meta/main.yml
@@ -17,6 +17,7 @@
   description: Meta role for managing CSI
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/ingress_nginx/meta/main.yml b/roles/ingress_nginx/meta/main.yml
index 39fac40..a0b2672 100644
--- a/roles/ingress_nginx/meta/main.yml
+++ b/roles/ingress_nginx/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for ingress-nginx
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/ipmi_exporter/meta/main.yml b/roles/ipmi_exporter/meta/main.yml
index c44b55c..c5e9602 100644
--- a/roles/ipmi_exporter/meta/main.yml
+++ b/roles/ipmi_exporter/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for IPMI exporter
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/keepalived/meta/main.yml b/roles/keepalived/meta/main.yml
index 39b6ca5..40cbf9b 100644
--- a/roles/keepalived/meta/main.yml
+++ b/roles/keepalived/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for keepalived
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/kube_prometheus_stack/meta/main.yml b/roles/kube_prometheus_stack/meta/main.yml
index 560fc41..4e2f96b 100644
--- a/roles/kube_prometheus_stack/meta/main.yml
+++ b/roles/kube_prometheus_stack/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for kube-prometheus-stack
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/kubernetes/meta/main.yml b/roles/kubernetes/meta/main.yml
index 05a6305..c2c9f7e 100644
--- a/roles/kubernetes/meta/main.yml
+++ b/roles/kubernetes/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for Kubernetes
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/node_feature_discovery/meta/main.yml b/roles/node_feature_discovery/meta/main.yml
index 09f196a..a14bf41 100644
--- a/roles/node_feature_discovery/meta/main.yml
+++ b/roles/node_feature_discovery/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for node-feature-discovery
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/openstack_exporter/meta/main.yml b/roles/openstack_exporter/meta/main.yml
index 4062e84..f744a00 100644
--- a/roles/openstack_exporter/meta/main.yml
+++ b/roles/openstack_exporter/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for OpenStack exporter
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/openstack_helm_barbican/meta/main.yml b/roles/openstack_helm_barbican/meta/main.yml
index 0a1f600..a8ac4b5 100644
--- a/roles/openstack_helm_barbican/meta/main.yml
+++ b/roles/openstack_helm_barbican/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for OpenStack Barbican
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/openstack_helm_cinder/meta/main.yml b/roles/openstack_helm_cinder/meta/main.yml
index 1329a76..bc40540 100644
--- a/roles/openstack_helm_cinder/meta/main.yml
+++ b/roles/openstack_helm_cinder/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for OpenStack Cinder
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/openstack_helm_glance/meta/main.yml b/roles/openstack_helm_glance/meta/main.yml
index 37cf04b..d286883 100644
--- a/roles/openstack_helm_glance/meta/main.yml
+++ b/roles/openstack_helm_glance/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for OpenStack Glance
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/openstack_helm_heat/meta/main.yml b/roles/openstack_helm_heat/meta/main.yml
index 813e309..db450c2 100644
--- a/roles/openstack_helm_heat/meta/main.yml
+++ b/roles/openstack_helm_heat/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for OpenStack Heat
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/openstack_helm_horizon/meta/main.yml b/roles/openstack_helm_horizon/meta/main.yml
index 67b3399..db77a91 100644
--- a/roles/openstack_helm_horizon/meta/main.yml
+++ b/roles/openstack_helm_horizon/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for OpenStack Horizon
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/openstack_helm_infra_ceph_provisioners/meta/main.yml b/roles/openstack_helm_infra_ceph_provisioners/meta/main.yml
index 10d37da..f296bce 100644
--- a/roles/openstack_helm_infra_ceph_provisioners/meta/main.yml
+++ b/roles/openstack_helm_infra_ceph_provisioners/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for Ceph provisioners
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/openstack_helm_infra_libvirt/meta/main.yml b/roles/openstack_helm_infra_libvirt/meta/main.yml
index bc97584..fbb4bbf 100644
--- a/roles/openstack_helm_infra_libvirt/meta/main.yml
+++ b/roles/openstack_helm_infra_libvirt/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for Libvirt
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/openstack_helm_infra_memcached/meta/main.yml b/roles/openstack_helm_infra_memcached/meta/main.yml
index cd0fc41..957f2d5 100644
--- a/roles/openstack_helm_infra_memcached/meta/main.yml
+++ b/roles/openstack_helm_infra_memcached/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for Memcached
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/openstack_helm_infra_openvswitch/meta/main.yml b/roles/openstack_helm_infra_openvswitch/meta/main.yml
index 6cf0382..bc3f67d 100644
--- a/roles/openstack_helm_infra_openvswitch/meta/main.yml
+++ b/roles/openstack_helm_infra_openvswitch/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for Open vSwitch
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/openstack_helm_keystone/meta/main.yml b/roles/openstack_helm_keystone/meta/main.yml
index 2b0e0af..3af27e3 100644
--- a/roles/openstack_helm_keystone/meta/main.yml
+++ b/roles/openstack_helm_keystone/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for OpenStack Keystone
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/openstack_helm_neutron/meta/main.yml b/roles/openstack_helm_neutron/meta/main.yml
index ea1d39e..34239c6 100644
--- a/roles/openstack_helm_neutron/meta/main.yml
+++ b/roles/openstack_helm_neutron/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for OpenStack Neutron
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/openstack_helm_nova/meta/main.yml b/roles/openstack_helm_nova/meta/main.yml
index 0f9ae3f..f1889f3 100644
--- a/roles/openstack_helm_nova/meta/main.yml
+++ b/roles/openstack_helm_nova/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for OpenStack Nova
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/openstack_helm_placement/meta/main.yml b/roles/openstack_helm_placement/meta/main.yml
index 7b99251..3ea3f3d 100644
--- a/roles/openstack_helm_placement/meta/main.yml
+++ b/roles/openstack_helm_placement/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for OpenStack Placement
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/openstack_helm_senlin/meta/main.yml b/roles/openstack_helm_senlin/meta/main.yml
index 5a0c03c..41d1c57 100644
--- a/roles/openstack_helm_senlin/meta/main.yml
+++ b/roles/openstack_helm_senlin/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for OpenStack Senlin
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/openstack_helm_tempest/meta/main.yml b/roles/openstack_helm_tempest/meta/main.yml
index 09e2ee9..3eacbc4 100644
--- a/roles/openstack_helm_tempest/meta/main.yml
+++ b/roles/openstack_helm_tempest/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for OpenStack Tempest
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/percona_xtradb_cluster/meta/main.yml b/roles/percona_xtradb_cluster/meta/main.yml
index 0a13f94..d090afe 100644
--- a/roles/percona_xtradb_cluster/meta/main.yml
+++ b/roles/percona_xtradb_cluster/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for Percona XtraDB Cluster
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/powerstore_csi/meta/main.yml b/roles/powerstore_csi/meta/main.yml
index 7f03021..da694c3 100644
--- a/roles/powerstore_csi/meta/main.yml
+++ b/roles/powerstore_csi/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for PowerStore CSI
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/prometheus_pushgateway/meta/main.yml b/roles/prometheus_pushgateway/meta/main.yml
index 0a3a806..db1a3c7 100644
--- a/roles/prometheus_pushgateway/meta/main.yml
+++ b/roles/prometheus_pushgateway/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for Prometheus Pushgateway
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/rabbitmq/meta/main.yml b/roles/rabbitmq/meta/main.yml
index dbe22a6..f3d8797 100644
--- a/roles/rabbitmq/meta/main.yml
+++ b/roles/rabbitmq/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for RabbitMQ
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions:
diff --git a/roles/rabbitmq_operator/meta/main.yml b/roles/rabbitmq_operator/meta/main.yml
index 1b188e7..c2e16c9 100644
--- a/roles/rabbitmq_operator/meta/main.yml
+++ b/roles/rabbitmq_operator/meta/main.yml
@@ -17,6 +17,7 @@
   description: Ansible role for RabbitMQ operator
   license: Apache-2.0
   min_ansible_version: 5.5.0
+  standalone: false
   platforms:
     - name: Ubuntu
       versions: