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