No introduction found. Create it?
tailscale from pkgs.tailscale is more popular with 8 repositories.
Install with:
helm repo add tailscale oci://ghcr.io/bjw-s-labs/charts/
helm install tailscale tailscale/tailscale -f values.yamlSee examples from other people.
| Name | Repo | Stars | Version | Timestamp |
|---|
See the most popular values for this chart:
| Key | Types |
|---|---|
| string | |
| string | |
controllers.tailscale.containers.app.image.repository (5) ghcr.io/tailscale/tailscale | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| boolean | |
| boolean | |
controllers.tailscale.containers.app.env.TS_EXTRA_ARGS (4) --advertise-exit-node --login-server=https://headscale.albdev.cloud | string |
controllers.tailscale.containers.app.env.TS_KUBE_SECRET (4) tailscale-state | string |
| boolean | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| string | |
| boolean | |
| boolean | |
| number | |
| string | |
| number | |
| number | |
| number | |
| number | |
| boolean | |
| boolean | |
| number | |
| string | |
| number | |
| number | |
| number | |
| number | |
| boolean | |
| string | |
| boolean | |
| boolean | |
controllers.tailscale.containers.app.command[] (1) - /bin/sh | string |
| boolean | |
| string | |
| number | |
| boolean | |
| number | |
controllers.tailscale.pod.annotations."k8s.v1.cni.cncf.io/networks" (1) [{
"name":"multus-host",
"namespace": "network",
"ips": ["10.5.0.253/24"],
"mac": "b6:3f:1a:2c:5d:7e"
}]
| string |
| number | |
| string | |
controllers.tailscale.strategy (4) RollingUpdate | string |
controllers.tailscale.type (4) statefulset | string |
persistence.run.type (5) emptyDir | string |
persistence.run.globalMounts[].path (1) /var/run/tailscale | string |
persistence.tmp.type (4) emptyDir | string |
persistence.var-run-tailscale.globalMounts[].path (4) /var/run/tailscale | string |
| string | |
| number | |
persistence.scripts.globalMounts[].path (1) /scripts/entrypoint.sh | string |
| boolean | |
persistence.scripts.globalMounts[].subPath (1) entrypoint.sh | string |
| string | |
persistence.scripts.type (1) configMap | string |
| number | |
| boolean | |
| number | |
| number | |
| string | |
| string | |
| string | |
| string | |
rbac.bindings.tailscale.type (4) RoleBinding | string |
| string | |
rbac.roles.tailscale.rules[].resourceNames[] (4) - tailscale | string |
rbac.roles.tailscale.rules[].resources[] (4) - secrets | string |
rbac.roles.tailscale.rules[].verbs[] (4) - create | string |
| string | |
service.app.controller (4) tailscale | string |
| number | |
configMaps.scripts.data."entrypoint.sh" (1) #!/bin/sh
set -eu
echo "[tailscale-gw] enabling IPv4 forwarding"
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "[tailscale-gw] starting tailscaled (ephemeral, in-memory state)"
tailscaled --state=mem: --tun=tailscale0 --port=41641 &
TAILSCALED_PID=$!
echo "[tailscale-gw] waiting for control socket"
until [ -S /var/run/tailscale/tailscaled.sock ]; do sleep 0.5; done
echo "[tailscale-gw] tailscale up (accepting subnet routes)"
tailscale up \
--authkey="${TS_AUTHKEY}" \
--hostname="${TS_HOSTNAME}" \
--accept-routes \
--accept-dns=false \
--reset
echo "[tailscale-gw] waiting for tailscale0"
until ip link show tailscale0 >/dev/null 2>&1; do sleep 0.5; done
echo "[tailscale-gw] NAT: masquerade LAN clients onto the tailnet"
iptables-nft -t nat -C POSTROUTING -o tailscale0 -j MASQUERADE 2>/dev/null \
|| iptables-nft -t nat -A POSTROUTING -o tailscale0 -j MASQUERADE
echo "[tailscale-gw] clamp TCP MSS to 1200 (tailscale MTU 1280), both directions"
# Fixed MSS 1200, not --clamp-mss-to-pmtu: (1) the reverse (server->client)
# SYN-ACK egresses net1 (MTU 1500) so clamp-to-pmtu would wrongly pick 1460;
# (2) 1200 leaves headroom for TCP options (timestamps/SACK) on top of the
# 40-byte base header so full segments fit the 1280 tunnel. 1240 was too tight
# (worked for small auth, truncated large payloads -> "failed to recognize data").
iptables-nft -t mangle -C FORWARD -o tailscale0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1200 2>/dev/null \
|| iptables-nft -t mangle -A FORWARD -o tailscale0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1200
iptables-nft -t mangle -C FORWARD -i tailscale0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1200 2>/dev/null \
|| iptables-nft -t mangle -A FORWARD -i tailscale0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1200
echo "[tailscale-gw] return path: tailnet replies egress ${LAN_IF} via ${LAN_GW}"
ip route replace default via "${LAN_GW}" dev "${LAN_IF}" table 100
ip rule add iif tailscale0 lookup 100 2>/dev/null || true
echo "[tailscale-gw] ready; relaying ${REMOTE_ROUTE} to the LAN"
wait "${TAILSCALED_PID}"
| string |
operatorConfig.hostname (1) turingpi | string |
| string | |
| string |