From 35e4bd323be8181bbb1b830d65d4e7229908ed6b Mon Sep 17 00:00:00 2001
From: kaiyou <dev@kaiyou.fr>
Date: Tue, 13 Jun 2023 16:58:39 +0200
Subject: [PATCH] Do not run discovery before vpn key is initialized

---
 services/discovery.go | 2 ++
 services/manager.go   | 1 +
 2 files changed, 3 insertions(+)

diff --git a/services/discovery.go b/services/discovery.go
index 1f3fdc4..741b345 100644
--- a/services/discovery.go
+++ b/services/discovery.go
@@ -8,6 +8,8 @@ import (
 
 var memberlist = &Unit{
 	Name: "memberlist",
+	// Depend on the vpn so the vpn key is properly populated before we start broadcasting any node metadata
+	Dependencies: []*Unit{vpn},
 	Run: func(u *Unit, c *Cluster, ctx context.Context) error {
 		node := u.Manager.State.node
 		ml := sml.New[HeptoMeta, HeptoState](node.Name, node.IP, node.Port, node.Anchors, c.settings.Key, c.settings.Logger)
diff --git a/services/manager.go b/services/manager.go
index e3fc0c5..df888d0 100644
--- a/services/manager.go
+++ b/services/manager.go
@@ -98,6 +98,7 @@ func NewManager(settings *ClusterSettings, node *NodeSettings, logger logr.Logge
 			PublicIP: node.IP,
 			Role:     node.Role,
 			VpnIP:    networking.NodeAddress.IP,
+			// Vpn key is filled by the wireguard service
 		},
 		nodes: []*HeptoMeta{},
 		state: &HeptoState{
-- 
GitLab