Initial version of woodpecker collection

Signed-off-by: Nis Wechselberg <enbewe@enbewe.de>
This commit is contained in:
Nis Wechselberg 2024-06-27 22:18:51 +02:00
parent 07a8b255d8
commit 3cbefaafa2
Signed by: eNBeWe
GPG key ID: 7B25171F921B9E57
9 changed files with 321 additions and 0 deletions

View file

@ -0,0 +1,9 @@
---
woodpecker_podman_network: 'woodpecker'
woodpecker_server_image_name: 'docker.io/woodpeckerci/woodpecker-server'
woodpecker_server_image_tag: 'latest-alpine'
woodpecker_agent_image_name: 'docker.io/woodpeckerci/woodpecker-agent'
woodpecker_agent_image_tag: 'latest-alpine'
woodpecker_server_container_name: 'woodpecker-server'

View file

@ -0,0 +1,52 @@
---
- name: 'Reload woodpecker services'
become: true
ansible.builtin.service:
daemon_reload: true
- name: 'Restart woodpecker network'
become: true
ansible.builtin.service:
name: '{{ woodpecker_podman_network }}-network'
state: 'restarted'
notify:
- 'Restart woodpecker-server'
- 'Restart woodpecker-agent'
- name: 'Restart woodpecker volumes'
become: true
ansible.builtin.service:
name: '{{ item }}'
state: 'restarted'
loop:
- '{{ woodpecker_server_data_volume }}-volume'
- '{{ woodpecker_agent_config_volume }}-volume'
notify:
- 'Restart woodpecker-server'
- 'Restart woodpecker-agent'
- name: 'Restart woodpecker images'
become: true
ansible.builtin.service:
name: ''
state: 'restarted'
loop:
- 'woodpecker-server-image'
- 'woodpecker-agent-image'
notify:
- 'Restart woodpecker-server'
- 'Restart woodpecker-agent'
- name: 'Restart woodpecker-server'
become: true
ansible.builtin.service:
name: 'woodpecker-server'
state: 'restarted'
- name: 'Restart woodpecker-agent'
become: true
ansible.builtin.service:
name: 'woodpecker-agent'
state: 'restarted'

View file

@ -0,0 +1,87 @@
---
- name: 'Install required software'
become: true
ansible.builtin.apt:
name: 'podman'
state: 'present'
- name: 'Prepare network'
become: true
containers.podman.podman_network:
name: '{{ woodpecker_podman_network }}'
state: 'quadlet'
notify:
- 'Reload woodpecker services'
- 'Restart woodpecker network'
- name: 'Create woodpecker volumes'
become: true
containers.podman.podman_volume:
name: '{{ item }}'
state: 'quadlet'
loop:
- '{{ woodpecker_server_data_volume }}'
- '{{ woodpecker_agent_config_volume }}'
notify:
- 'Reload woodpecker services'
- 'Restart woodpecker volumes'
- name: 'Define woodpecker images'
become: true
containers.podman.podman_image:
name: '{{ item.image }}'
quadlet_filename: '{{ item.quadlet_name }}'
state: 'quadlet'
loop:
- image: '{{ woodpecker_server_image_name }}:{{ woodpecker_server_image_tag }}'
quadlet_name: 'woodpecker-server'
- image: '{{ woodpecker_agent_image_name }}:{{ woodpecker_agent_image_tag }}'
quadlet_name: 'woodpecker-agent'
notify:
- 'Reload woodpecker services'
- 'Restart woodpecker images'
- name: 'Create woodpecker-server container'
become: true
containers.podman.podman_container:
name: '{{ woodpecker_server_container_name }}'
image: 'woodpecker-server.image'
network: '{{ woodpecker_podman_network }}.network'
state: 'quadlet'
volume:
- '{{ woodpecker_server_data_volume }}.volume:/var/lib/woodpecker'
env: '{{ woodpecker_server_environments }}'
quadlet_options: |
[Install]
WantedBy=default.target
[Unit]
Requires={{ woodpecker_podman_network }}-network.service
Requires={{ woodpecker_server_data_volume }}-volume.service
After={{ woodpecker_podman_network }}-network.service
After={{ woodpecker_server_data_volume }}-volume.service
notify:
- 'Reload woodpecker services'
- 'Restart woodpecker-server'
- name: 'Create woodpecker-agent container'
become: true
containers.podman.podman_container:
name: 'woodpecker-agent'
image: 'woodpecker-agent.image'
network: '{{ woodpecker_podman_network }}.network'
state: 'quadlet'
volume:
- '{{ woodpecker_agent_config_volume }}.volume:/etc/woodpecker'
- '/var/run/podman/podman.sock:/var/run/docker.sock'
env: '{{ woodpecker_agent_environments }}'
quadlet_options: |
[Install]
WantedBy=default.target
[Unit]
Requires={{ woodpecker_podman_network }}-network.service
Requires={{ woodpecker_server_data_volume }}-volume.service
After={{ woodpecker_podman_network }}-network.service
After={{ woodpecker_server_data_volume }}-volume.service
notify:
- 'Reload woodpecker services'
- 'Restart woodpecker-agent'