From 619ae333efaaad6df7bf8fa37c21ec25f6d45498 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Th=C3=A9o?= <theo@le-filament.com>
Date: Thu, 19 Jan 2023 17:06:08 +0100
Subject: [PATCH] feat: enable IPv6

---
 tasks/main.yml            | 14 ++++++++------
 templates/51-ipv6.yaml.j2 | 14 ++++++++++++++
 2 files changed, 22 insertions(+), 6 deletions(-)
 create mode 100644 templates/51-ipv6.yaml.j2

diff --git a/tasks/main.yml b/tasks/main.yml
index 6f06e18..0b75585 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -178,12 +178,14 @@
       export TMOUT
   when: ansible_os_family == "RedHat"
 
-- name: disable ipv6
-  sysctl:
-    name: "{{ item }}"
-    value: '1'
-    sysctl_set: true
-  with_items: "{{ sysctl_disable_ipv6_keys }}"
+- name: setup ipv6
+  template:
+    src: 51-ipv6.yaml.j2
+    dest: /etc/netplan/51-ipv6.yaml
+    owner: root
+    group: root
+    mode: '0644'
+  when: ipv6_address is defined and inventory_hostname in groups['manual_ipv6']
 
 - name: set default path
   template:
diff --git a/templates/51-ipv6.yaml.j2 b/templates/51-ipv6.yaml.j2
new file mode 100644
index 0000000..78604e1
--- /dev/null
+++ b/templates/51-ipv6.yaml.j2
@@ -0,0 +1,14 @@
+network:
+    version: 2
+    ethernets:
+        {{ ansible_default_ipv4.interface }}:
+            dhcp6: no
+            match:
+              name: {{ ansible_default_ipv4.interface }}
+            addresses:
+              - {{ ipv6_address }}
+            routes:
+              - to: {{ ipv6_gateway }}
+                scope: link
+              - to: ::/0
+                via: {{ ipv6_gateway }}
-- 
GitLab