07c23b7cb0
This was useful when the order of these roles in relation to Synapse
mattered (when we were injecting stuff into Synapse variables during
runtime). This is no longer the case since 0ea7cb5d18
, so all of
this can be removed.
113 lines
5.3 KiB
YAML
113 lines
5.3 KiB
YAML
---
|
|
|
|
- ansible.builtin.set_fact:
|
|
matrix_mx_puppet_instagram_requires_restart: false
|
|
|
|
- when: "matrix_mx_puppet_instagram_database_engine == 'postgres'"
|
|
block:
|
|
- name: Check if an SQLite database already exists
|
|
ansible.builtin.stat:
|
|
path: "{{ matrix_mx_puppet_instagram_sqlite_database_path_local }}"
|
|
register: matrix_mx_puppet_instagram_sqlite_database_path_local_stat_result
|
|
|
|
- when: "matrix_mx_puppet_instagram_sqlite_database_path_local_stat_result.stat.exists | bool"
|
|
block:
|
|
- ansible.builtin.set_fact:
|
|
matrix_postgres_db_migration_request:
|
|
src: "{{ matrix_mx_puppet_instagram_sqlite_database_path_local }}"
|
|
dst: "{{ matrix_mx_puppet_instagram_database_connection_string }}"
|
|
caller: "{{ role_path | basename }}"
|
|
engine_variable_name: 'matrix_mx_puppet_instagram_database_engine'
|
|
engine_old: 'sqlite'
|
|
systemd_services_to_stop: ['matrix-mx-puppet-instagram.service']
|
|
|
|
- ansible.builtin.import_role:
|
|
name: custom/matrix-postgres
|
|
tasks_from: migrate_db_to_postgres
|
|
|
|
- ansible.builtin.set_fact:
|
|
matrix_mx_puppet_instagram_requires_restart: true
|
|
|
|
- name: Ensure mx-puppet-instagram image is pulled
|
|
community.docker.docker_image:
|
|
name: "{{ matrix_mx_puppet_instagram_docker_image }}"
|
|
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
|
force_source: "{{ matrix_mx_puppet_instagram_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
|
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mx_puppet_instagram_docker_image_force_pull }}"
|
|
when: matrix_mx_puppet_instagram_enabled | bool and not matrix_mx_puppet_instagram_container_image_self_build
|
|
register: result
|
|
retries: "{{ devture_playbook_help_container_retries_count }}"
|
|
delay: "{{ devture_playbook_help_container_retries_delay }}"
|
|
until: result is not failed
|
|
|
|
- name: Ensure mx-puppet-instagram paths exist
|
|
ansible.builtin.file:
|
|
path: "{{ item.path }}"
|
|
state: directory
|
|
mode: 0750
|
|
owner: "{{ matrix_user_username }}"
|
|
group: "{{ matrix_user_groupname }}"
|
|
with_items:
|
|
- {path: "{{ matrix_mx_puppet_instagram_base_path }}", when: true}
|
|
- {path: "{{ matrix_mx_puppet_instagram_config_path }}", when: true}
|
|
- {path: "{{ matrix_mx_puppet_instagram_data_path }}", when: true}
|
|
- {path: "{{ matrix_mx_puppet_instagram_docker_src_files_path }}", when: "{{ matrix_mx_puppet_instagram_container_image_self_build }}"}
|
|
when: matrix_mx_puppet_instagram_enabled | bool and item.when | bool
|
|
|
|
- name: Ensure mx-puppet-instagram repository is present on self build
|
|
ansible.builtin.git:
|
|
repo: "{{ matrix_mx_puppet_instagram_container_image_self_build_repo }}"
|
|
version: "{{ matrix_mx_puppet_instagram_container_image_self_build_repo_version }}"
|
|
dest: "{{ matrix_mx_puppet_instagram_docker_src_files_path }}"
|
|
force: "yes"
|
|
become: true
|
|
become_user: "{{ matrix_user_username }}"
|
|
register: matrix_mx_puppet_instagram_git_pull_results
|
|
when: "matrix_mx_puppet_instagram_enabled | bool and matrix_mx_puppet_instagram_container_image_self_build | bool"
|
|
|
|
- name: Ensure mx-puppet-instagram Docker image is built
|
|
community.docker.docker_image:
|
|
name: "{{ matrix_mx_puppet_instagram_docker_image }}"
|
|
source: build
|
|
force_source: "{{ matrix_mx_puppet_instagram_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
|
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mx_puppet_instagram_git_pull_results.changed }}"
|
|
build:
|
|
dockerfile: Dockerfile
|
|
path: "{{ matrix_mx_puppet_instagram_docker_src_files_path }}"
|
|
pull: true
|
|
when: "matrix_mx_puppet_instagram_enabled | bool and matrix_mx_puppet_instagram_container_image_self_build | bool"
|
|
|
|
- name: Ensure mx-puppet-instagram config.yaml installed
|
|
ansible.builtin.copy:
|
|
content: "{{ matrix_mx_puppet_instagram_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
|
dest: "{{ matrix_mx_puppet_instagram_config_path }}/config.yaml"
|
|
mode: 0644
|
|
owner: "{{ matrix_user_username }}"
|
|
group: "{{ matrix_user_groupname }}"
|
|
|
|
- name: Ensure mx-puppet-instagram-registration.yaml installed
|
|
ansible.builtin.copy:
|
|
content: "{{ matrix_mx_puppet_instagram_registration | to_nice_yaml(indent=2, width=999999) }}"
|
|
dest: "{{ matrix_mx_puppet_instagram_config_path }}/registration.yaml"
|
|
mode: 0644
|
|
owner: "{{ matrix_user_username }}"
|
|
group: "{{ matrix_user_groupname }}"
|
|
|
|
- name: Ensure matrix-mx-puppet-instagram.service installed
|
|
ansible.builtin.template:
|
|
src: "{{ role_path }}/templates/systemd/matrix-mx-puppet-instagram.service.j2"
|
|
dest: "/etc/systemd/system/matrix-mx-puppet-instagram.service"
|
|
mode: 0644
|
|
register: matrix_mx_puppet_instagram_systemd_service_result
|
|
|
|
- name: Ensure systemd reloaded after matrix-mx-puppet-instagram.service installation
|
|
ansible.builtin.service:
|
|
daemon_reload: true
|
|
when: "matrix_mx_puppet_instagram_systemd_service_result.changed"
|
|
|
|
- name: Ensure matrix-mx-puppet-instagram.service restarted, if necessary
|
|
ansible.builtin.service:
|
|
name: "matrix-mx-puppet-instagram.service"
|
|
state: restarted
|
|
when: "matrix_mx_puppet_instagram_requires_restart | bool"
|