92 lines
2.2 KiB
YAML
92 lines
2.2 KiB
YAML
---
|
|
# 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]
|