Skip to content

feat: add optional tsnet serve mode#149

Merged
rajsinghtech merged 1 commit intomainfrom
feat/tsnet-serve
Apr 1, 2026
Merged

feat: add optional tsnet serve mode#149
rajsinghtech merged 1 commit intomainfrom
feat/tsnet-serve

Conversation

@rajsinghtech
Copy link
Copy Markdown
Owner

Summary

  • Adds optional embedded Tailscale node via tsnet, allowing tsflow to serve itself directly on the tailnet
  • Eliminates the need for a separate Tailscale sidecar container when TSFLOW_SERVE=true
  • Uses existing OAuth client secret as tsnet auth key (same pattern as tailbridge)
  • Supports configurable hostname (TSFLOW_HOSTNAME), ACL tags (TSFLOW_TAGS), and Funnel (TSFLOW_FUNNEL)

Test plan

  • Build and run without TSFLOW_SERVE — verify default HTTP mode unchanged
  • Run with TSFLOW_SERVE=true + OAuth creds + tags — verify tsnet joins tailnet
  • Access https://tsflow.<tailnet>.ts.net — verify frontend + API work over HTTPS
  • Docker build succeeds with distroless nonroot image
  • Graceful shutdown properly cleans up tsnet node

Embed a Tailscale node directly into tsflow so it can serve itself on
the tailnet without a sidecar container. Activate with TSFLOW_SERVE=true.

Uses the existing OAuth client secret as a tsnet auth key. Supports
configurable hostname, ACL tags, and optional Funnel exposure.
@rajsinghtech rajsinghtech merged commit 664c430 into main Apr 1, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant