77 lines
2.1 KiB
YAML
77 lines
2.1 KiB
YAML
---
|
|
- name: Deploy Gitea Act via Podman
|
|
hosts: control
|
|
become: true
|
|
|
|
vars_files:
|
|
- vault.yml
|
|
|
|
vars:
|
|
gitea_token: "{{ vault_gitea_runner_token }}"
|
|
|
|
tasks:
|
|
- name: Create Act Runner data directory
|
|
ansible.builtin.file:
|
|
path: /var/lib/gitea_runner
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
mode: "0755"
|
|
|
|
- name: Ensure Podman API socket is running and enabled
|
|
ansible.builtin.systemd:
|
|
name: podman.socket
|
|
state: started
|
|
enabled: true
|
|
|
|
- name: Run Act runner container
|
|
containers.podman.podman_container:
|
|
name: gitea-runner
|
|
image: docker.io/gitea/act_runner:latest
|
|
state: started
|
|
restart_policy: always
|
|
user: "0"
|
|
security_opt:
|
|
- "label=disable"
|
|
volumes:
|
|
- /var/run/podman/podman.sock:/var/run/docker.sock:z
|
|
- /var/lib/gitea_runner:/data:z
|
|
env:
|
|
GITEA_INSTANCE_URL: "http://172.30.1.200:3000"
|
|
GITEA_RUNNER_REGISTRATION_TOKEN: "{{ gitea_token }}"
|
|
GITEA_RUNNER_NAME: "ansible-control-runner"
|
|
GITEA_RUNNER_LABELS: "ubuntu-latest:docker://node:16-bullseye,self-hosted:docker://node:16-bullseye"
|
|
|
|
- name: Deploy Gitea runner systemd service file
|
|
ansible.builtin.copy:
|
|
content: |
|
|
[Unit]
|
|
Description=Gitea Act Runner Container
|
|
After=network-online.target gitea-container.service podman.socket
|
|
|
|
[Service]
|
|
Type=simple
|
|
ExecStart=/usr/bin/podman start -a gitea-runner
|
|
ExecStop=/usr/bin/podman stop -t 10 gitea-runner
|
|
Restart=always
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
dest: /etc/systemd/system/gitea-runner-container.service
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
notify: Reload systemd
|
|
|
|
- name: Start and enable Gitea runner service
|
|
ansible.builtin.systemd:
|
|
name: gitea-runner-container
|
|
state: started
|
|
enabled: true
|
|
|
|
handlers:
|
|
- name: Reload systemd
|
|
ansible.builtin.systemd:
|
|
daemon_reload: true
|
|
changed_when: false
|