diff --git a/defaults/main.yml b/defaults/main.yml
index f8386e6988f720e19fb5241c3ccbe6a97e36fcf4..af896922ce9eb945e4dbe49bf4a90b6177a906fc 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -1,2 +1,10 @@
 ---
-# defaults file for gitlab-runner-do-monitor
\ No newline at end of file
+glrdomon_binary_url: "https://git.ethitter.com/debian/gitlab-runner-do-monitor/uploads/120b75434ea47d89aa0fb50cdb2b49c4/gitlab-runner-do-monitor_linux_amd64"
+glrdomon_binary_dest: /usr/local/bin/gitlab-runner-do-monitor
+glrdomon_config_dest: /etc/gitlab-runner-do-monitor.json
+gldrmon_cron_interval_min: "*/15"
+
+glrdomon_api_key: false
+glrdomon_log_dest: "os.Stdout"
+glrdomon_threshold: 4000
+glrdomon_delete_stale: true
diff --git a/tasks/main.yml b/tasks/main.yml
index d37c32003d276b41b2e50a9090c289297e41b0d7..e69063125ef177f85bd577234d41e3707d32cc06 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -1,2 +1,25 @@
 ---
-# tasks file for gitlab-runner-do-monitor
\ No newline at end of file
+- name: Download and install binary
+  get_url:
+    url: "{{ glrdomon_binary_url }}"
+    dest: "{{ glrdomon_binary_dest }}"
+    mode: 0755
+    force: yes
+
+- name: Create config file
+  template:
+    src: templates/config.j2
+    dest: "{{ glrdomon_config_dest }}"
+    force: yes
+    owner: root
+    group: root
+    mode: 0400
+
+- name:
+  cron:
+    name: gitlab-runner-do-monitor
+    minute: "{{ gldrmon_cron_interval_min }}"
+    job: "{{ glrdomon_binary_dest }} -config {{ glrdomon_config_dest }}"
+    state: present
+    cron_file: gitlab-runner-do-monitor
+    user: root
diff --git a/templates/config.j2 b/templates/config.j2
new file mode 100644
index 0000000000000000000000000000000000000000..0595befb48233ad305bc6864e5a519e8016ebf03
--- /dev/null
+++ b/templates/config.j2
@@ -0,0 +1,6 @@
+{
+  "log-dest": "{{ glrdomon_log_dest }}",
+  "api-key": "{{ glrdomon_api_key }}",
+  "threshold": {{ glrdomon_threshold }},
+  "delete-stale": {{ glrdomon_delete_stale|lower }}
+}