Files

58 lines
1.8 KiB
YAML
Raw Permalink Normal View History

2026-09-14 22:24:01 -04:00
# code: language=ansible
- name: Get latest release of technitium from GitHub API
ansible.builtin.uri:
url: https://api.github.com/repos/TechnitiumSoftware/DnsServer/releases/latest
register: technitium_version_response
- name: Parse version from GitHub API response
ansible.builtin.set_fact:
technitium_version: "{{ technitium_version_response.json.tag_name }}"
technitium_version_numeric: "{{ technitium_version_response.json.tag_name | regex_replace('^v', '') }}"
- name: Debug technitium version
ansible.builtin.debug:
msg: |
Latest Technitium release version is {{ technitium_version }} ({{ technitium_version_numeric }})
- name: Get release hash
ansible.builtin.uri:
return_content: true
url: https://download.technitium.com/dns/archive/{{ technitium_version_numeric }}/DnsServerPortable.tar.gz.sha256
register: technitium_hash_response
- name: Debug release hash
ansible.builtin.debug:
var: technitium_hash_response.content
- name: Download release
ansible.builtin.get_url:
checksum: "sha256:{{ technitium_hash_response.content }}"
decompress: true
dest: /tmp/technitium_{{ technitium_version }}.tar
mode: '0644'
url: https://download.technitium.com/dns/archive/{{ technitium_version_numeric }}/DnsServerPortable.tar.gz
2026-09-14 23:04:02 -04:00
- name: Ensure target directory exists
ansible.builtin.file:
path: /opt/technitium/{{ technitium_version }}
group: root
mode: '0755'
owner: root
state: directory
- name: Extract release
ansible.builtin.unarchive:
dest: /opt/technitium/{{ technitium_version }}
group: root
mode: '0755'
owner: root
remote_src: true
src: /tmp/technitium_{{ technitium_version }}.tar
- name: Create symlink to latest release
ansible.builtin.file:
path: /opt/technitium/latest
src: /opt/technitium/{{ technitium_version }}
state: link