Add tailscale entity rollup script #177

Closed
opened 2026-05-29 20:58:39 +00:00 by coilysiren · 0 comments
Owner

Add a script that counts Tailscale tailnet entities and slices them several ways for a quick at-a-glance inventory.

What it does

scripts/tailscale-entity-rollup.sh sources coily tailscale status --json and emits a YAML rollup:

  • by_type - people / physical machines / k8s workloads / personal devices (disjoint, sums to total)
  • by_os - linux / macOS / windows / android / iOS (disjoint)
  • by_online - online vs offline (disjoint)
  • by_tag - OVERLAPPING, one node can carry several tags
  • rollup - reconciles the overlap (tagged vs untagged nodes, tag assignments, multi-tagged count)

Defaults baked in

  • Always sources via coily tailscale (audited passthrough, never bare tailscale).
  • Always emits colorized YAML via bat -l yaml. bat auto-detects a terminal, so redirecting to a file writes plain YAML. Falls back to cat when bat is absent.

Person-linked data is limited to masked emails (first letter + domain) in by_type. No display names or owner mapping.

Add a script that counts Tailscale tailnet entities and slices them several ways for a quick at-a-glance inventory. ## What it does `scripts/tailscale-entity-rollup.sh` sources `coily tailscale status --json` and emits a YAML rollup: - **by_type** - people / physical machines / k8s workloads / personal devices (disjoint, sums to total) - **by_os** - linux / macOS / windows / android / iOS (disjoint) - **by_online** - online vs offline (disjoint) - **by_tag** - OVERLAPPING, one node can carry several tags - **rollup** - reconciles the overlap (tagged vs untagged nodes, tag assignments, multi-tagged count) ## Defaults baked in - Always sources via `coily tailscale` (audited passthrough, never bare tailscale). - Always emits colorized YAML via `bat -l yaml`. bat auto-detects a terminal, so redirecting to a file writes plain YAML. Falls back to `cat` when bat is absent. Person-linked data is limited to masked emails (first letter + domain) in `by_type`. No display names or owner mapping.
Sign in to join this conversation.
No labels
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coilyco-flight-deck/infrastructure#177
No description provided.