mirror of
https://github.com/aauren/tailscale-bind-ddns.git
synced 2026-10-24 12:52:24 +00:00
97 lines
2.7 KiB
Plaintext
97 lines
2.7 KiB
Plaintext
# Tailscale-Bind DDNS Configuration
|
|
# This file can be used to configure the application.
|
|
# You can also use environment variables (prefixed with TSBD_) or command line flags.
|
|
|
|
# Tailscale configuration
|
|
tailscale:
|
|
# API Key for Tailscale (alternative to OAuth)
|
|
#api_key: "your-tailscale-api-key-here"
|
|
|
|
# OAuth credentials (recommended approach)
|
|
client_id: "your-oauth-client-id"
|
|
client_secret: "your-oauth-client-secret"
|
|
|
|
# Your Tailscale tailnet name (e.g., "example.com")
|
|
tailnet: "your-tailnet.example.com"
|
|
|
|
# How often to poll Tailscale for machine updates
|
|
poll_interval: "30s"
|
|
|
|
# Bind DNS server configuration
|
|
bind:
|
|
# DNS server address
|
|
server: "dns.example.com"
|
|
|
|
# DNS server port (usually 53)
|
|
port: 53
|
|
|
|
# DNS zone to update (e.g., "tailscale.example.com.")
|
|
zone: "tailscale.example.com."
|
|
|
|
# TSIG key configuration
|
|
key_name: "tailscale-bind-ddns-key"
|
|
key_secret: "your-tsig-key-secret-here"
|
|
|
|
# TSIG algorithm (hmac-md5, hmac-sha1, hmac-sha256, hmac-sha384, hmac-sha512)
|
|
algorithm: "hmac-sha256"
|
|
|
|
# DNS record TTL
|
|
ttl: "60s"
|
|
|
|
# How often to send DNS updates
|
|
update_interval: "60s"
|
|
|
|
# How often to refresh DNS inventory from Bind (set to 0 to disable)
|
|
inventory_refresh_interval: "30m"
|
|
|
|
# PTR record (Reverse DNS) configuration (optional)
|
|
ptr:
|
|
# Enable PTR record creation
|
|
enabled: false
|
|
|
|
# IPv4 PTR zone name (e.g., "64.100.in-addr.arpa" for 100.64.0.0/10)
|
|
ipv4_zone: "64.100.in-addr.arpa"
|
|
|
|
# IPv4 subnet for PTR records (default: 100.64.0.0/10)
|
|
ipv4_subnet: "100.64.0.0/10"
|
|
|
|
# IPv4 subnet size for PTR zones (8, 16, or 24)
|
|
# /8: Creates zones like 100.in-addr.arpa
|
|
# /16: Creates zones like 64.100.in-addr.arpa (default)
|
|
# /24: Creates zones like 0.64.100.in-addr.arpa
|
|
ipv4_subnet_size: 16
|
|
|
|
# Enable IPv6 PTR records
|
|
ipv6_enabled: false
|
|
|
|
# IPv6 PTR zone name (e.g., "0.e.1.a.1.c.5.1.1.a.7.d.f.ip6.arpa" for fd7a:115c:a1e0::/64)
|
|
ipv6_zone: "0.e.1.a.1.c.5.1.1.a.7.d.f.ip6.arpa"
|
|
|
|
# IPv6 subnet for PTR records (required when ipv6_enabled is true)
|
|
# ipv6_subnet: "fd7a:115c:a1e0::/64"
|
|
|
|
# IPv6 subnet size for PTR zones (32, 48, or 64)
|
|
# /32: Creates zones with 8 nibbles
|
|
# /48: Creates zones with 12 nibbles
|
|
# /64: Creates zones with 16 nibbles (default)
|
|
#ipv6_subnet_size: 64
|
|
|
|
# General application configuration
|
|
general:
|
|
# Log level (debug, verbose, info) (WARNING: debug level may leak secrets into output)
|
|
log_level: "info"
|
|
|
|
# Run in dry-run mode (don't actually update DNS)
|
|
dry_run: false
|
|
|
|
# Prometheus metrics configuration
|
|
metrics:
|
|
# Expose the metrics HTTP endpoint
|
|
enabled: false
|
|
|
|
# Address to bind for the metrics server
|
|
listen_address: ":9729"
|
|
|
|
# Emit per-endpoint gauges labeled by FQDN/IP
|
|
per_endpoint_metric: false
|