Virkkunen 5ea613a3f6
migrate_from_conduwuit ownership fix (#4278)
* migration ownership fix

* lint fix

* lint fixes
2025-04-26 09:54:46 +03:00

84 lines
3.0 KiB
YAML

# SPDX-FileCopyrightText: 2025 Slavi Pantaleev
#
# SPDX-License-Identifier: AGPL-3.0-or-later
---
# This migrates the conduwuit server implementation (`/matrix/conduwuit`) to continuwuity (`/matrix/continuwuity`),
#
# Here, we merely backup the fresh continuwuity folder, relocate conduwuit directory to continuwuity (`/matrix/conduwuit`)
#
# and restore continuwuity labels.
- name: Check existence of conduwuit directory
ansible.builtin.stat:
path: "{{ matrix_base_data_path }}/conduwuit"
register: matrix_conduwuit_directory_stat
- name: Check existence of continuwuity directory
ansible.builtin.stat:
path: "{{ matrix_base_data_path }}/continuwuity"
register: matrix_continuwuity_directory_stat
- when: >
matrix_conduwuit_directory_stat.stat.exists | bool and
matrix_continuwuity_directory_stat.stat.exists | bool
block:
- name: Ensure matrix-continuwuity.service systemd service is stopped
ansible.builtin.systemd:
name: matrix-continuwuity
state: stopped
enabled: false
daemon_reload: true
- name: Ensure continuwuity directory is backed up
ansible.builtin.command:
cmd: "mv {{ matrix_base_data_path }}/continuwuity {{ matrix_base_data_path }}/continuwuity_old"
creates: "{{ matrix_base_data_path }}/continuwuity_old"
removes: "{{ matrix_base_data_path }}/continuwuity"
- name: Ensure conduwuit directory contents are copied to continuwuity
ansible.builtin.copy:
src: "{{ matrix_base_data_path }}/conduwuit/"
dest: "{{ matrix_base_data_path }}/continuwuity"
remote_src: true
mode: preserve
- name: Ensure conduwuit.toml file is renamed
ansible.builtin.command:
cmd: "mv {{ matrix_base_data_path }}/continuwuity/config/conduwuit.toml {{ matrix_base_data_path }}/continuwuity/config/continuwuity.toml"
removes: "{{ matrix_base_data_path }}/continuwuity/config/conduwuit.toml"
- name: Ensure continuwuity labels are restored
ansible.builtin.copy:
src: "{{ matrix_base_data_path }}/continuwuity_old/labels"
dest: "{{ matrix_base_data_path }}/continuwuity/labels"
remote_src: true
force: true
mode: preserve
- name: Ensure directories ownership is set
block:
- name: Set continuwuity ownership
ansible.builtin.file:
path: "{{ matrix_base_data_path }}/continuwuity"
state: directory
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
recurse: true
- name: Set continuwuity_old ownership
ansible.builtin.file:
path: "{{ matrix_base_data_path }}/continuwuity_old"
state: directory
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
recurse: true
- name: Ensure matrix-continuwuity.service systemd service is started
ansible.builtin.systemd:
name: matrix-continuwuity
state: started
enabled: true
daemon_reload: true