搜索

PythonReactSEOPDF
GitHub Skill

sync-tailscale

Sync Tailscale IP addresses from API to inventory.yaml

julianh2o☆ 0 仓库 Stars0 仓库 Forks

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

查看来源 ↗使用指南

技能说明

Sync Tailscale IPs

Fetch Tailscale device IPs and update inventory.yaml with tailscale_address attributes.

Task

  1. Fetch devices from Tailscale API:
curl -H "Authorization: Bearer {{ tailscale_api_key }}" \
  https://api.tailscale.com/api/v2/tailnet/-/devices | jq .
  1. Extract hostname → IPv4 mapping from the devices array

  2. 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)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!