Browse Source

cmd/k8s-operator: drop trailing dot in tagged node name

Also update tailcfg docs.

Updates #5055

Signed-off-by: Maisem Ali <[email protected]>
Maisem Ali 3 years ago
parent
commit
c87782ba9d
2 changed files with 7 additions and 2 deletions
  1. 1 1
      cmd/k8s-operator/proxy.go
  2. 6 1
      tailcfg/tailcfg.go

+ 1 - 1
cmd/k8s-operator/proxy.go

@@ -88,7 +88,7 @@ func runAuthProxy(s *tsnet.Server, rt http.RoundTripper, logf logger.Logf) {
 				if who.Node.IsTagged() {
 					// Use the nodes FQDN as the username, and the nodes tags as the groups.
 					// "Impersonate-Group" requires "Impersonate-User" to be set.
-					r.Header.Set("Impersonate-User", who.Node.Name)
+					r.Header.Set("Impersonate-User", strings.TrimSuffix(who.Node.Name, "."))
 					for _, tag := range who.Node.Tags {
 						r.Header.Add("Impersonate-Group", tag)
 					}

+ 6 - 1
tailcfg/tailcfg.go

@@ -183,7 +183,12 @@ func (emptyStructJSONSlice) UnmarshalJSON([]byte) error { return nil }
 type Node struct {
 	ID       NodeID
 	StableID StableNodeID
-	Name     string // DNS
+
+	// Name is the FQDN of the node.
+	// It is also the MagicDNS name for the node.
+	// It has a trailing dot.
+	// e.g. "host.tail-scale.ts.net."
+	Name string
 
 	// User is the user who created the node. If ACL tags are in
 	// use for the node then it doesn't reflect the ACL identity