mirror of
https://github.com/kairos-io/provider-kairos.git
synced 2025-09-04 08:27:15 +00:00
🌱 Handle setup VPN manually if required
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
This commit is contained in:
@@ -49,7 +49,7 @@ func Bootstrap(e *pluggable.Event) pluggable.EventResponse {
|
|||||||
// TODO: this belong to a systemd service that is started instead
|
// TODO: this belong to a systemd service that is started instead
|
||||||
|
|
||||||
kairosBlockisDefined := providerConfig.Kairos != nil
|
kairosBlockisDefined := providerConfig.Kairos != nil
|
||||||
tokenNotDefined := (kairosBlockisDefined && providerConfig.Kairos.NetworkToken == "")
|
tokenNotDefined := ((kairosBlockisDefined && providerConfig.Kairos.NetworkToken == "") || !kairosBlockisDefined)
|
||||||
skipAuto := (kairosBlockisDefined && providerConfig.Kairos.SkipAuto)
|
skipAuto := (kairosBlockisDefined && providerConfig.Kairos.SkipAuto)
|
||||||
|
|
||||||
if providerConfig.Kairos == nil && !providerConfig.K3s.Enabled && !providerConfig.K3sAgent.Enabled {
|
if providerConfig.Kairos == nil && !providerConfig.K3s.Enabled && !providerConfig.K3sAgent.Enabled {
|
||||||
|
@@ -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 {
|
func SetupVPN(instance, apiAddress, rootDir string, start bool, c *providerConfig.Config) error {
|
||||||
|
token := ""
|
||||||
if c.Kairos == nil || c.Kairos.NetworkToken == "" {
|
if c.Kairos != nil && c.Kairos.NetworkToken != "" {
|
||||||
return fmt.Errorf("no network token defined")
|
token = c.Kairos.NetworkToken
|
||||||
}
|
}
|
||||||
|
|
||||||
svc, err := services.EdgeVPN(instance, rootDir)
|
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://", "")
|
apiAddress = strings.ReplaceAll(apiAddress, "http://", "")
|
||||||
|
|
||||||
vpnOpts := map[string]string{
|
vpnOpts := map[string]string{
|
||||||
"EDGEVPNTOKEN": c.Kairos.NetworkToken,
|
|
||||||
"API": "true",
|
"API": "true",
|
||||||
"APILISTEN": apiAddress,
|
"APILISTEN": apiAddress,
|
||||||
"DHCP": "true",
|
"DHCP": "true",
|
||||||
"DHCPLEASEDIR": "/usr/local/.kairos/lease",
|
"DHCPLEASEDIR": "/usr/local/.kairos/lease",
|
||||||
}
|
}
|
||||||
|
if token != "" {
|
||||||
|
vpnOpts["EDGEVPNTOKEN"] = c.Kairos.NetworkToken
|
||||||
|
}
|
||||||
// Override opts with user-supplied
|
// Override opts with user-supplied
|
||||||
for k, v := range c.VPN {
|
for k, v := range c.VPN {
|
||||||
vpnOpts[k] = v
|
vpnOpts[k] = v
|
||||||
|
Reference in New Issue
Block a user