tailscale/cmd
Tom Proctor 8d84720edb
cmd/k8s-operator: update ProxyGroup config Secrets instead of patch (#15353)
There was a flaky failure case where renaming a TLS hostname for an
ingress might leave the old hostname dangling in tailscaled config. This
happened when the proxygroup reconciler loop had an outdated resource
version of the config Secret in its cache after the
ingress-pg-reconciler loop had very recently written it to delete the
old hostname. As the proxygroup reconciler then did a patch, there was
no conflict and it reinstated the old hostname.

This commit updates the patch to an update operation so that if the
resource version is out of date it will fail with an optimistic lock
error. It also checks for equality to reduce the likelihood that we make
the update API call in the first place, because most of the time the
proxygroup reconciler is not even making an update to the Secret in the
case that the hostname has changed.

Updates tailscale/corp#24795

Change-Id: Ie23a97440063976c9a8475d24ab18253e1f89050
Signed-off-by: Tom Proctor <tomhjp@users.noreply.github.com>
2025-03-19 13:49:36 +00:00
..
addlicense all: fix golangci-lint errors 2025-01-07 13:05:37 -08:00
build-webclient client/web: precompress assets 2023-12-07 20:57:31 -05:00
checkmetrics cmd/checkmetrics: add command for checking metrics against kb 2024-12-02 10:30:46 +01:00
cloner cmd/cloner, cmd/viewer, util/codegen: add support for aliases of cloneable types 2024-08-23 15:43:40 -05:00
connector-gen cmd/connector-gen: add helper tool for wide app connector configurations 2023-12-15 09:29:42 -08:00
containerboot cmd/containerboot: manage HA Ingress TLS certs from containerboot (#15303) 2025-03-14 17:33:08 +00:00
derper tsweb: split promvarz into an optional dependency 2025-03-18 16:57:04 -07:00
derpprobe tsweb: split promvarz into an optional dependency 2025-03-18 16:57:04 -07:00
dist release/dist/qnap: add qnap target builder 2024-04-22 17:43:28 -04:00
get-authkey cmd,tsnet,internal/client: create internal shim to deprecated control plane API 2025-02-18 10:23:04 -06:00
gitops-pusher cmd/gitops-pusher: log error details when unable to fetch ACL ETag 2025-02-18 14:29:14 -06:00
hello cmd/hello: display native ipv4 (#15191) 2025-03-04 08:47:35 -07:00
k8s-nameserver cmd/k8s-nameserver: fix AAAA record query response (#12412) 2024-06-10 17:57:22 +01:00
k8s-operator cmd/k8s-operator: update ProxyGroup config Secrets instead of patch (#15353) 2025-03-19 13:49:36 +00:00
mkmanifest cmd/mkmanifest, cmd/tailscale, cmd/tailscaled: remove Windows arm32 resources from OSS 2023-03-01 15:45:12 -07:00
mkpkg go.mod: upgrade nfpm to v2 (#8786) 2023-08-03 13:00:45 -07:00
mkversion version/mkversion: open-source version generation logic 2023-02-18 05:21:05 +00:00
nardump all: update copyright and license headers 2023-01-27 15:36:29 -08:00
natc cmd/natc: error and log when IP range is exhausted 2025-03-10 10:20:22 -07:00
netlogfmt all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
nginx-auth tailcfg,all: add and use Node.IsTagged() 2023-03-13 08:44:25 -07:00
pgproxy all: use new LocalAPI client package location 2025-02-05 14:41:42 -08:00
printdep cmd/printdep: print correct toolchain URL 2023-02-11 17:57:36 +00:00
proxy-to-grafana cmd/proxy-to-grafana: support setting Grafana role via grants 2025-03-18 07:26:04 +00:00
sniproxy all: use new LocalAPI client package location 2025-02-05 14:41:42 -08:00
speedtest all: update copyright and license headers 2023-01-27 15:36:29 -08:00
ssh-auth-none-demo ssh,tempfork/gliderlabs/ssh: replace github.com/tailscale/golang-x-crypto/ssh with golang.org/x/crypto/ssh 2025-01-31 16:36:39 -06:00
stunc cmd/stunc: enforce read timeout deadline (#14309) 2024-12-06 14:27:52 -05:00
stund tsweb: split promvarz into an optional dependency 2025-03-18 16:57:04 -07:00
stunstamp cmd/stunstamp: add protocol context to timeout logs (#13422) 2024-09-09 18:42:13 -07:00
sync-containers all: adjust some build tags for plan9 2023-08-24 15:42:35 -07:00
systray cmd/systray: add cmd/systray back as a small client/systray wrapper 2025-01-06 16:49:34 -08:00
tailscale tsweb: split promvarz into an optional dependency 2025-03-18 16:57:04 -07:00
tailscaled tsweb: split promvarz into an optional dependency 2025-03-18 16:57:04 -07:00
testcontrol all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
testwrapper cmd/testwrapper: print failed tests preventing retry (#15270) 2025-03-13 14:21:29 +00:00
tl-longchain all: use new LocalAPI client package location 2025-02-05 14:41:42 -08:00
tsconnect go.toolchain.branch: update to Go 1.24 (#15016) 2025-02-19 10:55:49 -08:00
tsidp cmd/tsidp: allow CORS requests to openid-configuration (#15229) 2025-03-11 13:10:22 -07:00
tsshd all: update copyright and license headers 2023-01-27 15:36:29 -08:00
tta all: use new LocalAPI client package location 2025-02-05 14:41:42 -08:00
viewer cmd/viewer,all: consistently use "read-only" instead of "readonly" 2025-01-14 08:26:56 -08:00
vnet tstest/natlab/vnet: add start of IPv6 support 2024-08-24 18:02:38 -07:00
xdpderper tsweb: split promvarz into an optional dependency 2025-03-18 16:57:04 -07:00