guildgate/deploy.yml

60 lines
1.7 KiB
YAML

---
- hosts: localhost
tasks:
- name: check guildgate version
uri:
url: https://git.saintnet.tech/api/v1/repos/stryan/guildgate/releases?limit=1
return_content: true
register: guildgate_latest
- name: "downloading and installing guildgate {{ guildgate_latest.json[0].tag_name }}"
block:
- name: create temp directory
tempfile:
state: directory
suffix: dwn
register: tempfolder_1
- name: download guildgate
loop: "{{ guildgate_latest.json[0].assets }}"
when: "'amd64.tar.gz' in item.name"
unarchive:
remote_src: yes
src: "{{ item.browser_download_url }}"
dest: "{{ tempfolder_1.path }}"
keep_newer: yes
- name: installing guildgate binary
copy:
remote_src: yes
src: "{{ tempfolder_1.path }}/build/usr/local/bin/guildgate"
dest: /usr/local/bin/
mode: '0755'
register: new_binary
- name: installing unit file
copy:
remote_src: yes
src: "{{ tempfolder_1.path }}/init/guildgate.service"
dest: /etc/systemd/system/guildgate.service
register: new_unit
- name: installing default templates
copy:
remote_src: yes
src: "{{ tempfolder_1.path}}/build/usr/local/share/guildgate/"
dest: /usr/local/share
- name: reload systemd with new unit
systemd:
daemon_reload: yes
when: new_unit.changed or new_binary.changed
- name: start service
systemd:
name: guildgate
state: restarted
when: new_binary.changed