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 d4c5b278b3 cmd/k8s-operator: support workload identity federation
The feature is currently in private alpha, so requires a tailnet feature
flag. Initially focuses on supporting the operator's own auth, because the
operator is the only device we maintain that uses static long-lived
credentials. All other operator-created devices use single-use auth keys.

Testing steps:

* Create a cluster with an API server accessible over public internet
* kubectl get --raw /.well-known/openid-configuration | jq '.issuer'
* Create a federated OAuth client in the Tailscale admin console with:
  * The issuer from the previous step
  * Subject claim `system:serviceaccount:tailscale:operator`
  * Write scopes services, devices:core, auth_keys
  * Tag tag:k8s-operator
* Allow the Tailscale control plane to get the public portion of
  the ServiceAccount token signing key without authentication:
  * kubectl create clusterrolebinding oidc-discovery \
      --clusterrole=system:service-account-issuer-discovery \
      --group=system:unauthenticated
* helm install --set oauth.clientId=... --set oauth.audience=...

Updates #17457

Change-Id: Ib29c85ba97b093c70b002f4f41793ffc02e6c6e9
Signed-off-by: Tom Proctor <tomhjp@users.noreply.github.com>
4 weeks ago
..
deploy cmd/k8s-operator: support workload identity federation 4 weeks ago
e2e cmd/k8s-operator: simplify scope of e2e tests (#17076) 3 months ago
generate cmd/k8s-operator: support workload identity federation 4 weeks ago
api-server-proxy-pg.go cmd/k8s-operator: remove Services feature flag detection 4 weeks ago
api-server-proxy-pg_test.go all-kube: create Tailscale Service for HA kube-apiserver ProxyGroup (#16572) 5 months ago
api-server-proxy.go cmd/{k8s-operator,k8s-proxy},kube: use consistent type for auth mode config (#16626) 5 months ago
connector.go cmd/k8s-operator: allow specifying replicas for connectors (#16721) 3 months ago
connector_test.go cmd/k8s-operator: allow specifying replicas for connectors (#16721) 3 months ago
depaware.txt wgengine/netlog: include node OS in logged attributes (#17755) 1 month ago
dnsrecords.go k8s-operator: add IPv6 support for DNS records (#16691) 2 months ago
dnsrecords_test.go k8s-operator: add IPv6 support for DNS records (#16691) 2 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) 10 months ago
egress-eps_test.go all-kube: create Tailscale Service for HA kube-apiserver ProxyGroup (#16572) 5 months ago
egress-pod-readiness.go util/backoff: rename logtail/backoff package to util/backoff 2 months ago
egress-pod-readiness_test.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 9 months ago
egress-services-readiness.go cmd/{containerboot,k8s-operator}: use state Secret for checking device auth (#16328) 5 months ago
egress-services-readiness_test.go cmd/{containerboot,k8s-operator}: use state Secret for checking device auth (#16328) 5 months ago
egress-services.go cmd/{containerboot,k8s-operator}: use state Secret for checking device auth (#16328) 5 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) 10 months ago
ingress-for-pg.go cmd/k8s-operator: remove Services feature flag detection 4 weeks ago
ingress-for-pg_test.go all-kube: create Tailscale Service for HA kube-apiserver ProxyGroup (#16572) 5 months ago
ingress.go cmd/k8s-operator: allow specifying replicas for connectors (#16721) 3 months ago
ingress_test.go cmd/k8s-operator: allow specifying replicas for connectors (#16721) 3 months ago
logger.go cmd/k8s-operator: send operator logs to tailscale (#17110) 2 months ago
metrics_resources.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 9 months ago
nameserver.go cmd/k8s-operator: allow pod tolerations on nameservers (#17260) 2 months ago
nameserver_test.go cmd/k8s-operator: allow pod tolerations on nameservers (#17260) 2 months ago
nodeport-service-ports.go cmd/k8s-operator, k8s-operator: support Static Endpoints on ProxyGroups (#16115) 5 months ago
nodeport-services-ports_test.go cmd/k8s-operator, k8s-operator: support Static Endpoints on ProxyGroups (#16115) 5 months ago
operator.go cmd/k8s-operator: support workload identity federation 4 weeks ago
operator_test.go k8s-operator: reset service status before append (#17120) 3 months ago
proxyclass.go cmd/k8s-operator, k8s-operator: support Static Endpoints on ProxyGroups (#16115) 5 months ago
proxyclass_test.go cmd/k8s-operator, k8s-operator: support Static Endpoints on ProxyGroups (#16115) 5 months ago
proxygroup.go cmd/k8s-operator: rename 'l' variables (#17700) 1 month ago
proxygroup_specs.go all-kube: create Tailscale Service for HA kube-apiserver ProxyGroup (#16572) 5 months ago
proxygroup_test.go cmd/k8s-operator: rename 'l' variables (#17700) 1 month ago
sts.go cmd/tsrecorder: adds sending api level logging to tsrecorder (#16960) 2 months ago
sts_test.go cmd/k8s-operator: rename 'l' variables (#17700) 1 month ago
svc-for-pg.go cmd/k8s-operator: remove Services feature flag detection 4 weeks ago
svc-for-pg_test.go all-kube: create Tailscale Service for HA kube-apiserver ProxyGroup (#16572) 5 months ago
svc.go k8s-operator: reset service status before append (#17120) 3 months ago
testutils_test.go cmd/k8s-operator: allow specifying replicas for connectors (#16721) 3 months ago
tsclient.go cmd/k8s-operator: support workload identity federation 4 weeks ago
tsclient_test.go cmd/k8s-operator: support workload identity federation 4 weeks ago
tsrecorder.go cmd/k8s-operator: rename 'l' variables (#17700) 1 month ago
tsrecorder_specs.go cmd/k8s-operator: Set login server on tsrecorder nodes (#16443) 5 months ago
tsrecorder_specs_test.go cmd/k8s-operator: Set login server on tsrecorder nodes (#16443) 5 months ago
tsrecorder_test.go cmd/k8s-operator: rename 'l' variables (#17700) 1 month ago