Skip to content

feat: report Tailscale sign-in status to Dappmanager - #55

Open
3alpha wants to merge 1 commit into
masterfrom
feat/tailscale-status-reporter
Open

3alpha wants to merge 1 commit into
masterfrom
feat/tailscale-status-reporter

Conversation

@3alpha

@3alpha 3alpha commented Oct 29, 2026

Copy link
Copy Markdown
Member

Installing Tailscale without an auth key currently requires finding the browser sign-in URL in package logs. Add a Rust reporter sidecar that reads structured daemon status through a shared Unix socket and publishes a versioned tailscale.status value through Dappmanager's existing /data-send endpoint.

The reporter validates login URLs, publishes changes and 30-second heartbeats, retries failed delivery, and clears the link when status is unavailable or the reporter shuts down. It drops all capabilities and mounts only the shared socket directory read-only. The setup wizard makes the auth key optional, and the image allows one hour for browser authentication while preserving upstream containerboot and saved authentication.

Companion Dappmanager UI support is required to display the sign-in action and enforce report freshness. Invalid auth keys still require clearing or replacing the configured key and restarting the package. Add regression tests, a reporting-contract README, and CI checks including reporter image builds for amd64 and arm64.

Validation:

  • All 16 Rust unit/integration tests pass, including URL rotation, login completion, failed delivery, socket replacement, heartbeats, request deadlines, redirect refusal, and shutdown.
  • Formatting, Clippy with warnings denied, Compose configuration, and Dappnode Compose/setup-wizard validation pass.
  • An isolated ARM64 Docker smoke test with a real unauthenticated daemon verified login-URL delivery, recovery after manager and daemon restarts, and graceful clearing. Temporary containers, volumes, and the network were removed.

Authenticated tailnet access, routing, DNS, and the companion Dappmanager UI remain to be tested together.

@tropibot

tropibot Bot commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

Dappnode bot has built and pinned the built packages to an IPFS node, for commit: 40c70a6

This is a development version and should only be installed for testing purposes.

  1. Package tailscale.dnp.dappnode.eth

Install link

Hash: /ipfs/QmY6J6CrZZVW15EMjRhorK8UG6vqNzXBcwAqxxKvvDSnq2

(by dappnodebot/build-action)

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