diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..600d2d33badf45cc068e01d2e3c837e11c417bc4
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.vscode
\ No newline at end of file
diff --git a/defaults/main.yml b/defaults/main.yml
index 465dc335fbc39c6bfee01a97e81e6897f8752a48..5e01d2629a93d871f258fa2a4391795c16b6e90d 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -7,8 +7,12 @@ sidecar_checksum: https://github.com/Graylog2/collector-sidecar/releases/downloa
 
 install_filebeat: true
 filebeat_repo_urls:
-  "RedHat": "https://artifacts.elastic.co/packages/oss-8.x/yum"
-  "Debian": "https://artifacts.elastic.co/packages/oss-8.x/apt"
+  "RedHat": "https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.8.0-x86_64.rpm"
+  "Debian": "https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.8.0-amd64.deb"
+
+filebeat_checksums:
+  "RedHat": "https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.8.0-x86_64.rpm.sha512"
+  "Debian": "https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.8.0-amd64.deb.sha512"
 
 # --- OTHER ---
 use_central_ca_host: false
diff --git a/tasks/filebeat.yml b/tasks/filebeat.yml
index e94f359a8c594ae7738428ca65649cbb9f3c2ca5..36a9d5a1832882925e5dd686ded32243303b9e0a 100644
--- a/tasks/filebeat.yml
+++ b/tasks/filebeat.yml
@@ -3,35 +3,50 @@
   become: true
   when: ansible_os_family == 'Debian'
   block:
-    - name: Ensure Apt Can Use Https
-      ansible.builtin.apt:
-        name: apt-transport-https
-        state: present
+    - name: install filebeat (Debian | Ubuntu)
+      when: ansible_os_family == 'Debian'
+      become: true
+      block:
+        - name: Download repository file (Debian | Ubuntu)
+          ansible.builtin.get_url:
+            url: "{{ filebeat_repo_urls['Debian'] }}"
+            checksum: "sha256:{{ filebeat_checksums['Debian'] }}"
+            dest: /tmp/graylog-filebeat.deb
+            mode: 0644
+          delegate_to: localhost
+          run_once: true
 
-    - name: Ensure ES Signing Key Is Present
-      ansible.builtin.apt_key:
-        url: 'https://artifacts.elastic.co/GPG-KEY-elasticsearch'
-        id: '46095ACC8548582C1A2699A9D27D666CD88E42B4'
-        state: present^
+        - name: Copy DEB to nodes (Debian | Ubuntu)
+          ansible.builtin.copy:
+            src: /tmp/graylog-filebeat.deb
+            dest: /tmp/graylog-filebeat.deb
+            mode: 0644
 
-    - name: Ensure ES Repo Is Enabled
-      ansible.builtin.apt_repository:
-        repo: "deb {{ filebeat_repo_urls['Debian'] }} stable main"
-        state: present
+        - name: Add package using dpkg (Debian | Ubuntu)
+          ansible.builtin.command:
+            cmd: dpkg -i /tmp/graylog-filebeat.deb
+          changed_when: false
 
-- name: Add filebeat repository (RedHat)
-  ansible.builtin.yum_repository:
-    name: elastic-8.x
-    description: Elastic Yum Repo 8.x
-    baseurl: "{{ filebeat_repo_urls['RedHat'] }}"
-    gpgcheck: true
-    gpgkey: 'https://artifacts.elastic.co/GPG-KEY-elasticsearch'
-    state: present
-  when: ansible_os_family == 'RedHat'
-  become: true
+    - name: install filebeat (RedHat)
+      when: ansible_os_family == 'RedHat'
+      become: true
+      block:
+        - name: Download rpm file (RedHat)
+          ansible.builtin.get_url:
+            url: "{{ filebeat_repo_urls['RedHat'] }}"
+            checksum: "sha256:{{ filebeat_checksums['RedHat'] }}"
+            dest: /tmp/graylog-filebeat.rpm
+            mode: 0644
+          delegate_to: localhost
+          run_once: true
 
-- name: Install filebeat package
-  ansible.builtin.package:
-    name: filebeat
-    state: present
-  become: true
+        - name: Copy RPM to nodes (RedHat)
+          ansible.builtin.copy:
+            src: /tmp/graylog-filebeat.rpm
+            dest: /tmp/graylog-filebeat.rpm
+            mode: 0644
+
+        - name: Install rpm (RedHat)
+          ansible.builtin.yum:
+            name: /tmp/graylog-filebeat.rpm
+            state: present