tailscale/cmd
Irbe Krumina 5bd19fd3e3
cmd/k8s-operator,k8s-operator: proxy configuration mechanism via a new ProxyClass custom resource (#11074)
* cmd/k8s-operator,k8s-operator: introduce proxy configuration mechanism via ProxyClass custom resource.

ProxyClass custom resource can be used to specify customizations
for the proxy resources created by the operator.

Add a reconciler that validates ProxyClass resources
and sets a Ready condition to True or False with a corresponding reason and message.
This is required because some fields (labels and annotations)
require complex validations that cannot be performed at custom resource apply time.
Reconcilers that use the ProxyClass to configure proxy resources are expected to
verify that the ProxyClass is Ready and not proceed with resource creation
if configuration from a ProxyClass that is not yet Ready is required.

If a tailscale ingress/egress Service is annotated with a tailscale.com/proxy-class annotation, look up the corresponding ProxyClass and, if it is Ready, apply the configuration from the ProxyClass to the proxy's StatefulSet.

If a tailscale Ingress has a tailscale.com/proxy-class annotation
and the referenced ProxyClass custom resource is available and Ready,
apply configuration from the ProxyClass to the proxy resources
that will be created for the Ingress.

Add a new .proxyClass field to the Connector spec.
If connector.spec.proxyClass is set to a ProxyClass that is available and Ready,
apply configuration from the ProxyClass to the proxy resources created for the Connector.

Ensure that when Helm chart is packaged, the ProxyClass yaml is added to chart templates. Ensure that static manifest generator adds ProxyClass yaml to operator.yaml. Regenerate operator.yaml


Signed-off-by: Irbe Krumina <irbe@tailscale.com>
2024-02-13 05:27:54 +00:00
..
addlicense all: update tools that manage copyright headers 2023-01-27 15:36:29 -08:00
build-webclient client/web: precompress assets 2023-12-07 20:57:31 -05:00
cloner cmd/cloner: fix typo in test type's name 2023-09-30 10:18:18 -07: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,k8s-operator/deploy/manifests}: optionally allow proxying cluster traffic to a cluster target via ingress proxy (#11036) 2024-02-08 06:45:42 +00:00
derper tailfs: clean up naming and package structure 2024-02-09 20:00:42 -06:00
derpprobe prober: migrate to Prometheus metric library 2023-04-11 08:37:32 +01:00
dist cmd/dist: update logs for synology builds 2024-02-08 14:36:55 -05:00
get-authkey util/cmpx: delete now that we're using Go 1.22 2024-02-07 18:10:15 -08:00
gitops-pusher cmd/gitops-pusher: only use OAuth creds if non-empty string 2024-02-09 10:55:59 -05:00
hello cmd/hello: link to the Hello KB article (#11022) 2024-02-02 15:48:31 -08:00
k8s-operator cmd/k8s-operator,k8s-operator: proxy configuration mechanism via a new ProxyClass custom resource (#11074) 2024-02-13 05:27:54 +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
netlogfmt util/cmpx: remove code that's in the stdlib now 2023-12-19 09:18:53 -05:00
nginx-auth tailcfg,all: add and use Node.IsTagged() 2023-03-13 08:44:25 -07:00
pgproxy various: add golangci-lint, fix issues (#7905) 2023-04-17 18:38:24 -04:00
printdep cmd/printdep: print correct toolchain URL 2023-02-11 17:57:36 +00:00
proxy-to-grafana tailcfg,all: add and use Node.IsTagged() 2023-03-13 08:44:25 -07:00
sniproxy appc,cmd/sniproxy,ipn/ipnlocal: split sniproxy configuration code out of appc 2023-11-02 12:51:40 -07:00
speedtest all: update copyright and license headers 2023-01-27 15:36:29 -08:00
ssh-auth-none-demo all: replace deprecated ioutil references 2023-08-23 23:53:19 +01:00
stunc all: update copyright and license headers 2023-01-27 15:36:29 -08:00
stund util/cmpx: delete now that we're using Go 1.22 2024-02-07 18:10:15 -08:00
sync-containers all: adjust some build tags for plan9 2023-08-24 15:42:35 -07:00
tailscale cmd/tailscale: hide share subcommand 2024-02-12 14:03:01 -06:00
tailscaled tailscaled: revert to using pointers for subcommands 2024-02-10 11:55:24 -06:00
testcontrol all: update copyright and license headers 2023-01-27 15:36:29 -08:00
testwrapper all: cleanup unused code, part 2 (#10670) 2023-12-21 17:40:03 -08:00
tsconnect tailfs: initial implementation 2024-02-09 09:13:51 -06:00
tsidp cmd/tsidp: add start of OIDC Tailscale IdP 2023-11-15 14:27:39 -08:00
tsshd all: update copyright and license headers 2023-01-27 15:36:29 -08:00
viewer cmd/cloner: add regression test for slice nil/empty semantics 2023-09-29 19:00:40 -07:00