No description
  • TypeScript 100%
Find a file
keeb 219a8620af Publish @keeb-namespaced types (rename @user→@keeb); bump to 2026.05.25.1
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 16:56:46 -07:00
.claude/skills/tailscale feat: add embedded tailscale skill for AI agents 2026-04-06 18:34:02 -07:00
.swamp/workflows Publish @keeb-namespaced types (rename @user→@keeb); bump to 2026.05.25.1 2026-05-25 16:56:46 -07:00
extensions/models Publish @keeb-namespaced types (rename @user→@keeb); bump to 2026.05.25.1 2026-05-25 16:56:46 -07:00
workflows/setup-tailscale Initial commit: @keeb/$NAME swamp extension 2026-02-27 12:30:50 -08:00
.gitignore feat: add embedded tailscale skill for AI agents 2026-04-06 18:34:02 -07:00
.swamp.yaml Initial commit: @keeb/$NAME swamp extension 2026-02-27 12:30:50 -08:00
CLAUDE.md Add repository and tags to manifest 2026-03-02 22:01:57 -08:00
manifest.yaml Publish @keeb-namespaced types (rename @user→@keeb); bump to 2026.05.25.1 2026-05-25 16:56:46 -07:00
README.md Publish @keeb-namespaced types (rename @user→@keeb); bump to 2026.05.25.1 2026-05-25 16:56:46 -07:00

@keeb/tailscale

Swamp extension for Tailscale installation and tailnet machine inventory.

Models

tailscale/node

Install and authenticate Tailscale on a remote Alpine host over SSH.

Method Description
install Install Tailscale, authenticate with an auth key, and capture the tailscale IPv4

Global arguments: sshHost, sshUser (default root). Method arguments: authKey.

tailscale/net

Parse tailscale status --json into one resource per tailnet machine.

Method Description
sync Parse tailscale status JSON and write a named resource per machine

Each machine resource carries hostname, dnsName, tailscaleIp, online, os, lastSeen, and timestamp.

Workflows

Workflow Description
setup-tailscale Install Tailscale and authenticate on a running VM

Dependencies

Install

swamp extension pull @keeb/tailscale

Usage

Install on a fresh VM, then sync the tailnet into swamp data so downstream models can look up IPs by hostname:

# Install + authenticate on a single VM
swamp model method run my-vm install --args authKey=tskey-auth-xxxx

# Sync the whole tailnet from local tailscale status
swamp model method run tailnet sync \
  --args statusJson="$(tailscale status --json)"

License

MIT — see LICENSE.