algo/roles/dns_encryption/tasks/freebsd.yml
2018-04-29 10:32:10 -07:00

51 lines
1.6 KiB
YAML

---
- name: FreeBSD | Ensure that the required directories exist
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ config_prefix|default('/') }}etc/dnscrypt-proxy/"
- /usr/dnscrypt-proxy/
- name: Required tools installed
package:
name: gtar
- name: FreeBSD | Retrive the latest versions
uri:
url: https://api.github.com/repos/jedisct1/dnscrypt-proxy/releases/latest
register: dnscrypt_proxy_latest
ignore_errors: true
- name: FreeBSD | Set default dnscrypt-proxy assets
set_fact:
dnscrypt_proxy_latest:
json:
assets:
- name: "dnscrypt-proxy-freebsd_amd64-{{ dnscrypt_proxy_version }}.tar.gz"
browser_download_url: "https://github.com/jedisct1/dnscrypt-proxy/releases/download/{{ dnscrypt_proxy_version }}/dnscrypt-proxy-freebsd_amd64-{{ dnscrypt_proxy_version }}.tar.gz"
when: dnscrypt_proxy_latest.failed
- name: FreeBSD | Download the latest archive
get_url:
url: "{{ item['browser_download_url'] }}"
dest: "/tmp/dnscrypt-proxy-freebsd_amd64-{{ dnscrypt_proxy_version }}.tar.gz"
mode: '0755'
force: true
with_items: "{{ dnscrypt_proxy_latest['json']['assets'] }}"
no_log: true
when: '"freebsd_amd64" in item.name and not item.name.endswith("minisig")'
notify: restart dnscrypt-proxy
- name: FreeBSD | Extract the latest archive
unarchive:
remote_src: true
src: /tmp/dnscrypt-proxy-freebsd_amd64-{{ dnscrypt_proxy_version }}.tar.gz
dest: /usr/dnscrypt-proxy
- name: FreeBSD | Configure rc script
copy:
src: rc.dnscrypt-proxy.sh
dest: /usr/local/etc/rc.d/dnscrypt-proxy
mode: "0755"
notify: restart dnscrypt-proxy