mirror of
https://github.com/tailscale/tailscale.git
synced 2025-10-28 06:41:14 +01:00
Adds a new k8s-proxy command to convert operator's in-process proxy to
a separately deployable type of ProxyGroup: kube-apiserver. k8s-proxy
reads in a new config file written by the operator, modelled on tailscaled's
conffile but with some modifications to ensure multiple versions of the
config can co-exist within a file. This should make it much easier to
support reading that config file from a Kube Secret with a stable file name.
To avoid needing to give the operator ClusterRole{,Binding} permissions,
the helm chart now optionally deploys a new static ServiceAccount for
the API Server proxy to use if in auth mode.
Proxies deployed by kube-apiserver ProxyGroups currently work the same as
the operator's in-process proxy. They do not yet leverage Tailscale Services
for presenting a single HA DNS name.
Updates #13358
Change-Id: Ib6ead69b2173c5e1929f3c13fb48a9a5362195d8
Signed-off-by: Tom Proctor <tomhjp@users.noreply.github.com>
33 lines
726 B
YAML
33 lines
726 B
YAML
# Copyright (c) Tailscale Inc & AUTHORS
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: kube-apiserver-auth-proxy
|
|
namespace: tailscale
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
name: tailscale-auth-proxy
|
|
rules:
|
|
- apiGroups: [""]
|
|
resources: ["users", "groups"]
|
|
verbs: ["impersonate"]
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRoleBinding
|
|
metadata:
|
|
name: tailscale-auth-proxy
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: operator
|
|
namespace: tailscale
|
|
- kind: ServiceAccount
|
|
name: kube-apiserver-auth-proxy
|
|
namespace: tailscale
|
|
roleRef:
|
|
kind: ClusterRole
|
|
name: tailscale-auth-proxy
|
|
apiGroup: rbac.authorization.k8s.io |