First release

This commit is contained in:
Adrien Reslinger 2021-03-17 23:57:02 +01:00
parent 3a5194e45e
commit 5b8aa56d0f
Signed by: adrien
GPG key ID: DA7B27055C66D6DE
4 changed files with 86 additions and 0 deletions

54
tasks/main.yml Normal file
View file

@ -0,0 +1,54 @@
---
- name: Install lego
tags:
- lego
block:
- name: Check if lego is already installed
stat:
path: /usr/local/bin/lego
register: lego
check_mode: no
- name: Check local version installed
shell: set -o pipefail && lego --version | sed 's|lego version \([^ ,+]*\).*|\1|'
register: lego_locver
changed_when: false
check_mode: no
when:
- lego.stat.exists
- name: Check online version
shell: set -o pipefail && curl -s {{ lego_base_url }}/releases/latest | sed 's|.*tag/v\(.*\)".*|\1|'
register: lego_ver
changed_when: false
check_mode: no
- name: Make lego temporary directory
file:
path: /tmp/lego_install
state: directory
- name: Download lego
block:
- name: Retreive lego archive file and extract it to temporary directory
ansible.builtin.unarchive:
src: "{{ lego_dl_url }}/v{{ lego_ver.stdout }}/{{ lego_file }}"
dest: /tmp/lego_install
remote_src: yes
- name: Install lego binary from temporary directory
ansible.builtin.copy:
src: /tmp/lego_install/lego
dest: /usr/local/bin/lego
owner: root
group: root
mode: u=rwx,g=rx,o=rx
remote_src: yes
- name: Remove lego temporary directory
file:
path: /tmp/lego_install
state: absent
when:
- not lego.stat.exists or ( lego_locver.stdout != lego_ver.stdout )