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

12
.drone.yml Normal file
View file

@ -0,0 +1,12 @@
---
kind: pipeline
type: kubernetes
name: default
steps:
- name: lint
image: quay.io/adrilinux/ansible:latest
commands:
- ansible-lint ./
# - "find . -maxdepth 1 -name '*.yml' | sort | grep -v '.drone.yml' | xargs ansible-playbook --syntax-check --list-tasks"
# - "find . -maxdepth 1 -name '*.yml' | sort | grep -v '.drone.yml' | xargs ansible-lint"

4
defaults/main.yml Normal file
View file

@ -0,0 +1,4 @@
---
lego_base_url: "https://github.com/go-acme/lego"
lego_dl_url: "{{ lego_base_url }}/releases/download"
lego_file: "lego_v{{ lego_ver.stdout }}_{{ ansible_system | lower }}_{{ ansible_machine | regex_replace('x86_64','amd64') }}.tar.gz"

16
meta/main.yml Normal file
View file

@ -0,0 +1,16 @@
galaxy_info:
author: Adrien Reslinger
description: Install Lego
company: Personnal
min_ansible_version: 2.9
galaxy_tags: []
license: GPL2
platforms:
- name: CentOS
version:
- 7
- 8
- name: RedHat
version:
- 7
- 8

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 )