tailkitd

module
v0.4.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 17, 2026 License: MIT

README

tailkitd

A node-level daemon for Tailscale-native infrastructure tooling. tailkitd runs on every node in your tailnet and exposes a consistent HTTP API for files, environment variables, Docker, systemd, and host metrics — all gated by Tailscale identity and local config.

Tailscale handles the network. tailkitd handles the node.


Capabilities

Concern tsnet / Tailscale tailkitd
Node identity + auth ✓ via lc.WhoIs
Peer discovery ✓ via lc.Status
Installed tool registry GET /tools
File receive / read POST /files, GET /files
Env var store GET /vars/{project}/{env}
Docker / Compose / Swarm control /integrations/docker/...
Systemd unit + journal control /integrations/systemd/...
Host resource metrics /integrations/metrics/...

Installation

curl -fsSL https://github.com/wf-pro-dev/tailkitd/releases/latest/download/install.sh | sudo sh -s -- --auth-key tskey-auth-xxxx

See docs/install.md for flags, the nosystemd variant, and uninstall.


Commands

Command Description
tailkitd run Start the daemon (default)
tailkitd install [flags] Install tailkitd on this node
tailkitd uninstall Remove tailkitd from this node
tailkitd verify Validate installation and config files
tailkitd status Show service status

Logging

tailkitd uses go.uber.org/zap. Logs go to stderr.

# Human-readable output at DEBUG level
TAILKITD_ENV=development tailkitd run

# JSON to stderr at INFO level (default)
tailkitd run

Every log line carries a component field (files, vars, docker, systemd, metrics) for easy filtering.


Docs

Document Description
docs/install.md Installation, env vars, nosystemd variant, uninstall
docs/config.md All config files with annotated examples
docs/api.md Full HTTP API reference

Module path

github.com/wf-pro-dev/tailkitd

Directories

Path Synopsis
cmd
tailkitd command
hostname.go contains hostname resolution helpers that are used by both the tailscale build and tests.
hostname.go contains hostname resolution helpers that are used by both the tailscale build and tests.
internal
exec
Package exec implements the tailkitd exec integration: an in-memory registry of tool commands watched for live updates, a safe runner, a job store, and the HTTP handlers for POST /exec/{tool}/{cmd} and GET /exec/jobs/{id}.
Package exec implements the tailkitd exec integration: an in-memory registry of tool commands watched for live updates, a safe runner, a job store, and the HTTP handlers for POST /exec/{tool}/{cmd} and GET /exec/jobs/{id}.
files
Package files implements the tailkitd files integration:
Package files implements the tailkitd files integration:
logger
Package logger provides the single construction point for tailkitd's structured logger.
Package logger provides the single construction point for tailkitd's structured logger.
metrics
Package metrics implements the tailkitd metrics integration, exposing host, CPU, memory, disk, network, and process metrics via gopsutil.
Package metrics implements the tailkitd metrics integration, exposing host, CPU, memory, disk, network, and process metrics via gopsutil.
sse
systemd
Package systemd implements the tailkitd systemd integration, exposing unit control and journal access over the tailkitd HTTP API.
Package systemd implements the tailkitd systemd integration, exposing unit control and journal access over the tailkitd HTTP API.
tools
Package tools provides the tailkitd tool registry.
Package tools provides the tailkitd tool registry.
vars
Package vars implements the tailkitd var store: a per-scope, concurrency-safe key-value store persisted as JSON files under /etc/tailkitd/vars/.
Package vars implements the tailkitd var store: a per-scope, concurrency-safe key-value store persisted as JSON files under /etc/tailkitd/vars/.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL