diff --git a/roles/user/bw/meta/main.yml b/roles/user/bw/meta/main.yml new file mode 100644 index 0000000..29430af --- /dev/null +++ b/roles/user/bw/meta/main.yml @@ -0,0 +1,8 @@ +--- +galaxy_info: + author: Matej Focko + description: Install and configure Bitwarden CLI + + license: BSD-3-Clause + + min_ansible_version: 7.2.0 diff --git a/roles/user/bw/tasks/main.yml b/roles/user/bw/tasks/main.yml new file mode 100644 index 0000000..ba99b27 --- /dev/null +++ b/roles/user/bw/tasks/main.yml @@ -0,0 +1,38 @@ +--- +- name: Download the latest release + ansible.builtin.unarchive: + src: https://vault.bitwarden.com/download/\?app\=cli\&platform\=linux + dest: ~/.local/bin/ + remote_src: yes + creates: ~/.local/bin/bw + +- name: Make it executable + ansible.builtin.file: + path: ~/.local/bin/bw + mode: u+x + +- name: Run the CLI to create initial file + ansible.builtin.command: + cmd: "/home/{{ target_user }}/.local/bin/bw" + creates: ~/.config/Bitwarden CLI/data.json + +- name: Create data stores for specific deployments + ansible.builtin.copy: + src: ~/.config/Bitwarden CLI/data.json + dest: ~/.config/Bitwarden CLI/{{ item }}.json + mode: 0600 + force: false + remote_src: true + loop: + - vault.bitwarden.com + - vault.mfocko.xyz + +- name: Symlink to the self-hosted deployment + ansible.builtin.file: + src: ~/.config/Bitwarden CLI/vault.mfocko.xyz.json + path: ~/.config/Bitwarden CLI/data.json + force: true + state: link +# - name: Switch the server on the self-hosted “login” +# ansible.builtin.command: +# cmd: bw config server https://vault.mfocko.xyz diff --git a/roles/user/secrets/bw/tasks/main.yml b/roles/user/secrets/bw/tasks/main.yml index 4b18383..58d543f 100644 --- a/roles/user/secrets/bw/tasks/main.yml +++ b/roles/user/secrets/bw/tasks/main.yml @@ -1,7 +1,7 @@ --- - name: Download the latest release ansible.builtin.unarchive: - src: https://vault.bitwarden.com/download/\?app\=cli\&platform\=linux + src: https://vault.bitwarden.com/download/?app=cli&platform=linux dest: ~/.local/bin/ remote_src: yes creates: ~/.local/bin/bw @@ -13,7 +13,8 @@ - name: Run the CLI to create initial file ansible.builtin.command: - cmd: bw + # See https://github.com/bitwarden/clients/issues/6144 + cmd: "~/.local/bin/bw --version" creates: ~/.config/Bitwarden CLI/data.json - name: Create data stores for specific deployments