From 573f387d8495a00e63f24083caaf0fce28b88cb5 Mon Sep 17 00:00:00 2001 From: Gemini Agent Date: Thu, 4 Dec 2025 05:25:49 +0000 Subject: [PATCH] =?UTF-8?q?Doku:=20README=20auf=20Deutsch=20=C3=BCbersetzt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 60 +++++++++++++++++++++++++++---------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 7e6c020..259164a 100644 --- a/README.md +++ b/README.md @@ -1,47 +1,47 @@ # CoreDNS NetBox Sync -This container automates the generation of DNS zone files for CoreDNS (or BIND) by synchronizing data from [NetBox](https://github.com/netbox-community/netbox). It fetches IPAM data (active IPs with DNS names) and DNS Plugin records. +Dieser Container automatisiert die Generierung von DNS-Zonendateien für CoreDNS (oder BIND), indem er Daten aus [NetBox](https://github.com/netbox-community/netbox) synchronisiert. Er ruft IPAM-Daten (aktive IPs mit DNS-Namen) und DNS-Plugin-Einträge ab. -## Features +## Funktionen -* **Automated Synchronization:** Periodically fetches data from NetBox (Default: 10 minutes). -* **Fail-Safe Operation:** If NetBox is unreachable or returns errors, the existing zone files are preserved to prevent `NXDOMAIN` issues. -* **Dual Zone Support:** Generates both Forward and Reverse (PTR) zones. -* **Intelligent Fallback:** Automatically configures a fallback Nameserver if no NS records are defined in NetBox. +* **Automatische Synchronisation:** Ruft periodisch Daten von NetBox ab (Standard: alle 10 Minuten). +* **Ausfallsicherer Betrieb:** Wenn NetBox nicht erreichbar ist oder Fehler zurückgibt, werden die bestehenden Zonendateien beibehalten, um `NXDOMAIN`-Probleme zu vermeiden. +* **Dual-Zone-Unterstützung:** Generiert sowohl Forward- als auch Reverse-(PTR)-Zonen. +* **Intelligenter Fallback:** Konfiguriert automatisch einen Fallback-Nameserver, falls in NetBox keine NS-Einträge definiert sind. -## Configuration +## Konfiguration -Configuration is handled entirely via environment variables. +Die Konfiguration erfolgt vollständig über Umgebungsvariablen. -### Required Variables +### Erforderliche Variablen -| Variable | Description | +| Variable | Beschreibung | | :--- | :--- | -| `NETBOX_URL` | The full URL to the NetBox instance (e.g., `http://netbox.local`). | -| `NETBOX_TOKEN` | The API Token for authentication (Read-Only permissions are sufficient). | +| `NETBOX_URL` | Die vollständige URL zur NetBox-Instanz (z.B. `http://netbox.local`). | +| `NETBOX_TOKEN` | Das API-Token zur Authentifizierung (Nur-Lese-Berechtigungen sind ausreichend). | -### Optional Variables +### Optionale Variablen -| Variable | Default | Description | +| Variable | Standardwert | Beschreibung | | :--- | :--- | :--- | -| `REFRESH_INTERVAL` | `600` | Synchronization interval in seconds. | -| `ZONE_NAME` | `klenzel.net` | The DNS zone name to manage. | -| `REVERSE_ZONE_NAME` | `172.in-addr.arpa` | The reverse lookup zone name. | -| `OUTPUT_FILE_FWD` | `/zones/db.klenzel.net` | Path inside the container for the forward zone file. | -| `OUTPUT_FILE_REV` | `/zones/db.reverse.arpa` | Path inside the container for the reverse zone file. | -| `FALLBACK_NS_HOSTNAME`| `fks-01-cl-cdns` | Hostname used for NS record if none exist in NetBox. | -| `FALLBACK_NS_IP` | `172.25.16.152` | IP address for the fallback NS glue record. | +| `REFRESH_INTERVAL` | `600` | Synchronisationsintervall in Sekunden. | +| `ZONE_NAME` | `klenzel.net` | Der Name der zu verwaltenden DNS-Zone. | +| `REVERSE_ZONE_NAME` | `172.in-addr.arpa` | Der Name der Reverse-Lookup-Zone. | +| `OUTPUT_FILE_FWD` | `/zones/db.klenzel.net` | Pfad im Container für die Forward-Zonendatei. | +| `OUTPUT_FILE_REV` | `/zones/db.reverse.arpa` | Pfad im Container für die Reverse-Zonendatei. | +| `FALLBACK_NS_HOSTNAME`| `fks-01-cl-cdns` | Hostname, der als NS-Eintrag verwendet wird, falls keiner in NetBox existiert. | +| `FALLBACK_NS_IP` | `172.25.16.152` | IP-Adresse für den Fallback-NS-Glue-Record. | -## Usage +## Verwendung ### Docker -1. **Build the image:** +1. **Image bauen:** ```bash docker build -t local/dns-sync . ``` -2. **Run with environment variables:** +2. **Mit Umgebungsvariablen starten:** ```bash docker run -d \ --name klzDNS-worker \ @@ -49,19 +49,19 @@ Configuration is handled entirely via environment variables. --net=container:klzDNS-coredns \ -v klzDNS-data:/zones \ -e NETBOX_URL="http://172.30.242.99" \ - -e NETBOX_TOKEN="your-secret-token" \ + -e NETBOX_TOKEN="dein-geheimes-token" \ local/dns-sync ``` -### Using a `.env` file +### Verwendung einer `.env`-Datei -1. Create a `.env` file based on the example: +1. Erstellen Sie eine `.env`-Datei basierend auf dem Beispiel: ```bash cp .env.example .env - # Edit .env and add your credentials + # Bearbeiten Sie die .env und fügen Sie Ihre Zugangsdaten hinzu ``` -2. Run the container referencing the file: +2. Starten Sie den Container unter Verweis auf die Datei: ```bash docker run -d \ --name klzDNS-worker \ @@ -70,4 +70,4 @@ Configuration is handled entirely via environment variables. -v klzDNS-data:/zones \ --env-file .env \ local/dns-sync - ``` \ No newline at end of file + ```