tailscale/ipn
Maisem Ali c919ff540f cmd/k8s-operator,ipn/store/kubestore: patch secrets instead of updating
We would call Update on the secret, but that was racey and would occasionaly
fail. Instead use patch whenever we can.

Fixes errors like
```
boot: 2023/08/29 01:03:53 failed to set serve config: sending serve config: updating config: writing ServeConfig to StateStore: Operation cannot be fulfilled on secrets "ts-webdav-kfrzv-0": the object has been modified; please apply your changes to the latest version and try again

{"level":"error","ts":"2023-08-29T01:03:48Z","msg":"Reconciler error","controller":"ingress","controllerGroup":"networking.k8s.io","controllerKind":"Ingress","Ingress":{"name":"webdav","namespace":"default"},"namespace":"default","name":"webdav","reconcileID":"96f5cfed-7782-4834-9b75-b0950fd563ed","error":"failed to provision: failed to create or get API key secret: Operation cannot be fulfilled on secrets \"ts-webdav-kfrzv-0\": the object has been modified; please apply your changes to the latest version and try again","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\tsigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:324\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\tsigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:265\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\tsigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:226"}
```

Updates #502
Updates #7895

Signed-off-by: Maisem Ali <maisem@tailscale.com>
2023-08-29 13:24:05 -07:00
..
ipnauth all: update copyright and license headers 2023-01-27 15:36:29 -08:00
ipnlocal ipn/iplocale: remove unused argument to shouldUseOneCGNATRoute 2023-08-29 04:48:28 -07:00
ipnserver logpolicy, various: allow overriding log function 2023-07-10 18:08:50 -04:00
ipnstate ipn/ipnstate: add PeerStatus.AltSharerUserID, stop mangling Node.User 2023-08-20 08:18:52 -07:00
localapi cmd/tailscale, net/portmapper: add --log-http option to "debug portmap" 2023-08-28 13:06:17 -04:00
policy ipn: prefer allow/denylist terminology 2023-04-04 08:02:50 -07:00
store cmd/k8s-operator,ipn/store/kubestore: patch secrets instead of updating 2023-08-29 13:24:05 -07:00
backend.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
doc.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
fake_test.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
ipn_clone.go cmd/cloner: use maps.Clone and ptr.To 2023-08-20 13:47:26 -04:00
ipn_view.go cmd/viewer, types/views, all: un-special case slice of netip.Prefix 2023-08-18 12:27:44 -07:00
prefs_test.go types/persist: drop duplicated Persist.LoginName 2023-08-08 13:43:37 -06:00
prefs.go cmd/viewer, types/views, all: un-special case slice of netip.Prefix 2023-08-18 12:27:44 -07:00
serve_test.go tailscale/cli: add interactive flow for enabling Funnel 2023-08-09 18:55:43 -04:00
serve.go ipn, ipn/ipnlocal: clean up documentation and use clock instead of time 2023-08-22 19:17:29 +01:00
store_test.go ipn: avoid useless no-op WriteState calls 2023-08-07 08:44:24 -07:00
store.go ipn: avoid useless no-op WriteState calls 2023-08-07 08:44:24 -07:00