diff --git a/tasks/main.yml b/tasks/main.yml
index a72b51474ce1addd04ac11251190c0d6900d2c3b..25aa8268f16b937c90a6f0e2da1429f6aed7e007 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -1,99 +1,24 @@
 ---
-- name: Run install tasks
+- name: Temp switch to legacy crypto policy
+  ansible.builtin.command:
+    cmd: update-crypto-policies --set DEFAULT:SHA1
+  changed_when: false
+  become: true
+
+- name: Include sidecar tasks
+  ansible.builtin.include_tasks: sidecar.yml
   when: (groups['sidecar-ca'] is defined | ternary(inventory_hostname not in groups['sidecar-ca'], true))
-  block:
-    - name: Temp switch to legacy crypto policy
-      ansible.builtin.command:
-        cmd: update-crypto-policies --set DEFAULT:SHA1
-      changed_when: false
-      become: true
 
-    - name: Add sidecar repo (Debian | Ubuntu)
-      when: ansible_os_family == 'Debian'
-      become: true
-      block:
-        - name: Download repository file (Debian | Ubuntu)
-          ansible.builtin.get_url:
-            url: "{{ sidecar_repo_urls['Debian'] }}"
-            dest: /tmp/graylog-sidecar-repository.deb
-            mode: 0644
-          delegate_to: localhost
-          run_once: true
+- name: Include filebeat tasks
+  ansible.builtin.import_tasks: filebeat.yml
+  when: install_filebeat and (groups['sidecar-ca'] is defined | ternary(inventory_hostname not in groups['sidecar-ca'], true))
 
-        - name: Copy DEB to nodes (Debian | Ubuntu)
-          ansible.builtin.copy:
-            src: /tmp/graylog-sidecar-repository.deb
-            dest: /tmp/graylog-sidecar-repository.deb
-            mode: 0644
+- name: Switch back to default policy
+  ansible.builtin.command:
+    cmd: update-crypto-policies --set DEFAULT
+  changed_when: false
+  become: true
 
-        - name: Add repository using dpkg (Debian | Ubuntu)
-          ansible.builtin.command:
-            cmd: dpkg -i /tmp/graylog-sidecar-repository.deb
-          changed_when: false
-
-    - name: Add sidecar repo (RedHat)
-      when: ansible_os_family == 'RedHat'
-      become: true
-      block:
-        - name: Download rpm file (RedHat)
-          ansible.builtin.get_url:
-            url: "{{ sidecar_repo_urls['RedHat'] }}"
-            dest: /tmp/graylog-sidecar-repository.rpm
-            mode: 0644
-          delegate_to: localhost
-          run_once: true
-
-        - name: Copy RPM to nodes (RedHat)
-          ansible.builtin.copy:
-            src: /tmp/graylog-sidecar-repository.rpm
-            dest: /tmp/graylog-sidecar-repository.rpm
-            mode: 0644
-
-        - name: Install rpm (RedHat)
-          ansible.builtin.yum:
-            name: /tmp/graylog-sidecar-repository.rpm
-            state: present
-            disable_gpg_check: true # Here, we are installing the package that contains the gpg key
-
-    - name: Install sidecar package
-      ansible.builtin.package:
-        name: graylog-sidecar
-        state: present
-      become: true
-
-    - name: Run install command
-      ansible.builtin.command:
-        cmd: /usr/bin/graylog-sidecar -service install
-      ignore_errors: true
-      changed_when: false
-      become: true
-
-    - name: Generate sidecar config
-      ansible.builtin.template:
-        dest: /etc/graylog/sidecar/sidecar.yml
-        src: sidecar.yml.j2
-        validate: /usr/bin/graylog-sidecar -c %s -configtest
-        mode: 0640
-      notify: Restart Sidecar
-      become: true
-
-    - name: Enable / start sidecar service
-      ansible.builtin.service:
-        name: graylog-sidecar
-        state: started
-        enabled: true
-      become: true
-
-    - name: Install filebeat
-      ansible.builtin.import_tasks: filebeat.yml
-      when: install_filebeat
-
-    - name: Switch back to default policy
-      ansible.builtin.command:
-        cmd: update-crypto-policies --set DEFAULT
-      changed_when: false
-      become: true
-
-    - name: Generate Node certificates
-      ansible.builtin.import_tasks: node-certs.yml
-      when: generate_node_certs
+- name: Generate Node certificates
+  ansible.builtin.import_tasks: node-certs.yml
+  when: generate_node_certs
diff --git a/tasks/sidecar.yml b/tasks/sidecar.yml
new file mode 100644
index 0000000000000000000000000000000000000000..bd8f5c7099bc1d6c3e6be6e3d5f0147da9f27b61
--- /dev/null
+++ b/tasks/sidecar.yml
@@ -0,0 +1,75 @@
+- name: Add sidecar repo (Debian | Ubuntu)
+  when: ansible_os_family == 'Debian'
+  become: true
+  block:
+    - name: Download repository file (Debian | Ubuntu)
+      ansible.builtin.get_url:
+        url: "{{ sidecar_repo_urls['Debian'] }}"
+        dest: /tmp/graylog-sidecar-repository.deb
+        mode: 0644
+      delegate_to: localhost
+      run_once: true
+
+    - name: Copy DEB to nodes (Debian | Ubuntu)
+      ansible.builtin.copy:
+        src: /tmp/graylog-sidecar-repository.deb
+        dest: /tmp/graylog-sidecar-repository.deb
+        mode: 0644
+
+    - name: Add repository using dpkg (Debian | Ubuntu)
+      ansible.builtin.command:
+        cmd: dpkg -i /tmp/graylog-sidecar-repository.deb
+      changed_when: false
+
+- name: Add sidecar repo (RedHat)
+  when: ansible_os_family == 'RedHat'
+  become: true
+  block:
+    - name: Download rpm file (RedHat)
+      ansible.builtin.get_url:
+        url: "{{ sidecar_repo_urls['RedHat'] }}"
+        dest: /tmp/graylog-sidecar-repository.rpm
+        mode: 0644
+      delegate_to: localhost
+      run_once: true
+
+    - name: Copy RPM to nodes (RedHat)
+      ansible.builtin.copy:
+        src: /tmp/graylog-sidecar-repository.rpm
+        dest: /tmp/graylog-sidecar-repository.rpm
+        mode: 0644
+
+    - name: Install rpm (RedHat)
+      ansible.builtin.yum:
+        name: /tmp/graylog-sidecar-repository.rpm
+        state: present
+        disable_gpg_check: true # Here, we are installing the package that contains the gpg key
+
+- name: Install sidecar package
+  ansible.builtin.package:
+    name: graylog-sidecar
+    state: present
+  become: true
+
+- name: Run install command
+  ansible.builtin.command:
+    cmd: /usr/bin/graylog-sidecar -service install
+  ignore_errors: true
+  changed_when: false
+  become: true
+
+- name: Generate sidecar config
+  ansible.builtin.template:
+    dest: /etc/graylog/sidecar/sidecar.yml
+    src: sidecar.yml.j2
+    validate: /usr/bin/graylog-sidecar -c %s -configtest
+    mode: 0640
+  notify: Restart Sidecar
+  become: true
+
+- name: Enable / start sidecar service
+  ansible.builtin.service:
+    name: graylog-sidecar
+    state: started
+    enabled: true
+  become: true
\ No newline at end of file