Initial role-data

role_wireguard-ipv6-converter
Ruakij 2 years ago
parent f2c86dc22d
commit 248a3c08b8

@ -0,0 +1,12 @@
wireguard_ipv6_converter:
version: latest
# see https://github.com/Ruakij/wg-ipv6-converter#31-environment
setup:
interface: wt0
ipv6_format: ""
filter_prefix: 100.100
recheck_interval: 60s
service:
bindTo: netbird.service

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

@ -0,0 +1,3 @@
- import_tasks: ./deploy.yml
- import_tasks: ./setup-service.yml

@ -0,0 +1,12 @@
- name: Deploy service
ansible.builtin.template:
src: wg-ipv6-conv.service.jinja2
dest: /etc/systemd/system/wg-ipv6-converter_{{ wireguard_ipv6_converter.setup.interface }}.service
register: service-file
- name: Enable service
ansible.builtin.service:
name: wg-ipv6-converter_{{ wireguard_ipv6_converter.setup.interface }}
state: '{{ 'restarted' if service-file.changed else 'started' }}'
enabled: true

@ -0,0 +1,23 @@
[Unit]
Description=WireGuard IPv6 converter for {{ wireguard_ipv6_converter.setup.interface }}
{% if wireguard_ipv6_converter.service.bindTo is defined %}
BindsTo={{ wireguard_ipv6_converter.service.bindTo }}
After={{ wireguard_ipv6_converter.service.bindTo }}
{% endif %}
[Service]
Type=simple
{% if wireguard_ipv6_converter.service.bindTo is defined %}
ExecStartPre=/bin/sleep 10
{% endif %}
ExecStart=/usr/local/bin/wg-ipv6-converter
Restart=always
RestartSec=30
Environment="INTERFACE={{ wireguard_ipv6_converter.setup.interface }}"
Environment="IPV6_FORMAT={{ wireguard_ipv6_converter.setup.ipv6_format }}"
Environment="FILTER_PREFIX={{ wireguard_ipv6_converter.setup.filter_prefix }}"
Environment="RECHECK_INTERVAL={{ wireguard_ipv6_converter.setup.recheck_interval }}"
[Install]
WantedBy=multi-user.target
Loading…
Cancel
Save