Zum Inhalt springen

Inbetriebnahme

Terminal-Fenster
DNSE_LICENSE_FILE=/etc/dnseditor/license.json \
DNSE_ENCRYPTION_KEY=<hex-key> \
DNSE_ADMIN_PASSWORD=<start-passwort> \
./dnseditor-ee

Die Instanz lauscht wie CE auf 127.0.0.1:8422, sofern DNSE_LISTEN nichts anderes sagt.

EE übernimmt sämtliche Variablen der Community Edition — Datenbank, Verschlüsselung, ACME, SMTP, Valkey, Proxy-Vertrauen. Die vollständige Liste steht in der CE-Konfiguration.

Dazu kommen:

VariableVorgabeBedeutung
DNSE_LICENSE_FILE./license.jsonPfad zur Lizenzdatei
DNSE_LICENSE_PUBKEY—Publickey-Override (nur Entwicklung)
DNSE_SSO_ISSUER—OIDC-Issuer-URL
DNSE_SSO_CLIENT_ID—Client-ID beim Identity-Provider
DNSE_SSO_CLIENT_SECRET—Client-Secret
DNSE_SSO_REDIRECT_URL—Rücksprungadresse dieser Instanz
DNSE_SSO_AUTOPROVISIONonUnbekannte Identitäten automatisch anlegen

Einzelheiten zum Anmeldeverfahren: Single Sign-on.

CE und EE benutzen dasselbe Datenmodell. Der Wechsel besteht daher aus:

  1. CE-Dienst stoppen.
  2. Binärdatei gegen dnseditor-ee tauschen, Lizenzdatei hinterlegen.
  3. Mit denselben DNSE_ENCRYPTION_KEY und derselben Datenbank starten.

Schema-Anpassungen laufen beim Start automatisch. Ein Zurück auf CE ist möglich, solange keine EE-eigenen Funktionen zwingend gebraucht werden — die Daten bleiben lesbar.

Lokal wird das CE-Repo über ein go.work im Elternverzeichnis eingebunden.

Terminal-Fenster
make test # Go-Tests (race) + gofmt + vet
make run # Port 8423, mit Lizenz-Gate
make demo # Port 8433, Demo-Daten (Audit-Historie einsehbar)
make license # Dev-Lizenz neu signieren, z. B. nach Ablauf

Die CI baut ohne go.work. Neue Abhängigkeiten deshalb mit GOWORK=off go mod tidy aufnehmen und den CE-Pin nachziehen, wenn EE einen frischen CE-Stand braucht:

Terminal-Fenster
GOWORK=off GOPRIVATE=gitlab.techeve.de \
go get gitlab.techeve.de/dns-editor/dns-editor-ce@<commit>
GOWORK=off go mod tidy

EE erbt die komplette Absturzsicherung des Kerns: Panics in Handlern und Hintergrund-Jobs bleiben lokal, GET /healthz und GET /readyz melden den Zustand, und der eingebaute Watchdog beendet einen anhaltend ungesunden Prozess kontrolliert (Exit-Code 2), damit der Supervisor neu startet. Deshalb gehört zu jeder Installation eine Restart-Policy — systemd Restart=always bzw. Docker restart: unless-stopped. Konfiguration (DNSE_WATCHDOG*) und ein systemd-Unit-Beispiel stehen in der CE-Doku unter Einstieg → Betrieb & Selbstheilung.