Random suffix only on collision.

0.16.0 introduced random suffixes to all machine given names
(DNS hostnames) regardless of collisions within a namespace.
This commit brings Headscale more inline with Tailscale by only
adding a suffix if the hostname will collide within the namespace.

The suffix generation differs from Tailscale.
See https://tailscale.com/kb/1098/machine-names/
This commit is contained in:
= 2022-08-31 12:41:01 +01:00 committed by Kristoffer Dalby
parent 98f5b7f638
commit 2aebd2927d
No known key found for this signature in database
5 changed files with 154 additions and 49 deletions

View file

@ -1,4 +1,4 @@
//nolint
// nolint
package headscale
import (
@ -479,7 +479,7 @@ func (api headscaleV1APIServer) DebugCreateMachine(
Hostname: "DebugTestMachine",
}
givenName, err := api.h.GenerateGivenName(request.GetName())
givenName, err := api.h.GenerateGivenName(namespace.Name, request.GetKey(), request.GetName())
if err != nil {
return nil, err
}