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
Irbe Krumina 9e2f58f846
cmd/{k8s-nameserver,k8s-operator},k8s-operator: add a kube nameserver, make operator deploy it (#11017)
* cmd/k8s-nameserver,k8s-operator: add a nameserver that can resolve ts.net DNS names in cluster.

Adds a simple nameserver that can respond to A record queries for ts.net DNS names.
It can respond to queries from in-memory records, populated from a ConfigMap
mounted at /config. It dynamically updates its records as the ConfigMap
contents changes.
It will respond with NXDOMAIN to queries for any other record types
(AAAA to be implemented in the future).
It can respond to queries over UDP or TCP. It runs a miekg/dns
DNS server with a single registered handler for ts.net domain names.
Queries for other domain names will be refused.

The intended use of this is:
1) to allow non-tailnet cluster workloads to talk to HTTPS tailnet
services exposed via Tailscale operator egress over HTTPS
2) to allow non-tailnet cluster workloads to talk to workloads in
the same cluster that have been exposed to tailnet over their
MagicDNS names but on their cluster IPs.

Updates tailscale/tailscale#10499

Signed-off-by: Irbe Krumina <irbe@tailscale.com>

* cmd/k8s-operator/deploy/crds,k8s-operator: add DNSConfig CustomResource Definition

DNSConfig CRD can be used to configure
the operator to deploy kube nameserver (./cmd/k8s-nameserver) to cluster.

Signed-off-by: Irbe Krumina <irbe@tailscale.com>

* cmd/k8s-operator,k8s-operator: optionally reconcile nameserver resources

Adds a new reconciler that reconciles DNSConfig resources.
If a DNSConfig is deployed to cluster,
the reconciler creates kube nameserver resources.
This reconciler is only responsible for creating
nameserver resources and not for populating nameserver's records.

Signed-off-by: Irbe Krumina <irbe@tailscale.com>

* cmd/{k8s-operator,k8s-nameserver}: generate DNSConfig CRD for charts, append to static manifests

Signed-off-by: Irbe Krumina <irbe@tailscale.com>

---------

Signed-off-by: Irbe Krumina <irbe@tailscale.com>
2 months ago
..
addlicense all: update tools that manage copyright headers 1 year ago
build-webclient client/web: precompress assets 6 months ago
cloner cmd/cloner: fix typo in test type's name 8 months ago
connector-gen cmd/connector-gen: add helper tool for wide app connector configurations 6 months ago
containerboot cmd/{containerboot,k8s-operator/deploy/manifests}: optionally allow proxying cluster traffic to a cluster target via ingress proxy (#11036) 4 months ago
derper cmd/derper, types/logger: move log filter to shared package 3 months ago
derpprobe prober: add a DERP bandwidth probe 3 months ago
dist cmd/dist: update logs for synology builds 4 months ago
get-authkey util/cmpx: delete now that we're using Go 1.22 4 months ago
gitops-pusher cmd/gitops-pusher: only use OAuth creds if non-empty string 4 months ago
hello cmd/hello: link to the Hello KB article (#11022) 4 months ago
k8s-nameserver cmd/{k8s-nameserver,k8s-operator},k8s-operator: add a kube nameserver, make operator deploy it (#11017) 2 months ago
k8s-operator cmd/{k8s-nameserver,k8s-operator},k8s-operator: add a kube nameserver, make operator deploy it (#11017) 2 months ago
mkmanifest cmd/mkmanifest, cmd/tailscale, cmd/tailscaled: remove Windows arm32 resources from OSS 1 year ago
mkpkg go.mod: upgrade nfpm to v2 (#8786) 10 months ago
mkversion version/mkversion: open-source version generation logic 1 year ago
nardump all: update copyright and license headers 1 year ago
netlogfmt util/cmpx: remove code that's in the stdlib now 6 months ago
nginx-auth tailcfg,all: add and use Node.IsTagged() 1 year ago
pgproxy various: add golangci-lint, fix issues (#7905) 1 year ago
printdep cmd/printdep: print correct toolchain URL 1 year ago
proxy-to-grafana tailcfg,all: add and use Node.IsTagged() 1 year ago
sniproxy go.mod, all: move away from inet.af domain seized by Taliban 4 months ago
speedtest all: update copyright and license headers 1 year ago
ssh-auth-none-demo all: replace deprecated ioutil references 9 months ago
stunc all: update copyright and license headers 1 year ago
stund util/cmpx: delete now that we're using Go 1.22 4 months ago
sync-containers all: adjust some build tags for plan9 9 months ago
tailscale cmd/serve: update warning for sandboxed macOS builds (#11530) 2 months ago
tailscaled ipn/localapi: add support for multipart POST to file-put 2 months ago
testcontrol all: update copyright and license headers 1 year ago
testwrapper cmd/testwrapper: apply results of all unit tests to coverage for all packages 3 months ago
tsconnect all: remove LenIter, use Go 1.22 range-over-int instead 3 months ago
tsidp cmd/tsidp: add start of OIDC Tailscale IdP 7 months ago
tsshd all: update copyright and license headers 1 year ago
viewer cmd/viewer: import views when generating byteSliceField 3 months ago