69 lines
1.8 KiB
YAML
69 lines
1.8 KiB
YAML
- hosts: woodpecker_agents
|
|
vars:
|
|
- WOODPECKER_VERSION: "0.15.7"
|
|
- WOODPECKER_AGENT_SECRET: "{{ vault_woodpecker_agent_secret }}"
|
|
tasks:
|
|
- name: Basic setup
|
|
include_role: name=common
|
|
|
|
- name: Install requirements
|
|
package:
|
|
name: docker.io
|
|
|
|
- name: Download woodpecker agent
|
|
get_url:
|
|
dest: /root/
|
|
url: "https://github.com/woodpecker-ci/woodpecker/releases/download/v{{WOODPECKER_VERSION}}/woodpecker-agent_{{WOODPECKER_VERSION}}_amd64.deb"
|
|
mode: 0644
|
|
owner: root
|
|
group: root
|
|
|
|
- name: Install woodpecker agent
|
|
apt:
|
|
deb: "/root/woodpecker-agent_{{WOODPECKER_VERSION}}_amd64.deb"
|
|
state: present
|
|
|
|
- name: Create woodpecker agent group
|
|
group:
|
|
name: woodpecker-agent
|
|
state: present
|
|
|
|
- name: Woodpecker agent user
|
|
user:
|
|
system: true
|
|
password: '!'
|
|
home: /var/lib/woodpecker-agent
|
|
shell: /bin/bash
|
|
group: woodpecker-agent
|
|
groups: docker
|
|
name: woodpecker-agent
|
|
|
|
- name: woodpecker agent systemd service
|
|
notify: restart woodpecker agent
|
|
copy:
|
|
dest: /etc/systemd/system/woodpecker-agent.service
|
|
content: |
|
|
[Unit]
|
|
Description=Woodpecker agent
|
|
After=network.target
|
|
|
|
[Service]
|
|
User=woodpecker-agent
|
|
Group=woodpecker-agent
|
|
WorkingDirectory=/var/lib/woodpecker-agent/
|
|
Environment="WOODPECKER_AGENT_SECRET={{ WOODPECKER_AGENT_SECRET }}"
|
|
Environment="WOODPECKER_SERVER=woodpecker.afpy.org:9000"
|
|
|
|
ExecStart=/usr/local/bin/woodpecker-agent
|
|
PrivateTmp=true
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
|
|
- name: Run Woodpecker agent
|
|
service:
|
|
name: woodpecker-agent
|
|
enabled: yes
|
|
state: started
|
|
daemon_reload: yes
|