First release
This commit is contained in:
parent
3a5194e45e
commit
5b8aa56d0f
4 changed files with 86 additions and 0 deletions
12
.drone.yml
Normal file
12
.drone.yml
Normal 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
4
defaults/main.yml
Normal 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
16
meta/main.yml
Normal 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
54
tasks/main.yml
Normal 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 )
|
||||||
Loading…
Add table
Add a link
Reference in a new issue