sync-tailscale
Sync Tailscale IP addresses from API to inventory.yaml
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
Sync Tailscale IPs
Fetch Tailscale device IPs and update inventory.yaml with tailscale_address attributes.
Task
- Fetch devices from Tailscale API:
curl -H "Authorization: Bearer {{ tailscale_api_key }}" \
https://api.tailscale.com/api/v2/tailnet/-/devices | jq .
-
Extract hostname → IPv4 mapping from the devices array
-
Update inventory.yaml with tailscale_address attributes for matching hosts
Inventory Structure
File: inventory.yaml
Format:
groupname:
hosts:
hostname:
ansible_host: 192.168.x.x
tailscale_address: 100.x.x.x # Add or update this
exporter_port: 9100
Rules
- Match on hostname (case-insensitive)
- Use IPv4 address (not IPv6)
- Add tailscale_address after ansible_host if missing
- Update existing tailscale_address if IP changed
- Preserve YAML formatting and structure
- Report what was added/updated
API Key
The API key is stored encrypted in secrets.yml as tailscale_api_key. Decrypt with:
ansible-vault view secrets.yml | grep -A 5 tailscale_api_key
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-01-20
- 索引更新时间
- 2026-01-26
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!