Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9918859705 |
@@ -51,12 +51,23 @@ func (m *Master) Deploy(ctx context.Context, req *mcpv1.MasterDeployRequest) (*m
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
// Parse the node's Tailnet IP from its address (host:port).
|
||||
// Resolve the node's address to an IP for DNS registration.
|
||||
// Node addresses may be Tailscale DNS names (e.g., rift.scylla-hammerhead.ts.net:9444)
|
||||
// but MCNS needs an IP address for A records.
|
||||
nodeHost, _, err := net.SplitHostPort(node.Address)
|
||||
if err != nil {
|
||||
resp.Error = fmt.Sprintf("invalid node address %q: %v", node.Address, err)
|
||||
return resp, nil
|
||||
}
|
||||
// If nodeHost is not an IP, resolve it.
|
||||
if net.ParseIP(nodeHost) == nil {
|
||||
ips, lookupErr := net.LookupHost(nodeHost)
|
||||
if lookupErr != nil || len(ips) == 0 {
|
||||
m.Logger.Warn("cannot resolve node address", "host", nodeHost, "err", lookupErr)
|
||||
} else {
|
||||
nodeHost = ips[0]
|
||||
}
|
||||
}
|
||||
|
||||
// Step 2: Forward deploy to the agent.
|
||||
client, err := m.Pool.Get(nodeName)
|
||||
|
||||
Reference in New Issue
Block a user