From a21159f15869d4ea274df72c992bf91da8ea7d7c Mon Sep 17 00:00:00 2001 From: Timo Makinen Date: Tue, 14 Mar 2023 17:24:24 +0000 Subject: [PATCH] Add gitea-runners (work in progress) --- group_vars/gitearunner.yml | 4 ++ host_vars/gitea-runner02.home.foo.sh.yml | 6 +++ hosts.yml | 6 +++ playbooks/gitea-runner.yml | 14 +++++++ roles/gitea_runner/defaults/main.yml | 2 + roles/gitea_runner/handlers/main.yml | 7 ++++ roles/gitea_runner/meta/main.yml | 4 ++ roles/gitea_runner/tasks/main.yml | 49 ++++++++++++++++++++++++ 8 files changed, 92 insertions(+) create mode 100644 group_vars/gitearunner.yml create mode 100644 host_vars/gitea-runner02.home.foo.sh.yml create mode 100644 playbooks/gitea-runner.yml create mode 100644 roles/gitea_runner/defaults/main.yml create mode 100644 roles/gitea_runner/handlers/main.yml create mode 100644 roles/gitea_runner/meta/main.yml create mode 100644 roles/gitea_runner/tasks/main.yml diff --git a/group_vars/gitearunner.yml b/group_vars/gitearunner.yml new file mode 100644 index 0000000..c611eea --- /dev/null +++ b/group_vars/gitearunner.yml @@ -0,0 +1,4 @@ +--- +firewall_in: + - {proto: tcp, port: 22, from: [172.20.20.0/22]} + - {proto: tcp, port: 4949, from: [172.20.20.0/22]} diff --git a/host_vars/gitea-runner02.home.foo.sh.yml b/host_vars/gitea-runner02.home.foo.sh.yml new file mode 100644 index 0000000..617957c --- /dev/null +++ b/host_vars/gitea-runner02.home.foo.sh.yml @@ -0,0 +1,6 @@ +--- +vmhost: vmhost02.home.foo.sh +network_interfaces: + - device: eth0 + vlan: 20 + mac: 52:54:00:ac:dc:7c diff --git a/hosts.yml b/hosts.yml index f1e9b91..555b7e5 100644 --- a/hosts.yml +++ b/hosts.yml @@ -25,6 +25,11 @@ gitea: gitea02.home.foo.sh: vars: gitea_version: "1.19.0-rc1" +gitearunner: + hosts: + gitea-runner02.home.foo.sh: + vars: + gitea_runner_version: "v0.0.1" homeassistant: hosts: homeassistant01.home.foo.sh: @@ -146,6 +151,7 @@ rocky9: adm: git: gitea: + gitearunner: influxdb: ldap: mirror: diff --git a/playbooks/gitea-runner.yml b/playbooks/gitea-runner.yml new file mode 100644 index 0000000..c87211c --- /dev/null +++ b/playbooks/gitea-runner.yml @@ -0,0 +1,14 @@ +--- +- name: Deploy KVM virtual machines + ansible.builtin.import_playbook: include/deploy-kvm-guest.yml + vars: + myhosts: gitearunner + +- name: Configure instance + hosts: gitearunner + user: root + gather_facts: true + + roles: + - base + - gitea_runner diff --git a/roles/gitea_runner/defaults/main.yml b/roles/gitea_runner/defaults/main.yml new file mode 100644 index 0000000..bb9e11e --- /dev/null +++ b/roles/gitea_runner/defaults/main.yml @@ -0,0 +1,2 @@ +--- +gitea_runner_version: main diff --git a/roles/gitea_runner/handlers/main.yml b/roles/gitea_runner/handlers/main.yml new file mode 100644 index 0000000..e624e19 --- /dev/null +++ b/roles/gitea_runner/handlers/main.yml @@ -0,0 +1,7 @@ +--- +- name: Build act_runner + ansible.builtin.command: + argv: + - make + - build + chdir: /usr/local/src/act_runner diff --git a/roles/gitea_runner/meta/main.yml b/roles/gitea_runner/meta/main.yml new file mode 100644 index 0000000..4dfd1ac --- /dev/null +++ b/roles/gitea_runner/meta/main.yml @@ -0,0 +1,4 @@ +--- +dependencies: + - {role: docker} + - {role: git} diff --git a/roles/gitea_runner/tasks/main.yml b/roles/gitea_runner/tasks/main.yml new file mode 100644 index 0000000..7c794ff --- /dev/null +++ b/roles/gitea_runner/tasks/main.yml @@ -0,0 +1,49 @@ +--- +- name: Create group + ansible.builtin.group: + name: act_runner + system: true + +- name: Create user + ansible.builtin.user: + name: act_runner + system: true + comment: Gitea act_runner + create_home: false + home: /var/empty + group: act_runner + groups: + - docker + shell: /sbin/nologin + +- name: Install dependencies + ansible.builtin.package: + name: "{{ item }}" + state: installed + with_items: + - golang + - make + +- name: Copy act runner packages + ansible.builtin.git: + dest: /usr/local/src/act_runner + repo: https://gitea.com/gitea/act_runner.git + version: "{{ gitea_runner_version }}" + notify: Build act_runner + +- name: Link binary + ansible.builtin.file: + dest: /usr/local/sbin/act_runner + src: /usr/local/src/act_runner/act_runner + state: link + owner: root + group: "{{ ansible_wheel }}" + follow: false + +- name: Create config directory + ansible.builtin.file: + path: /var/lib/act_runner + state: directory + mode: 0770 + owner: root + group: act_runner