mirror of
https://github.com/juanfont/headscale.git
synced 2026-05-05 03:56:10 +02:00
Add TailscaleRustInContainer (tsric), a Rust-client counterpart to integration/tsic. It runs the axum example from tailscale-rs in a Docker container and exposes the same lifecycle hooks as tsic (Shutdown, SaveLog, Execute, WriteFile) so integration tests can treat it as any other Tailscale node. Dockerfile.tailscale-rs clones tailscale-rs at build time, so no local source checkout is required. The repo URL and ref are Docker build arguments (TAILSCALE_RS_REPO, TAILSCALE_RS_REF) exposed as tsric.WithRepo / tsric.WithRef options. The HEADSCALE_INTEGRATION_ TAILSCALE_RS_IMAGE environment variable provides an escape hatch for using a pre-built image instead of building from source. The Dockerfile patches the cloned root Cargo.toml to expose ts_control's insecure-keyfetch feature through the tailscale crate so the axum example can fetch the control key over plain HTTP. The integration harness serves the control plane without TLS, which is the only mode tailscale-rs can register against until it grows a way to inject a custom CA bundle.