Compare commits

..

9 Commits

Author SHA1 Message Date
7012e1ea2b Separate enable and re-/start service for fine-control 2023-04-12 20:23:08 +02:00
13ebd48c5d Add register for task download 2023-04-12 20:22:34 +02:00
1a76b94a46 Add download-version 2023-04-12 14:58:43 +02:00
1b765689e6 Make sure daemon is reloaded before service-start 2023-04-12 14:50:14 +02:00
5b607df2de Add checks if var is set 2023-04-12 14:47:02 +02:00
521b76453a Add start to naming 2023-04-12 14:45:55 +02:00
7f503d983a Fix download-location 2023-04-12 14:45:43 +02:00
b143d9c848 Fix checks 2023-04-12 14:45:31 +02:00
f95bcbc38d change defaults 2023-04-12 14:44:10 +02:00
4 changed files with 23 additions and 10 deletions

View File

@ -3,10 +3,10 @@ wireguard_ipv6_converter:
# see https://github.com/Ruakij/wg-ipv6-converter#31-environment # see https://github.com/Ruakij/wg-ipv6-converter#31-environment
setup: setup:
interface: wt0 interface: wg0
ipv6_format: "" #ipv6_format: fc12::%02x%02x:%02x%02x/%d
filter_prefix: 100.100 #filter_prefix: 100.100
recheck_interval: 60s #recheck_interval: 60s
service: service:
bindTo: netbird.service #bindTo: netbird.service

View File

@ -1,9 +1,11 @@
- name: Get architecture - name: Get architecture
set_fact: set_fact:
arch: {{ 'amd64' if ansible_architecture == 'x86_64' elif 'amd64' if ansible_architecture == 'aarch64' }} arch: "{{ 'amd64' if ansible_architecture == 'x86_64' else 'arm64' }}"
versionUri: "{% if wireguard_ipv6_converter.version == 'latest' %}latest/download{% else %}download/{{ wireguard_ipv6_converter.version }}{% endif %}"
- name: Download binary - name: Download binary
get_url: get_url:
url: https://github.com/Ruakij/wg-ipv6-converter/releases/download/{{ wireguard_ipv6_converter.version }}/wg-ipv6-converter_{{ arch }} url: https://github.com/Ruakij/wg-ipv6-converter/releases/{{ versionUri }}/wg-ipv6-converter_{{ arch }}
dest: /usr/bin/local/wg-ipv6-converter dest: /usr/local/bin/wg-ipv6-converter
mode: "744" mode: "744"
register: deployDownload

View File

@ -2,11 +2,16 @@
ansible.builtin.template: ansible.builtin.template:
src: wg-ipv6-conv.service.jinja2 src: wg-ipv6-conv.service.jinja2
dest: /etc/systemd/system/wg-ipv6-converter_{{ wireguard_ipv6_converter.setup.interface }}.service dest: /etc/systemd/system/wg-ipv6-converter_{{ wireguard_ipv6_converter.setup.interface }}.service
register: service-file register: serviceFile
- name: Enable service - name: Enable service
ansible.builtin.service: ansible.builtin.service:
name: wg-ipv6-converter_{{ wireguard_ipv6_converter.setup.interface }} name: wg-ipv6-converter_{{ wireguard_ipv6_converter.setup.interface }}
state: '{{ 'restarted' if service-file.changed else 'started' }}' daemon-reload: true
enabled: true enabled: true
- name: Start service if interface exists already
ansible.builtin.service:
name: wg-ipv6-converter_{{ wireguard_ipv6_converter.setup.interface }}
state: "{{ 'restarted' if deployDownload.changed or serviceFile.changed else 'started' }}"
when: "wireguard_ipv6_converter.setup.interface in ansible_interfaces"

View File

@ -15,9 +15,15 @@ Restart=always
RestartSec=30 RestartSec=30
Environment="INTERFACE={{ wireguard_ipv6_converter.setup.interface }}" Environment="INTERFACE={{ wireguard_ipv6_converter.setup.interface }}"
{% if wireguard_ipv6_converter.setup.ipv6_format is defined %}
Environment="IPV6_FORMAT={{ wireguard_ipv6_converter.setup.ipv6_format }}" Environment="IPV6_FORMAT={{ wireguard_ipv6_converter.setup.ipv6_format }}"
{% endif %}
{% if wireguard_ipv6_converter.setup.filter_prefix is defined %}
Environment="FILTER_PREFIX={{ wireguard_ipv6_converter.setup.filter_prefix }}" Environment="FILTER_PREFIX={{ wireguard_ipv6_converter.setup.filter_prefix }}"
{% endif %}
{% if wireguard_ipv6_converter.setup.recheck_interval is defined %}
Environment="RECHECK_INTERVAL={{ wireguard_ipv6_converter.setup.recheck_interval }}" Environment="RECHECK_INTERVAL={{ wireguard_ipv6_converter.setup.recheck_interval }}"
{% endif %}
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target