Serves Prometheus HTTP Service Discovery for devices on a Tailscale Tailnet.
This is a port of @cfunkhouser's tailscalesd to Python.
This only uses the public API to enumerate devices.
The tailscalsd
server is configurable through environment variables.
TAILNET
: name of the tailnet to gather devices from.API_KEY
: Tailscale API token.INTERVAL
: poll interval of the Tailscale API (default: every 5 seconds)HOST
: host to serve TailscaleSD (default: 0.0.0.0
)PORT
: port to server TailscaleSD (default: 9102
)$~ TAILNET=bigchungus.com API_KEY=tskey-putyourapikeyhere tailscalesd
INFO: Started server process [19650]
INFO: Waiting for application startup.
[tailscalesd:__main__.py] DEBUG - Starting polling
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:9102 (Press CTRL+C to quit)
See here for an example of how to configure prometheus to scrape the data served by TailscaleSD.
This package was created with Cookiecutter and the byt3bl33d3r/pythoncookie project template.