210 lines
5.8 KiB
YAML
210 lines
5.8 KiB
YAML
- name: "Get vikunja gitea release json"
|
|
uri:
|
|
url: https://kolaente.dev/api/v1/repos/vikunja/api/releases
|
|
method: GET
|
|
return_content: yes
|
|
status_code: 200
|
|
body_format: json
|
|
register: vikunja_repo
|
|
tags:
|
|
- api
|
|
|
|
- name: "Remove v on release name"
|
|
ansible.builtin.shell: "echo {{ vikunja_repo.json.0.tag_name }} | sed 's/v//g'"
|
|
register: vikunja_version_without_v
|
|
tags:
|
|
- api
|
|
|
|
- name: "Get vikunja version"
|
|
set_fact: vikunja_version={{ vikunja_version_without_v.stdout }}
|
|
tags:
|
|
- api
|
|
|
|
- name: Display version of API
|
|
ansible.builtin.debug:
|
|
msg:
|
|
- "API version use : {{ vikunja_version }}"
|
|
|
|
- name: "Get Vikunja key"
|
|
ansible.builtin.shell: "gpg --keyserver keyserver.ubuntu.com --recv FF054DACD908493A"
|
|
register: vikunja_version_without_v
|
|
tags:
|
|
- api
|
|
args:
|
|
chdir: "{{ item.home | default('/var/opt/vikunja') }}"
|
|
become: yes
|
|
become_user : "{{ item.name | default('vikunja') }}"
|
|
become_method: su
|
|
become_flags: '-s /bin/bash'
|
|
loop: "{{ vikunja }}"
|
|
|
|
- name: Download Vikunja
|
|
ansible.builtin.get_url:
|
|
url: "https://dl.vikunja.io/api/{{ vikunja_version }}/vikunja-v{{ vikunja_version }}-linux-amd64-full.zip"
|
|
dest: "{{ item.home | default('/var/opt/vikunja') }}/vikunja-v{{ vikunja_version }}-linux-amd64-full.zip"
|
|
mode: '0640'
|
|
tags:
|
|
- api
|
|
become: yes
|
|
become_user : "{{ item.name | default('vikunja') }}"
|
|
become_method: su
|
|
become_flags: '-s /bin/bash'
|
|
loop: "{{ vikunja }}"
|
|
|
|
- name: Download Vikunja signature
|
|
ansible.builtin.get_url:
|
|
url: "https://dl.vikunja.io/api/{{ vikunja_version }}/vikunja-v{{ vikunja_version }}-linux-amd64-full.zip.asc"
|
|
dest: "{{ item.home | default('/var/opt/vikunja') }}/vikunja-v{{ vikunja_version }}-linux-amd64-full.zip.asc"
|
|
mode: '0640'
|
|
tags:
|
|
- api
|
|
become: yes
|
|
become_user : "{{ item.name | default('vikunja') }}"
|
|
become_method: su
|
|
become_flags: '-s /bin/bash'
|
|
loop: "{{ vikunja }}"
|
|
|
|
- name: "Test Vikunja signature"
|
|
ansible.builtin.shell: "gpg --verify {{ item.home | default('/var/opt/vikunja') }}/vikunja-v{{ vikunja_version }}-linux-amd64-full.zip.asc {{ item.home | default('/var/opt/vikunja') }}/vikunja-v{{ vikunja_version }}-linux-amd64-full.zip"
|
|
tags:
|
|
- api
|
|
args:
|
|
chdir: "{{ item.home | default('/var/opt/vikunja') }}"
|
|
become: yes
|
|
become_user : "{{ item.name | default('vikunja') }}"
|
|
become_method: su
|
|
become_flags: '-s /bin/bash'
|
|
loop: "{{ vikunja }}"
|
|
|
|
- name: "Create vikunja directory"
|
|
ansible.builtin.file:
|
|
path: "{{ item.home | default('/var/opt/vikunja') }}/vikunja"
|
|
state: directory
|
|
mode: '0750'
|
|
become: yes
|
|
become_user : "{{ item.name | default('vikunja') }}"
|
|
become_method: su
|
|
become_flags: '-s /bin/bash'
|
|
loop: "{{ vikunja }}"
|
|
tags:
|
|
- api
|
|
|
|
- name: "Unarchive vikunja"
|
|
ansible.builtin.unarchive:
|
|
src: "{{ item.home | default('/var/opt/vikunja') }}/vikunja-v{{ vikunja_version }}-linux-amd64-full.zip"
|
|
dest: "{{ item.home | default('/var/opt/vikunja') }}/vikunja"
|
|
remote_src: yes
|
|
become: yes
|
|
become_user : "{{ item.name | default('vikunja') }}"
|
|
become_method: su
|
|
become_flags: '-s /bin/bash'
|
|
loop: "{{ vikunja }}"
|
|
tags:
|
|
- api
|
|
|
|
- name: "Test Vikunja binary sha256"
|
|
ansible.builtin.shell: "sha256sum -c vikunja-v{{ vikunja_version }}-linux-amd64.sha256"
|
|
tags:
|
|
- api
|
|
args:
|
|
chdir: "{{ item.home | default('/var/opt/vikunja') }}/vikunja"
|
|
become: yes
|
|
become_user : "{{ item.name | default('vikunja') }}"
|
|
become_method: su
|
|
become_flags: '-s /bin/bash'
|
|
loop: "{{ vikunja }}"
|
|
|
|
- name: "Rename Vikunja binary"
|
|
ansible.builtin.shell: "mv vikunja-v{{ vikunja_version }}-linux-amd64 vikunja"
|
|
tags:
|
|
- api
|
|
args:
|
|
chdir: "{{ item.home | default('/var/opt/vikunja') }}/vikunja"
|
|
become: yes
|
|
become_user : "{{ item.name | default('vikunja') }}"
|
|
become_method: su
|
|
become_flags: '-s /bin/bash'
|
|
loop: "{{ vikunja }}"
|
|
|
|
- name: "Clean sha256 file"
|
|
ansible.builtin.file:
|
|
path: "{{ item.home | default('/var/opt/vikunja') }}/vikunja/vikunja-v{{ vikunja_version }}-linux-amd64.sha256"
|
|
state: absent
|
|
tags:
|
|
- api
|
|
become: yes
|
|
become_user : "{{ item.name | default('vikunja') }}"
|
|
become_method: su
|
|
become_flags: '-s /bin/bash'
|
|
loop: "{{ vikunja }}"
|
|
|
|
- name: "Clean zip file"
|
|
ansible.builtin.file:
|
|
path: "{{ item.home | default('/var/opt/vikunja') }}/vikunja-v{{ vikunja_version }}-linux-amd64-full.zip"
|
|
state: absent
|
|
tags:
|
|
- api
|
|
become: yes
|
|
become_user : "{{ item.name | default('vikunja') }}"
|
|
become_method: su
|
|
become_flags: '-s /bin/bash'
|
|
loop: "{{ vikunja }}"
|
|
|
|
- name: "Clean asc file"
|
|
ansible.builtin.file:
|
|
path: "{{ item.home | default('/var/opt/vikunja') }}/vikunja-v{{ vikunja_version }}-linux-amd64-full.zip.asc"
|
|
state: absent
|
|
tags:
|
|
- api
|
|
become: yes
|
|
become_user : "{{ item.name | default('vikunja') }}"
|
|
become_method: su
|
|
become_flags: '-s /bin/bash'
|
|
loop: "{{ vikunja }}"
|
|
|
|
- name: Add service
|
|
ansible.builtin.template:
|
|
src: vikunja.service.j2
|
|
dest: "/etc/systemd/system/{{ item.name | default('vikunja') }}_vikunja.service"
|
|
owner: root
|
|
group: root
|
|
mode: '0644'
|
|
loop: "{{ vikunja }}"
|
|
tags:
|
|
- api
|
|
|
|
- name: Add configuration
|
|
ansible.builtin.template:
|
|
src: config.yml.j2
|
|
dest: "{{ item.home | default('/var/opt/vikunja') }}/vikunja/config.yml"
|
|
owner: vikunja
|
|
group: vikunja
|
|
mode: '0600'
|
|
loop: "{{ vikunja }}"
|
|
tags:
|
|
- api
|
|
|
|
- name: Reload systemd
|
|
ansible.builtin.systemd:
|
|
daemon_reload: yes
|
|
name: "{{ item.name | default('vikunja') }}_vikunja.service"
|
|
loop: "{{ vikunja }}"
|
|
tags:
|
|
- api
|
|
|
|
- name: Enable bitwarden
|
|
ansible.builtin.systemd:
|
|
enabled: yes
|
|
name: "{{ item.name | default('vikunja') }}_vikunja.service"
|
|
loop: "{{ vikunja }}"
|
|
tags:
|
|
- api
|
|
|
|
- name: Restart vikunja
|
|
ansible.builtin.systemd:
|
|
state: restarted
|
|
name: "{{ item.name | default('vikunja') }}_vikunja.service"
|
|
loop: "{{ vikunja }}"
|
|
tags:
|
|
- api
|