Skip to main content

Tailscale Tunnel

Secure mesh VPN tunnel for exposing services via Tailscale Funnel.

CategoryNetworking
Deploy./uis deploy tailscale-tunnel
Undeploy./uis undeploy tailscale-tunnel
Depends onnginx
Required byNone
Helm charttailscale/tailscale-operator (unpinned)
Default namespacetailscale

What It Does

Tailscale Tunnel creates a secure mesh VPN connection between your local cluster and the Tailscale network. Once connected, you can expose services to the internet via Tailscale Funnel without opening firewall ports or configuring DNS manually.

Key capabilities:

  • Zero-config networking — no port forwarding or firewall rules needed
  • Tailscale Funnel — expose services to the internet with HTTPS
  • Per-service exposure — choose which services to make accessible
  • Built-in TLS — automatic HTTPS certificates via Tailscale
Requires Tailscale Account

This service requires a Tailscale account and API credentials. Configure them via ./uis secrets edit before deploying.

Deploy

# Deploy dependency first
./uis deploy nginx

# Deploy Tailscale Tunnel
./uis deploy tailscale-tunnel

Verify

# Quick check
./uis verify tailscale-tunnel

# Or use the service-specific command
./uis tailscale verify

Configuration

Tailscale-Specific Commands

CommandDescription
./uis tailscale expose <service-id>Expose a service via Tailscale Funnel
./uis tailscale unexpose <service-id>Remove a service from Tailscale Funnel
./uis tailscale verifyCheck secrets, API, devices, and operator

Secrets

VariableFilePurpose
TAILSCALE_CLIENT_ID.uis.secrets/secrets-config/default-secrets.envOAuth client ID
TAILSCALE_CLIENT_SECRET.uis.secrets/secrets-config/default-secrets.envOAuth client secret

Key Files

FilePurpose
ansible/playbooks/802-deploy-network-tailscale-tunnel.ymlDeployment playbook
ansible/playbooks/802-remove-network-tailscale-tunnel.ymlRemoval playbook

Undeploy

./uis undeploy tailscale-tunnel

Troubleshooting

Operator pod won't start:

kubectl describe pod -n tailscale -l app.kubernetes.io/name=tailscale-operator
kubectl logs -n tailscale -l app.kubernetes.io/name=tailscale-operator

Funnel not working: Check that the Tailscale node is registered:

./uis tailscale verify

Authentication errors: Tailscale OAuth requires token exchange, not basic auth. Verify secrets:

./uis secrets status

Learn More