Roles for caddy as well as isso
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Signed-off-by: Nis Wechselberg <enbewe@enbewe.de>
This commit is contained in:
parent
6b7f10a1e1
commit
96a91b2ecb
20 changed files with 696 additions and 0 deletions
93
roles/static/tasks/deploy_static_site.yml
Normal file
93
roles/static/tasks/deploy_static_site.yml
Normal file
|
@ -0,0 +1,93 @@
|
|||
---
|
||||
- name: 'Create site network'
|
||||
become: true
|
||||
containers.podman.podman_network:
|
||||
name: '{{ item.network }}'
|
||||
ipv6: true
|
||||
state: 'quadlet'
|
||||
|
||||
- name: 'Define caddy image'
|
||||
become: true
|
||||
containers.podman.podman_image:
|
||||
name: '{{ static_caddy_image_name }}:{{ static_caddy_image_tag }}'
|
||||
state: 'quadlet'
|
||||
notify:
|
||||
- 'Reload caddy services'
|
||||
- 'Restart caddy image'
|
||||
|
||||
- name: 'Define site data volume'
|
||||
become: true
|
||||
containers.podman.podman_volume:
|
||||
name: '{{ item.volume }}'
|
||||
state: 'quadlet'
|
||||
notify:
|
||||
- 'Reload caddy services'
|
||||
register: 'static_caddy_volume_changed'
|
||||
|
||||
- name: 'Clean the handlers'
|
||||
ansible.builtin.meta: 'flush_handlers'
|
||||
|
||||
- name: 'Restart caddy static volume'
|
||||
become: true
|
||||
when: 'static_caddy_volume_changed.changed' # noqa: no-handler
|
||||
ansible.builtin.service:
|
||||
name: '{{ item.volume }}-volume.service'
|
||||
state: 'restarted'
|
||||
|
||||
- name: 'Create target directory for site data'
|
||||
become: true
|
||||
ansible.builtin.file:
|
||||
name: '/srv/www/{{ item.name }}'
|
||||
state: 'directory'
|
||||
owner: 'root'
|
||||
group: 'root'
|
||||
mode: 'u=rwx,g=rx,o=rx'
|
||||
|
||||
- name: 'Download site data archive from url'
|
||||
become: true
|
||||
when: 'not ansible_check_mode'
|
||||
ansible.builtin.get_url:
|
||||
dest: '{{ item.tempfile }}'
|
||||
url: '{{ item.archive_url }}'
|
||||
url_username: '{{ item.archive_username }}'
|
||||
url_password: '{{ item.archive_password }}'
|
||||
force_basic_auth: true
|
||||
owner: 'root'
|
||||
group: 'root'
|
||||
mode: 'u=rw,g=,o='
|
||||
register: 'static_caddy_download_data'
|
||||
|
||||
- name: 'Unarchive site data'
|
||||
when: 'static_caddy_download_data.changed' # noqa: no-handler
|
||||
become: true
|
||||
ansible.builtin.unarchive:
|
||||
src: '{{ item.tempfile }}'
|
||||
dest: '/srv/www/{{ item.name }}'
|
||||
remote_src: true
|
||||
|
||||
- name: 'Create site container'
|
||||
become: true
|
||||
containers.podman.podman_container:
|
||||
name: 'caddy-static-{{ item.name }}'
|
||||
image: 'caddy.image'
|
||||
network: '{{ item.network }}.network'
|
||||
state: 'quadlet'
|
||||
volume:
|
||||
- '/srv/www/{{ item.name }}/:/usr/share/caddy/'
|
||||
- '{{ item.volume }}.volume:/data'
|
||||
quadlet_options: |
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
notify:
|
||||
- 'Reload caddy services'
|
||||
register: 'static_caddy_container_create'
|
||||
|
||||
- name: 'Clean the handlers'
|
||||
ansible.builtin.meta: 'flush_handlers'
|
||||
|
||||
- name: 'Restart caddy container'
|
||||
when: 'static_caddy_container_create.changed' # noqa: no-handler
|
||||
become: true
|
||||
ansible.builtin.service:
|
||||
name: 'caddy-static-{{ item.name }}.service'
|
||||
state: 'restarted'
|
Loading…
Add table
Add a link
Reference in a new issue