util/cloudenv: add Azure support & DNS IPs

And rewrite cloud detection to try to do only zero or one metadata
discovery request for all clouds, only doing a first (or second) as
confidence increases. Work remains for Windows, but a start.

And add Cloud to tailcfg.Hostinfo, which helped with testing using
"tailcfg debug hostinfo".

Updates #4983 (Linux only)
Updates #4984

Change-Id: Ib03337089122ce0cb38c34f724ba4b4812bc614e
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick
2022-06-29 22:58:44 -07:00
committed by Brad Fitzpatrick
parent ec649e707f
commit 6b71568eb7
10 changed files with 118 additions and 109 deletions

View File

@@ -18,6 +18,7 @@ import (
"go4.org/mem"
"tailscale.com/tailcfg"
"tailscale.com/types/opt"
"tailscale.com/util/cloudenv"
"tailscale.com/util/dnsname"
"tailscale.com/util/lineread"
"tailscale.com/version"
@@ -38,6 +39,7 @@ func New() *tailcfg.Hostinfo {
Package: packageTypeCached(),
GoArch: runtime.GOARCH,
DeviceModel: deviceModel(),
Cloud: string(cloudenv.Get()),
}
}