You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/cmd/k8s-operator
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>
10 months ago
..
deploy cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 10 months ago
e2e cmd,tsnet,internal/client: create internal shim to deprecated control plane API 11 months ago
generate cmd/k8s-operator,k8s-operator: add ProxyGroup CRD (#13591) 1 year ago
connector.go cmd/k8s-operator: don't error for transient failures (#14073) 1 year ago
connector_test.go go.{mod,sum},cmd/{k8s-operator,derper,stund}/depaware.txt: bump kube deps (#14601) 12 months ago
depaware.txt tsweb: split promvarz into an optional dependency 10 months ago
dnsrecords.go cmd/k8s-operator: don't error for transient failures (#14073) 1 year ago
dnsrecords_test.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 10 months ago
egress-eps.go cmd/{k8s-operator,containerboot},kube: ensure egress ProxyGroup proxies don't terminate while cluster traffic is still routed to them (#14436) 11 months ago
egress-eps_test.go go.{mod,sum},cmd/{k8s-operator,derper,stund}/depaware.txt: bump kube deps (#14601) 12 months ago
egress-pod-readiness.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 10 months ago
egress-pod-readiness_test.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 10 months ago
egress-services-readiness.go cmd/k8s-operator: check that cluster traffic is routed to egress ProxyGroup Pod before marking it as ready (#14792) 11 months ago
egress-services-readiness_test.go go.{mod,sum},cmd/{k8s-operator,derper,stund}/depaware.txt: bump kube deps (#14601) 12 months ago
egress-services.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 10 months ago
egress-services_test.go cmd/{k8s-operator,containerboot},kube: ensure egress ProxyGroup proxies don't terminate while cluster traffic is still routed to them (#14436) 11 months ago
ingress-for-pg.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 10 months ago
ingress-for-pg_test.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 10 months ago
ingress.go cmd/k8s-operator: ensure HA Ingress can operate in multicluster mode. (#15157) 10 months ago
ingress_test.go go.{mod,sum},cmd/{k8s-operator,derper,stund}/depaware.txt: bump kube deps (#14601) 12 months ago
metrics_resources.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 10 months ago
nameserver.go cmd/k8s-operator: don't error for transient failures (#14073) 1 year ago
nameserver_test.go go.{mod,sum},cmd/{k8s-operator,derper,stund}/depaware.txt: bump kube deps (#14601) 12 months ago
operator.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 10 months ago
operator_test.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 10 months ago
proxy.go all: use new LocalAPI client package location 11 months ago
proxy_test.go cmd/k8s-operator,ssh/tailssh,tsnet: optionally record 'kubectl exec' sessions via Kubernetes operator's API server proxy (#12274) 2 years ago
proxyclass.go cmd/k8s-operator,k8s-operator: allow users to set custom labels for the optional ServiceMonitor (#14475) 1 year ago
proxyclass_test.go go.{mod,sum},cmd/{k8s-operator,derper,stund}/depaware.txt: bump kube deps (#14601) 12 months ago
proxygroup.go cmd/k8s-operator: update ProxyGroup config Secrets instead of patch (#15353) 10 months ago
proxygroup_specs.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 10 months ago
proxygroup_test.go cmd/k8s-operator: update ProxyGroup config Secrets instead of patch (#15353) 10 months ago
sts.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 10 months ago
sts_test.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 10 months ago
svc.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 10 months ago
testutils_test.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 10 months ago
tsclient.go client/tailscale,cmd/k8s-operator,internal/client/tailscale: move VIP service client methods into internal control client 11 months ago
tsrecorder.go cmd/k8s-operator: wait for VIPService before updating HA Ingress status (#15343) 10 months ago
tsrecorder_specs.go cmd/k8s-operator,kube/kubeclient,docs/k8s: update rbac to emit events + small fixes (#14164) 1 year ago
tsrecorder_specs_test.go cmd/k8s-operator,k8s-operator,kube: Add TSRecorder CRD + controller (#13299) 1 year ago
tsrecorder_test.go go.{mod,sum},cmd/{k8s-operator,derper,stund}/depaware.txt: bump kube deps (#14601) 12 months ago