tailscale/util
Tom Proctor 01a7726cf7
cmd/containerboot,cmd/k8s-operator: enable IPv6 for fqdn egress proxies (#12577)
cmd/containerboot,cmd/k8s-operator: enable IPv6 for fqdn egress proxies

Don't skip installing egress forwarding rules for IPv6 (as long as the host
supports IPv6), and set headless services `ipFamilyPolicy` to
`PreferDualStack` to optionally enable both IP families when possible. Note
that even with `PreferDualStack` set, testing a dual-stack GKE cluster with
the default DNS setup of kube-dns did not correctly set both A and
AAAA records for the headless service, and instead only did so when
switching the cluster DNS to Cloud DNS. For both IPv4 and IPv6 to work
simultaneously in a dual-stack cluster, we require headless services to
return both A and AAAA records.

If the host doesn't support IPv6 but the FQDN specified only has IPv6
addresses available, containerboot will exit with error code 1 and an
error message because there is no viable egress route.

Fixes #12215

Signed-off-by: Tom Proctor <tomhjp@users.noreply.github.com>
2024-07-05 12:21:48 +01:00
..
cache util/cache: fix missing interface methods (#11275) 2024-02-27 23:03:49 -05:00
cibuild all: update copyright and license headers 2023-01-27 15:36:29 -08:00
clientmetric util/clientmetric: allow client metric values to be provided by a function 2023-04-05 17:21:16 -07:00
cloudenv all: use math/rand/v2 more 2024-06-05 15:24:04 -07:00
cmpver util/cmpver: add Less/LessEq helper funcs 2024-03-05 16:57:04 +00:00
codegen all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
cstruct all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
ctxkey all: use reflect.TypeFor now available in Go 1.22 (#11078) 2024-02-08 17:34:22 -08:00
deephash util/deephash: fix test regression on 32-bit 2024-06-19 12:25:53 -07:00
dirwalk all: use tstest.Replace more 2023-03-04 12:24:55 -08:00
dnsname all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
execqueue control/controlclient,util/execqueue: extract execqueue into a package 2024-01-18 12:08:13 -08:00
expvarx all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
fastuuid all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
goroutines util/goroutines: let ScrubbedGoroutineDump get only current stack 2023-06-23 12:50:45 -07:00
groupmember util/groupmember: fail earlier if group doesn't exist, use slices.Contains 2023-11-01 19:23:16 -07:00
hashx all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
httphdr util/httphdr: add new package for parsing HTTP headers (#9797) 2023-10-13 15:38:22 -07:00
httpm util/httpm: don't run test if .git doesn't exist 2023-11-22 12:09:59 -05:00
jsonutil all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
limiter all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
lineread all: update copyright and license headers 2023-01-27 15:36:29 -08:00
linuxfw cmd/containerboot,cmd/k8s-operator: enable IPv6 for fqdn egress proxies (#12577) 2024-07-05 12:21:48 +01:00
lru util/lru: add Clear method 2024-05-17 20:01:40 -04:00
mak various: add golangci-lint, fix issues (#7905) 2023-04-17 18:38:24 -04:00
multierr all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
must all: update copyright and license headers 2023-01-27 15:36:29 -08:00
nocasemaps all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
osdiag ipn/local: log OS-specific diagnostic information as JSON (#11700) 2024-04-22 16:45:01 -07:00
osshare all: update copyright and license headers 2023-01-27 15:36:29 -08:00
osuser util/osuser: add unit test for parseGroupIds 2024-04-23 08:54:17 -05:00
pidowner all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
pool util/pool: add package for storing and using a pool of items 2024-05-24 14:11:19 -04:00
precompress all: update copyright and license headers 2023-01-27 15:36:29 -08:00
progresstracking ipn/localapi: add support for multipart POST to file-put 2024-03-27 08:53:52 -05:00
quarantine all: update copyright and license headers 2023-01-27 15:36:29 -08:00
race all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
racebuild all: update copyright and license headers 2023-01-27 15:36:29 -08:00
rands wgengine/magicsock: use math/rands/v2 2024-06-05 15:57:27 -07:00
reload all: use math/rand/v2 more 2024-06-05 15:24:04 -07:00
ringbuffer all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
set util/set: add Of variant of SetOf that takes variadic parameter 2024-05-05 21:14:28 -07:00
singleflight util/singleflight: add DoChanContext 2024-06-10 18:38:27 -04:00
slicesx all: use math/rand/v2 more 2024-06-05 15:24:04 -07:00
syspolicy xcode/iOS: support serial number collection via MDM on iOS (#11429) 2024-06-14 10:59:40 -07:00
sysresources util/sysresources, magicsock: scale DERP buffer based on system memory 2023-04-03 17:14:14 -04:00
systemd all: update copyright and license headers 2023-01-27 15:36:29 -08:00
testenv util/testenv: add new package to hold InTest 2023-08-08 19:51:44 -06:00
topk all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
truncate util/truncate: support []byte as well (#11614) 2024-04-04 14:38:16 -07:00
uniq all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
vizerror util/vizerror: add As function to get wrapped Error 2023-02-01 14:39:13 -08:00
winutil util/winutil/s4u: fix incorrect token type specified in s4u Login 2024-06-26 14:28:56 -06:00
zstdframe all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00