From 67a51f3fc54cb24e9e80fc3a51f0271732f9fe0e Mon Sep 17 00:00:00 2001
From: anima
Date: Wed, 4 Mar 2026 19:06:18 +0100
Subject: [PATCH] restructur tasks
---
tasks/config.yml | 30 ++++++++++++++++
tasks/install.yml | 49 ++++++++++++++++++++++++++
tasks/main.yml | 88 ++++-------------------------------------------
3 files changed, 86 insertions(+), 81 deletions(-)
create mode 100644 tasks/config.yml
create mode 100644 tasks/install.yml
diff --git a/tasks/config.yml b/tasks/config.yml
new file mode 100644
index 0000000..794b273
--- /dev/null
+++ b/tasks/config.yml
@@ -0,0 +1,30 @@
+# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/copy_module.html
+# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/service_module.html
+---
+- name: delete .runner file for redeploy
+ ansible.builtin.file:
+ state: absent
+ path: "{{ RUNNER_DIR }}/.runner"
+ when: RUNNER_REDEPLOY
+
+- name: register runner
+ notify: restart runner
+ ansible.builtin.command:
+ cmd: "{{ RUNNER_DIR }}/{{ RUNNER_NAME }} register --no-interactive --instance {{ RUNNER_INSTANCE }} --token {{ RUNNER_TOKEN }}"
+ chdir: "{{ RUNNER_DIR }}"
+ creates: "{{ RUNNER_DIR }}/.runner"
+ when:
+ - RUNNER_TOKEN != None
+
+- name: ensure correct access rights for .runner file
+ ansible.builtin.file:
+ path: "{{ RUNNER_DIR }}/.runner"
+ owner: "{{ RUNNER_USER }}"
+ group: "{{ RUNNER_GROUP }}"
+ mode: '0660'
+
+- name: enable runner
+ notify: restart runner
+ ansible.builtin.service:
+ name: "{{ RUNNER_SERVICE_NAME }}"
+ enabled: yes
\ No newline at end of file
diff --git a/tasks/install.yml b/tasks/install.yml
new file mode 100644
index 0000000..d62be23
--- /dev/null
+++ b/tasks/install.yml
@@ -0,0 +1,49 @@
+# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/get_url_module.html
+# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/user_module.html
+# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/copy_module.html
+# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/template_module.html
+# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/service_module.html
+---
+- name: create runner user
+ ansible.builtin.user:
+ name: "{{ RUNNER_USER }}"
+ create_home: yes
+ groups: "{{ RUNNER_USER_GROUPS }}"
+ append: true
+ home: "{{ RUNNER_DIR }}"
+
+- name: download runner
+ delegate_to: localhost
+ run_once: true
+ ansible.builtin.get_url:
+ url: "{{ RUNNER_DOWNLOAD_URL }}"
+ dest: "/{{ RUNNER_DOWNLOAD_DIR }}/{{ RUNNER_NAME }}"
+ mode: '0440'
+
+- name: copy runner binary
+ copy:
+ src: "{{ RUNNER_DOWNLOAD_DIR }}/{{ RUNNER_NAME }}"
+ dest: "{{ RUNNER_DIR }}/{{ RUNNER_NAME }}"
+ owner: "{{ RUNNER_USER }}"
+ group: "{{ RUNNER_GROUP | default(RUNNER_USER) }}"
+ mode: '0770'
+
+- name: create runner config
+ ansible.builtin.template:
+ src: config.yml.j2
+ dest: "{{ RUNNER_DIR }}/config.yml"
+ owner: "{{ RUNNER_USER }}"
+ group: "{{ RUNNER_GROUP | default(RUNNER_USER) }}"
+ mode: '0660'
+
+- name: create runner service file
+ notify: reload daemons
+ ansible.builtin.template:
+ src: runner.service.j2
+ dest: "/etc/systemd/system/{{ RUNNER_SERVICE_NAME }}"
+ owner: root
+ group: root
+ mode: '0600'
+
+- name: flush handlers
+ meta: flush_handlers
\ No newline at end of file
diff --git a/tasks/main.yml b/tasks/main.yml
index 0f754ad..879682c 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -1,83 +1,9 @@
-# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/get_url_module.html
-# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/user_module.html
-# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/copy_module.html
-# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/template_module.html
-# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/command_module.html
-# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/service_module.html
+# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/include_tasks_module.html
---
-- name: check runner token
- ansible.builtin.fail:
- msg: no token is set!
- when: RUNNER_TOKEN == None
+- name: install runner
+ tags: [install]
+ include_tasks: install.yml
-- name: create runner user
- ansible.builtin.user:
- name: "{{ RUNNER_USER }}"
- create_home: yes
- groups: "{{ RUNNER_USER_GROUPS }}"
- append: true
- home: "{{ RUNNER_DIR }}"
-
-- name: download runner
- delegate_to: localhost
- run_once: true
- ansible.builtin.get_url:
- url: "{{ RUNNER_DOWNLOAD_URL }}"
- dest: "/{{ RUNNER_DOWNLOAD_DIR }}/{{ RUNNER_NAME }}"
- mode: '0440'
-
-- name: copy runner binary
- copy:
- src: "{{ RUNNER_DOWNLOAD_DIR }}/{{ RUNNER_NAME }}"
- dest: "{{ RUNNER_DIR }}/{{ RUNNER_NAME }}"
- owner: "{{ RUNNER_USER }}"
- group: "{{ RUNNER_GROUP | default(RUNNER_USER) }}"
- mode: '0770'
-
-- name: create runner config
- ansible.builtin.template:
- src: config.yml.j2
- dest: "{{ RUNNER_DIR }}/config.yml"
- owner: "{{ RUNNER_USER }}"
- group: "{{ RUNNER_GROUP | default(RUNNER_USER) }}"
- mode: '0660'
-
-- name: create runner service file
- notify: reload daemons
- ansible.builtin.template:
- src: runner.service.j2
- dest: "/etc/systemd/system/{{ RUNNER_SERVICE_NAME }}"
- owner: root
- group: root
- mode: '0600'
-
-- name: flush handlers
- meta: flush_handlers
-
-- name: delete .runner file for redeploy
- ansible.builtin.file:
- state: absent
- path: "{{ RUNNER_DIR }}/.runner"
- when: RUNNER_REDEPLOY
-
-- name: register runner
- notify: restart runner
- ansible.builtin.command:
- cmd: "{{ RUNNER_DIR }}/{{ RUNNER_NAME }} register --no-interactive --instance {{ RUNNER_INSTANCE }} --token {{ RUNNER_TOKEN }}"
- chdir: "{{ RUNNER_DIR }}"
- creates: "{{ RUNNER_DIR }}/.runner"
- when:
- - RUNNER_TOKEN != None
-
-- name: ensure correct access rights for .runner file
- ansible.builtin.file:
- path: "{{ RUNNER_DIR }}/.runner"
- owner: "{{ RUNNER_USER }}"
- group: "{{ RUNNER_GROUP }}"
- mode: '0660'
-
-- name: enable runner
- notify: restart runner
- ansible.builtin.service:
- name: "{{ RUNNER_SERVICE_NAME }}"
- enabled: yes
\ No newline at end of file
+- name: config env
+ tags: [install, config]
+ include_tasks: config.yml
\ No newline at end of file