fix: default proxmox ssh address from api url
This commit is contained in:
parent
fe0335442d
commit
ea732ebded
|
|
@ -115,6 +115,11 @@ func renderTerraformTFVars(cfg config.Config) string {
|
|||
builder.WriteString(fmt.Sprintf(" %q = %q\n", node, iface))
|
||||
}
|
||||
builder.WriteString("}\n")
|
||||
builder.WriteString("node_addresses = {\n")
|
||||
for node, addr := range cfg.Talos.Proxmox.NodeAddresses {
|
||||
builder.WriteString(fmt.Sprintf(" %q = %q\n", node, addr))
|
||||
}
|
||||
builder.WriteString("}\n")
|
||||
builder.WriteString(fmt.Sprintf("create_vlan_interface = %t\n", cfg.Talos.Cluster.CreateVLANInterface))
|
||||
builder.WriteString("image_cache_proxy = { enabled = false, ip = \"\", port = 3128 }\n")
|
||||
builder.WriteString("nodes = [\n")
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
package config
|
||||
|
||||
import "net/url"
|
||||
|
||||
type Config struct {
|
||||
WorkspaceDir string `yaml:"workspaceDir"`
|
||||
Git GitConfig `yaml:"git"`
|
||||
|
|
@ -55,6 +57,7 @@ type TalosProxmoxConfig struct {
|
|||
DefaultNode string `yaml:"defaultNode"`
|
||||
Pool string `yaml:"pool"`
|
||||
NodeInterfaces map[string]string `yaml:"nodeInterfaces"`
|
||||
NodeAddresses map[string]string `yaml:"nodeAddresses"`
|
||||
Insecure bool `yaml:"insecure"`
|
||||
}
|
||||
|
||||
|
|
@ -96,3 +99,11 @@ type TalosNetwork struct {
|
|||
Gateway string `yaml:"gateway,omitempty"`
|
||||
VLANID int `yaml:"vlanId"`
|
||||
}
|
||||
|
||||
func (c TalosProxmoxConfig) APIURLHost() string {
|
||||
parsed, err := url.Parse(c.APIURL)
|
||||
if err != nil || parsed.Hostname() == "" {
|
||||
return "192.168.0.15"
|
||||
}
|
||||
return parsed.Hostname()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,9 +55,11 @@ func RunBootstrapWizard(initial config.Config) (config.Config, error) {
|
|||
printNodes(discovered)
|
||||
cfg.Talos.Proxmox.DefaultNode = prompt(reader, "Default Proxmox node", fallback(cfg.Talos.Proxmox.DefaultNode, discovered[0].Name))
|
||||
cfg.Talos.Proxmox.NodeInterfaces = map[string]string{}
|
||||
cfg.Talos.Proxmox.NodeAddresses = map[string]string{}
|
||||
for _, node := range discovered {
|
||||
fallbackIface := first(node.Networks, "vmbr0")
|
||||
cfg.Talos.Proxmox.NodeInterfaces[node.Name] = prompt(reader, fmt.Sprintf("Primary interface for %s", node.Name), fallbackIface)
|
||||
cfg.Talos.Proxmox.NodeAddresses[node.Name] = prompt(reader, fmt.Sprintf("SSH/API hostname or IP for %s", node.Name), fallback(cfg.Talos.Proxmox.NodeAddresses[node.Name], cfg.Talos.Proxmox.APIURLHost()))
|
||||
}
|
||||
|
||||
cfg.Talos.Cluster.Name = prompt(reader, "Talos cluster name", fallback(cfg.Talos.Cluster.Name, "proxmox-talos-dev02-cluster"))
|
||||
|
|
@ -67,7 +69,7 @@ func RunBootstrapWizard(initial config.Config) (config.Config, error) {
|
|||
cfg.Talos.Cluster.DNSServers = promptList(reader, "DNS servers", fallbackList(cfg.Talos.Cluster.DNSServers, []string{"192.168.0.222", "1.1.1.1"}))
|
||||
cfg.Talos.Cluster.DiskStorage = prompt(reader, "Primary disk storage", fallback(cfg.Talos.Cluster.DiskStorage, firstStorageByCapability(discovered, storageSupportsDisk, "local-lvm")))
|
||||
cfg.Talos.Cluster.AdditionalStorage = prompt(reader, "Additional disk storage", fallback(cfg.Talos.Cluster.AdditionalStorage, cfg.Talos.Cluster.DiskStorage))
|
||||
cfg.Talos.Cluster.CreateVLANInterface = promptBool(reader, "Create VLAN interfaces", cfg.Talos.Cluster.CreateVLANInterface || !hasInitial(initial))
|
||||
cfg.Talos.Cluster.CreateVLANInterface = promptBool(reader, "Create VLAN interfaces", true)
|
||||
|
||||
latestTalos := talos.LatestVersion()
|
||||
cfg.Talos.Image.TalosVersion = talos.NormalizeVersion(prompt(reader, "Talos version", fallback(cfg.Talos.Image.TalosVersion, latestTalos)))
|
||||
|
|
|
|||
Loading…
Reference in a new issue