--- - name: Set initial install modes block: - set_fact: vaultwarden_install_mode='none' - set_fact: vaultwarden_current_version='' - set_fact: vaultwarden_web_install_mode='none' - set_fact: vaultwarden_web_current_version='' tags: vaultwarden - name: Check if we need to migrate from bitwarden_rs block: - stat: path=/etc/systemd/system/bitwarden_rs.service register: vaultwarden_bitwarden_unit - set_fact: vaultwarden_migrate_from_bitwarden={{ vaultwarden_bitwarden_unit.stat.exists }} tags: vaultwarden - name: Check if server is installed stat: path={{ vaultwarden_root_dir }}/meta/ansible_version register: vaultwarden_version_file tags: vaultwarden - when: vaultwarden_version_file.stat.exists block: - name: Check installed version slurp: src={{ vaultwarden_root_dir }}/meta/ansible_version register: vaultwarden_current_version - set_fact: vaultwarden_current_version={{ vaultwarden_current_version.content | b64decode | trim }} - set_fact: vaultwarden_install_mode='upgrade' when: vaultwarden_current_version != vaultwarden_version tags: vaultwarden - when: not vaultwarden_version_file.stat.exists block: - set_fact: vaultwarden_install_mode='install' tags: vaultwarden - name: Check if web vault is installed stat: path={{ vaultwarden_root_dir }}/meta/ansible_web_version register: vaultwarden_web_version_file tags: vaultwarden - when: vaultwarden_web_version_file.stat.exists block: - name: Check installed version slurp: src={{ vaultwarden_root_dir }}/meta/ansible_web_version register: vaultwarden_web_current_version - set_fact: vaultwarden_web_current_version={{ vaultwarden_web_current_version.content | b64decode | trim }} - set_fact: vaultwarden_web_install_mode='upgrade' when: vaultwarden_web_current_version != vaultwarden_web_version tags: vaultwarden - when: not vaultwarden_web_version_file.stat.exists block: - set_fact: vaultwarden_web_install_mode='install' tags: vaultwarden - when: vaultwarden_admin_token is not defined name: Generate a random admin token block: - import_tasks: ../includes/get_rand_pass.yml vars: - pass_file: "{{ vaultwarden_root_dir }}/meta/ansible_admin_token" - set_fact: vaultwarden_admin_token={{ rand_pass }} tags: vaultwarden - when: vaultwarden_db_pass is not defined tags: vaultwarden block: - import_tasks: ../includes/get_rand_pass.yml vars: - pass_file: "{{ vaultwarden_root_dir }}/meta/ansible_dbpass" - set_fact: vaultwarden_db_pass={{ rand_pass }}