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

@ -32,7 +32,7 @@ func TestHostinfoEqual(t *testing.T) {
"ShieldsUp", "ShareeNode",
"GoArch",
"RoutableIPs", "RequestTags",
"Services", "NetInfo", "SSH_HostKeys",
"Services", "NetInfo", "SSH_HostKeys", "Cloud",
}
if have := fieldsOf(reflect.TypeOf(Hostinfo{})); !reflect.DeepEqual(have, hiHandles) {
t.Errorf("Hostinfo.Equal check might be out of sync\nfields: %q\nhandled: %q\n",