Add Sigvild Gallery wedding photo application with automated deployment and improve Caddy plugin management
This commit is contained in:
91
roles/sigvild-gallery/tasks/main.yml
Normal file
91
roles/sigvild-gallery/tasks/main.yml
Normal file
@@ -0,0 +1,91 @@
|
||||
---
|
||||
# Sigvild Gallery Deployment Tasks
|
||||
|
||||
- name: Install required packages
|
||||
pacman:
|
||||
name:
|
||||
- rsync
|
||||
state: present
|
||||
- name: Create sigvild gallery user
|
||||
user:
|
||||
name: "{{ sigvild_gallery_user }}"
|
||||
system: yes
|
||||
shell: /bin/bash
|
||||
home: "{{ sigvild_gallery_home }}"
|
||||
create_home: yes
|
||||
|
||||
- name: Create directories
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: "{{ sigvild_gallery_user }}"
|
||||
group: "{{ sigvild_gallery_user }}"
|
||||
mode: '0755'
|
||||
loop:
|
||||
- "{{ sigvild_gallery_home }}"
|
||||
- "{{ sigvild_gallery_data_dir }}"
|
||||
- "{{ sigvild_gallery_web_root }}"
|
||||
|
||||
- name: Build and deploy backend
|
||||
include_tasks: deploy_backend.yml
|
||||
tags: [backend, build]
|
||||
|
||||
- name: Build and deploy frontend
|
||||
include_tasks: deploy_frontend.yml
|
||||
tags: [frontend, build]
|
||||
|
||||
- name: Deploy systemd service
|
||||
template:
|
||||
src: sigvild-gallery.service.j2
|
||||
dest: /etc/systemd/system/sigvild-gallery.service
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0644'
|
||||
notify:
|
||||
- reload systemd
|
||||
- restart sigvild-gallery
|
||||
tags: [backend, service]
|
||||
|
||||
- name: Deploy Caddy configurations
|
||||
template:
|
||||
src: "{{ item.src }}"
|
||||
dest: "{{ caddy_sites_enabled_dir }}/{{ item.dest }}"
|
||||
owner: root
|
||||
group: "{{ caddy_user }}"
|
||||
mode: '0644'
|
||||
loop:
|
||||
- { src: 'frontend.caddy.j2', dest: 'sigvild-frontend.caddy' }
|
||||
- { src: 'api.caddy.j2', dest: 'sigvild-api.caddy' }
|
||||
notify: reload caddy
|
||||
tags: [caddy, frontend, backend]
|
||||
|
||||
- name: Enable and start sigvild-gallery service
|
||||
systemd:
|
||||
name: sigvild-gallery
|
||||
enabled: "{{ sigvild_gallery_service_enabled }}"
|
||||
state: "{{ sigvild_gallery_service_state }}"
|
||||
daemon_reload: yes
|
||||
tags: [backend, service]
|
||||
|
||||
- name: Create superuser account
|
||||
command: >
|
||||
{{ sigvild_gallery_binary }} superuser upsert
|
||||
"{{ vault_pb_su_email }}"
|
||||
"{{ vault_pb_su_password }}"
|
||||
args:
|
||||
chdir: "{{ sigvild_gallery_home }}"
|
||||
become: yes
|
||||
become_user: "{{ sigvild_gallery_user }}"
|
||||
register: superuser_result
|
||||
failed_when: superuser_result.rc != 0
|
||||
|
||||
- name: Verify gallery health
|
||||
uri:
|
||||
url: "https://{{ sigvild_gallery_api_domain }}/api/health"
|
||||
method: GET
|
||||
status_code: [200, 404] # 404 is ok if health endpoint doesn't exist yet
|
||||
timeout: 15
|
||||
retries: 5
|
||||
delay: 5
|
||||
ignore_errors: yes
|
||||
tags: [verify]
|
||||
Reference in New Issue
Block a user