36 lines
1.1 KiB
YAML
36 lines
1.1 KiB
YAML
---
|
|
- name: get latest easy-rsa release info
|
|
ansible.builtin.uri:
|
|
url: https://api.github.com/repos/OpenVPN/easy-rsa/releases/latest
|
|
return_content: true
|
|
register: easyrsa_release
|
|
run_once: true
|
|
check_mode: false
|
|
|
|
- name: set current easy-rsa version
|
|
ansible.builtin.set_fact:
|
|
easyrsa_version: "{{ easyrsa_release.json.tag_name | replace('v', '') }}"
|
|
easyrsa_asset_url: "{{ easyrsa_release.json.assets | selectattr('name', 'search', 'EasyRSA.*\\.tgz') | map(attribute='browser_download_url') | first }}"
|
|
|
|
- name: check easy-rsa installed version
|
|
ansible.builtin.command: /opt/easy-rsa/easyrsa version
|
|
register: easyrsa_current_version
|
|
changed_when: false
|
|
failed_when: false
|
|
|
|
- name: ensure easy-rsa directory exists
|
|
ansible.builtin.file:
|
|
path: /opt/easy-rsa
|
|
state: directory
|
|
mode: '0755'
|
|
check_mode: false
|
|
|
|
- name: update easy-rsa
|
|
ansible.builtin.unarchive:
|
|
src: "{{ easyrsa_asset_url }}"
|
|
dest: /opt/easy-rsa
|
|
remote_src: true
|
|
extra_opts:
|
|
- --strip-components=1
|
|
when: easyrsa_version not in (easyrsa_current_version.stdout | default(''))
|