Fix Domain() to return BaseDomain instead of ServerURL hostname

Co-authored-by: kradalby <98431+kradalby@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2025-11-01 08:42:24 +00:00
parent abde3ef8b3
commit 43c91c8161
2 changed files with 9 additions and 12 deletions

View File

@@ -57,10 +57,10 @@ func TestMapResponseBuilder_WithCapabilityVersion(t *testing.T) {
}
func TestMapResponseBuilder_WithDomain(t *testing.T) {
domain := "test.example.com"
baseDomain := "internal.example.com"
cfg := &types.Config{
ServerURL: "https://test.example.com",
BaseDomain: domain,
ServerURL: "https://headscale.external.com",
BaseDomain: baseDomain,
}
mockState := &state.State{}
@@ -74,7 +74,8 @@ func TestMapResponseBuilder_WithDomain(t *testing.T) {
builder := m.NewMapResponseBuilder(nodeID).
WithDomain()
assert.Equal(t, domain, builder.resp.Domain)
// Domain should be the BaseDomain (internal tailnet domain), not ServerURL hostname
assert.Equal(t, baseDomain, builder.resp.Domain)
assert.False(t, builder.hasErrors())
}

View File

@@ -246,15 +246,11 @@ func validatePKCEMethod(method string) error {
return nil
}
// Domain returns the hostname/domain part of the ServerURL.
// If the ServerURL is not a valid URL, it returns the BaseDomain.
// Domain returns the base domain for the tailnet.
// This is the domain used for MagicDNS and displayed in Tailscale clients
// as the network name.
func (c *Config) Domain() string {
u, err := url.Parse(c.ServerURL)
if err != nil {
return c.BaseDomain
}
return u.Hostname()
return c.BaseDomain
}
// LoadConfig prepares and loads the Headscale configuration into Viper.