createNode: add failover solution to get K3S_URL value

This commit is contained in:
iwilltry42 2020-05-11 11:32:00 +02:00
parent a3cd56cfee
commit ee8fe0bb35
No known key found for this signature in database
GPG Key ID: 7BA57AD1CFF16110

View File

@ -25,6 +25,7 @@ package cluster
import (
"bytes"
"context"
"fmt"
"strings"
"time"
@ -88,6 +89,21 @@ func AddNodeToCluster(runtime runtimes.Runtime, node *k3d.Node, cluster *k3d.Clu
log.Debugf("Resulting node %+v", node)
k3sURLFound := false
for _, envVar := range node.Env {
if strings.HasPrefix(envVar, "K3S_URL") {
k3sURLFound = true
break
}
}
if !k3sURLFound {
if url, ok := node.Labels["k3d.cluster.url"]; ok {
node.Env = append(node.Env, fmt.Sprintf("K3S_URL=%s", url))
} else [
log.Warnln("Failed to find K3S_URL value!")
]
}
if err := CreateNode(node, runtime); err != nil {
return err
}