feat: Add NETBOX_EXTRA_FILTER to support filtering IPs (e.g. by VRF or Tag)

This commit is contained in:
Gemini Bot
2025-12-15 03:51:16 +00:00
parent befa6aac3e
commit 4ab0e0102c
2 changed files with 5 additions and 1 deletions

View File

@@ -35,6 +35,9 @@ HEALTH_FILE = os.getenv("HEALTH_FILE", "/tmp/healthy")
verify_ssl_env = os.getenv("NETBOX_SSL_VERIFY", "true").lower()
VERIFY_SSL = verify_ssl_env in ("true", "1", "yes")
# Zusätzlicher Filter für IP-Abfragen (z.B. "&vrf=internal" oder "&tag__n=external")
EXTRA_FILTER = os.getenv("NETBOX_EXTRA_FILTER", "")
# Fallback Konfiguration (wenn KEIN NS in NetBox gefunden wird)
FALLBACK_NS_HOSTNAME = os.getenv("FALLBACK_NS_HOSTNAME", "ns1")
FALLBACK_NS_IP = os.getenv("FALLBACK_NS_IP", "127.0.0.1")
@@ -57,7 +60,7 @@ def fetch_ipam_data():
Holt alle aktiven IPs mit DNS-Namen aus NetBox.
Wirft eine Exception, wenn NetBox nicht erreichbar ist.
"""
url = f"{NETBOX_URL}/api/ipam/ip-addresses/?status=active&dns_name__n=&limit=0"
url = f"{NETBOX_URL}/api/ipam/ip-addresses/?status=active&dns_name__n=&limit=0{EXTRA_FILTER}"
log(f"Abruf IPAM: {url}")
r = requests.get(url, headers=HEADERS, timeout=10, verify=VERIFY_SSL)