🌱 Handle setup VPN manually if required

Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
This commit is contained in:
Ettore Di Giacinto
2022-12-07 19:47:00 +01:00
parent 5c5c432594
commit 1e56ddef74
2 changed files with 7 additions and 5 deletions

View File

@@ -49,7 +49,7 @@ func Bootstrap(e *pluggable.Event) pluggable.EventResponse {
// TODO: this belong to a systemd service that is started instead
kairosBlockisDefined := providerConfig.Kairos != nil
tokenNotDefined := (kairosBlockisDefined && providerConfig.Kairos.NetworkToken == "")
tokenNotDefined := ((kairosBlockisDefined && providerConfig.Kairos.NetworkToken == "") || !kairosBlockisDefined)
skipAuto := (kairosBlockisDefined && providerConfig.Kairos.SkipAuto)
if providerConfig.Kairos == nil && !providerConfig.K3s.Enabled && !providerConfig.K3sAgent.Enabled {

View File

@@ -77,9 +77,9 @@ func SetupAPI(apiAddress, rootDir string, start bool, c *providerConfig.Config)
}
func SetupVPN(instance, apiAddress, rootDir string, start bool, c *providerConfig.Config) error {
if c.Kairos == nil || c.Kairos.NetworkToken == "" {
return fmt.Errorf("no network token defined")
token := ""
if c.Kairos != nil && c.Kairos.NetworkToken != "" {
token = c.Kairos.NetworkToken
}
svc, err := services.EdgeVPN(instance, rootDir)
@@ -91,12 +91,14 @@ func SetupVPN(instance, apiAddress, rootDir string, start bool, c *providerConfi
apiAddress = strings.ReplaceAll(apiAddress, "http://", "")
vpnOpts := map[string]string{
"EDGEVPNTOKEN": c.Kairos.NetworkToken,
"API": "true",
"APILISTEN": apiAddress,
"DHCP": "true",
"DHCPLEASEDIR": "/usr/local/.kairos/lease",
}
if token != "" {
vpnOpts["EDGEVPNTOKEN"] = c.Kairos.NetworkToken
}
// Override opts with user-supplied
for k, v := range c.VPN {
vpnOpts[k] = v