--- - name: Cleanup old Semaphore deployment on figment hosts: semaphore_server become: true vars_files: - ../roles/semaphore/defaults/main.yml vars: # Set to true to also remove data directories and config semaphore_force_clean: false tasks: - name: Stop and remove old Semaphore container containers.podman.podman_container: name: "{{ semaphore_container_name }}" state: absent ignore_errors: true - name: Stop and disable legacy generated systemd service ansible.builtin.systemd: name: "container-{{ semaphore_container_name }}.service" state: stopped enabled: false ignore_errors: true - name: Remove legacy systemd unit file ansible.builtin.file: path: "/etc/systemd/system/container-{{ semaphore_container_name }}.service" state: absent - name: Remove quadlet files (if any were previously deployed) ansible.builtin.file: path: "/etc/containers/systemd/{{ item }}.container" state: absent loop: - "{{ semaphore_container_name }}" - "{{ semaphore_postgres_container_name }}" - name: Reload systemd daemon ansible.builtin.systemd: daemon_reload: true - name: Remove data directories (only when semaphore_force_clean=true) when: semaphore_force_clean | bool ansible.builtin.file: path: "{{ item }}" state: absent loop: - "{{ semaphore_data_dir }}" - "{{ semaphore_config_dir }}" - name: Remove PostgreSQL data volume marker (only when semaphore_force_clean=true) when: semaphore_force_clean | bool and semaphore_use_postgres | default(false) ansible.builtin.file: path: "/var/lib/containers/storage/volumes/{{ semaphore_postgres_volume }}/_data" state: absent ignore_errors: true