--- # check current atuin server version - name: "check current atuin server version" ansible.builtin.shell: cmd: "/usr/local/bin/atuin-server --version" changed_when: false failed_when: false register: "atuin_server_version_check" # check current atuin client version - name: "check current atuin client version" ansible.builtin.shell: cmd: "/usr/local/bin/atuin --version" changed_when: false failed_when: false register: "atuin_client_version_check" # delete current atuin client - name: "delete current client" ansible.builtin.file: path: "/usr/local/bin/atuin" state: "absent" when: "atuin_version not in atuin_client_version_check.stdout" # delete current atuin server - name: "delete current server" ansible.builtin.file: path: "/usr/local/bin/atuin-server" state: "absent" when: "atuin_version not in atuin_server_version_check.stdout" # install atuin client - name: "install atuin client" ansible.builtin.unarchive: src: "https://github.com/atuinsh/atuin/releases/download/\ v{{ atuin_version }}/atuin-x86_64-unknown-linux-gnu.tar.gz" dest: "/usr/local/bin/" include: "atuin-x86_64-unknown-linux-gnu/atuin" extra_opts: ["--strip-components=1"] owner: "root" group: "root" mode: "0755" remote_src: true when: "atuin_version not in atuin_client_version_check.stdout" # install atuin server - name: "install atuin server" ansible.builtin.unarchive: src: "https://github.com/atuinsh/atuin/releases/download/\ v{{ atuin_version }}/atuin-server-x86_64-unknown-linux-gnu.tar.gz" dest: "/usr/local/bin/" include: "atuin-server-x86_64-unknown-linux-gnu/atuin-server" extra_opts: ["--strip-components=1"] owner: "root" group: "root" mode: "0755" remote_src: true notify: "restart atuin" when: "atuin_version not in atuin_server_version_check.stdout" # install systemd service - name: "install service" ansible.builtin.template: src: "templates/systemd/atuin.service.j2" dest: "/etc/systemd/system/atuin.service" owner: "root" group: "root" mode: "0644" notify: "restart atuin" # create config directory - name: "create atuin config dir" ansible.builtin.file: path: "/etc/atuin" state: "directory" owner: "root" group: "root"