Migrate to quadlets
This commit is contained in:
@@ -2,12 +2,11 @@
|
||||
---
|
||||
# tasks file for mastodon
|
||||
|
||||
- name: Setup mastodon networks
|
||||
containers.podman.podman_network:
|
||||
name: "{{ item['key'] }}"
|
||||
driver: "{{ item['value']['driver'] }}"
|
||||
disable_dns: "{{ item['value']['disable_dns'] }}"
|
||||
loop: "{{ mastodon_networks | dict2items }}"
|
||||
- name: Create quadlet staging directory
|
||||
ansible.builtin.tempfile:
|
||||
state: directory
|
||||
prefix: mastodon-quadlets-
|
||||
register: mastodon_quadlet_tmp
|
||||
|
||||
- name: Setup local directories
|
||||
ansible.builtin.file:
|
||||
@@ -15,6 +14,10 @@
|
||||
state: directory
|
||||
loop: "{{ mastodon_local_dirs }}"
|
||||
|
||||
- name: Populate database variables
|
||||
ansible.builtin.include_vars:
|
||||
file: db.yml
|
||||
|
||||
- name: Populate active record variables
|
||||
ansible.builtin.include_vars:
|
||||
file: web.yml
|
||||
@@ -23,17 +26,80 @@
|
||||
ansible.builtin.include_vars:
|
||||
file: smtp.yml
|
||||
|
||||
- name: Create database container instance
|
||||
- name: Stop legacy generated services
|
||||
ansible.builtin.systemd_service:
|
||||
name: "{{ item }}"
|
||||
state: stopped
|
||||
enabled: false
|
||||
scope: user
|
||||
failed_when: false
|
||||
loop:
|
||||
- container-database.service
|
||||
- container-redis.service
|
||||
- container-mastodon.service
|
||||
- container-sidekiq.service
|
||||
|
||||
- name: Remove legacy generated service files
|
||||
ansible.builtin.file:
|
||||
path: "~/.config/systemd/user/{{ item }}"
|
||||
state: absent
|
||||
loop:
|
||||
- container-database.service
|
||||
- container-redis.service
|
||||
- container-mastodon.service
|
||||
- container-sidekiq.service
|
||||
|
||||
- name: Stage mastodon network quadlets
|
||||
ansible.builtin.copy:
|
||||
src: "{{ item }}"
|
||||
dest: "{{ mastodon_quadlet_tmp.path }}/{{ item }}"
|
||||
mode: "0644"
|
||||
loop:
|
||||
- mastodon_internal.network
|
||||
- mastodon_external.network
|
||||
|
||||
- name: Install mastodon network quadlets
|
||||
containers.podman.podman_quadlet:
|
||||
state: present
|
||||
src: "{{ mastodon_quadlet_tmp.path }}/{{ item }}"
|
||||
reload_systemd: false
|
||||
loop:
|
||||
- mastodon_internal.network
|
||||
- mastodon_external.network
|
||||
notify: Reload systemd user units
|
||||
|
||||
- name: Install database quadlet
|
||||
ansible.builtin.include_tasks: db.yml
|
||||
|
||||
- name: Create redis container instance
|
||||
- name: Install redis quadlet
|
||||
ansible.builtin.include_tasks: redis.yml
|
||||
|
||||
- name: Create elasticsearch container instance
|
||||
- name: Install elasticsearch quadlet
|
||||
ansible.builtin.include_tasks: elasticsearch.yml
|
||||
|
||||
- name: Create web container instance
|
||||
- name: Install web quadlet
|
||||
ansible.builtin.include_tasks: web.yml
|
||||
|
||||
- name: Create sidekiq container instance
|
||||
- name: Install sidekiq quadlet
|
||||
ansible.builtin.include_tasks: sidekiq.yml
|
||||
|
||||
- name: Remove quadlet staging directory
|
||||
ansible.builtin.file:
|
||||
path: "{{ mastodon_quadlet_tmp.path }}"
|
||||
state: absent
|
||||
|
||||
- name: Flush handlers so unit changes are reloaded before activation
|
||||
ansible.builtin.meta: flush_handlers
|
||||
|
||||
- name: Activate mastodon services
|
||||
ansible.builtin.systemd_service:
|
||||
name: "{{ item }}"
|
||||
state: started
|
||||
enabled: true
|
||||
scope: user
|
||||
loop:
|
||||
- database.service
|
||||
- redis.service
|
||||
- elasticsearch.service
|
||||
- mastodon.service
|
||||
- sidekiq.service
|
||||
|
||||
Reference in New Issue
Block a user