Merge branch 'role_wireguard-ipv6-converter'
This commit is contained in:
		
						commit
						15ad7920d4
					
				@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					wireguard_ipv6_converter:
 | 
				
			||||||
 | 
					  version: latest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # see https://github.com/Ruakij/wg-ipv6-converter#31-environment
 | 
				
			||||||
 | 
					  setup:
 | 
				
			||||||
 | 
					    interface: wg0
 | 
				
			||||||
 | 
					    #ipv6_format: fc12::%02x%02x:%02x%02x/%d
 | 
				
			||||||
 | 
					    #filter_prefix: 100.100
 | 
				
			||||||
 | 
					    #recheck_interval: 60s
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  service:
 | 
				
			||||||
 | 
					    #bindTo: netbird.service
 | 
				
			||||||
							
								
								
									
										11
									
								
								wireguard-ipv6-converter/tasks/deploy.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								wireguard-ipv6-converter/tasks/deploy.yml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					- name: Get architecture
 | 
				
			||||||
 | 
					  set_fact:
 | 
				
			||||||
 | 
					    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
 | 
				
			||||||
 | 
					  get_url:
 | 
				
			||||||
 | 
					    url: https://github.com/Ruakij/wg-ipv6-converter/releases/{{ versionUri }}/wg-ipv6-converter_{{ arch }}
 | 
				
			||||||
 | 
					    dest: /usr/local/bin/wg-ipv6-converter
 | 
				
			||||||
 | 
					    mode: "744"
 | 
				
			||||||
 | 
					  register: deployDownload
 | 
				
			||||||
							
								
								
									
										3
									
								
								wireguard-ipv6-converter/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								wireguard-ipv6-converter/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					- import_tasks: ./deploy.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- import_tasks: ./setup-service.yml
 | 
				
			||||||
							
								
								
									
										17
									
								
								wireguard-ipv6-converter/tasks/setup-service.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								wireguard-ipv6-converter/tasks/setup-service.yml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					- 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: serviceFile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Enable service
 | 
				
			||||||
 | 
					  ansible.builtin.service:
 | 
				
			||||||
 | 
					    name: wg-ipv6-converter_{{ wireguard_ipv6_converter.setup.interface }}
 | 
				
			||||||
 | 
					    daemon-reload: 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"
 | 
				
			||||||
@ -0,0 +1,29 @@
 | 
				
			|||||||
 | 
					[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 }}"
 | 
				
			||||||
 | 
					{% if wireguard_ipv6_converter.setup.ipv6_format is defined %}
 | 
				
			||||||
 | 
					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 }}"
 | 
				
			||||||
 | 
					{% endif %}
 | 
				
			||||||
 | 
					{% if wireguard_ipv6_converter.setup.recheck_interval is defined %}
 | 
				
			||||||
 | 
					Environment="RECHECK_INTERVAL={{ wireguard_ipv6_converter.setup.recheck_interval }}"
 | 
				
			||||||
 | 
					{% endif %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Install]
 | 
				
			||||||
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user