Files
gala-ki-spielwiese/quarkus-automaton/src/main/java/de/galabau/dateieingang/config/SftpConfig.java

48 lines
1.4 KiB
Java

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();
}