Refactoring von Configs in zentralen config Ordner
This commit is contained in:
@@ -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();
|
||||
}
|
||||
Reference in New Issue
Block a user