Refactoring von Configs in zentralen config Ordner

This commit is contained in:
2026-04-21 15:13:57 +02:00
parent 8f7fd949f4
commit 599912ef94
6 changed files with 13 additions and 9 deletions

View File

@@ -0,0 +1,47 @@
package de.galabau.dateieingang.config;
import io.smallrye.config.ConfigMapping;
import java.util.Optional;
/** SFTP-Konfiguration. Credentials kommen ausschließlich aus Umgebungsvariablen. */
@ConfigMapping(prefix = "galabau.sftp")
public interface SftpConfig {
/** SFTP-Hostname, z.B. {@code sftp.lieferant.de}. */
String host();
/** SFTP-Port, Standard: 22. */
int port();
/** SFTP-Benutzername. */
String username();
/**
* SFTP-Passwort. Nur verwendet wenn kein Private Key konfiguriert ist.
* Aus Env-Var {@code GALABAU_SFTP_PASSWORD}.
*/
String password();
/**
* SHA256-Fingerprint des SFTP-Host-Keys, z.B. {@code SHA256:AbCdEf...}.
* Ermitteln: {@code ssh-keyscan host | ssh-keygen -lf -}
* Wenn nicht gesetzt: PromiscuousVerifier (nur Dev — gibt WARN aus).
*/
Optional<String> hostKeyFingerprint();
/** Remote-Verzeichnis auf dem SFTP-Server, z.B. {@code /outgoing}. */
String remotePath();
/** Lokales Arbeitsverzeichnis für Downloads, z.B. {@code /tmp/sftp-work}. */
String localWorkDir();
/**
* Pfad zur Private-Key-Datei für Public-Key-Auth (empfohlen für Produktion).
* Wenn gesetzt, wird Passwort-Auth ignoriert.
*/
Optional<String> privateKeyPath();
/** Passphrase für den Private Key, falls verschlüsselt. */
Optional<String> privateKeyPassphrase();
}