diff --git a/VERSION b/VERSION index 4a3a6e6..f6adb66 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.1.85 +1.1.86 diff --git a/cmd/edgeguard-api/main.go b/cmd/edgeguard-api/main.go index 8d6c8ec..2a79cd1 100644 --- a/cmd/edgeguard-api/main.go +++ b/cmd/edgeguard-api/main.go @@ -60,7 +60,7 @@ import ( usersvc "git.netcell-it.de/projekte/edgeguard-native/internal/services/users" ) -var version = "1.1.85" +var version = "1.1.86" func main() { addr := os.Getenv("EDGEGUARD_API_ADDR") diff --git a/cmd/edgeguard-ctl/main.go b/cmd/edgeguard-ctl/main.go index 44f2965..4276399 100644 --- a/cmd/edgeguard-ctl/main.go +++ b/cmd/edgeguard-ctl/main.go @@ -11,7 +11,7 @@ import ( "git.netcell-it.de/projekte/edgeguard-native/internal/services/setup" ) -var version = "1.1.85" +var version = "1.1.86" const usage = `edgeguard-ctl — EdgeGuard CLI diff --git a/cmd/edgeguard-scheduler/main.go b/cmd/edgeguard-scheduler/main.go index 7b49a30..c6340a2 100644 --- a/cmd/edgeguard-scheduler/main.go +++ b/cmd/edgeguard-scheduler/main.go @@ -35,7 +35,7 @@ import ( "git.netcell-it.de/projekte/edgeguard-native/internal/services/tlscerts" ) -var version = "1.1.85" +var version = "1.1.86" const ( // renewTickInterval — how often we re-evaluate expiring certs. diff --git a/management-ui/src/i18n/locales/de/common.json b/management-ui/src/i18n/locales/de/common.json index 903a591..6541de6 100644 --- a/management-ui/src/i18n/locales/de/common.json +++ b/management-ui/src/i18n/locales/de/common.json @@ -806,6 +806,7 @@ "kindServer": "server — einzelner Host", "address": "Adresse / Host", "addressExtra": "FQDN (für pool: 0.de.pool.ntp.org) oder IP.", + "addressPlaceholder": "0.de.pool.ntp.org oder 10.0.0.10", "iburst": "iburst", "prefer": "prefer", "minpoll": "min-poll", @@ -1090,6 +1091,34 @@ "testFailed": "Test fehlgeschlagen", "confirmDelete": "Ziel {{name}} wirklich löschen?", "targetExtra": "Frei-Text-Label für die Übersicht. Setze hier den Bucket/Path-Hinweis (s3://my-bucket oder sftp://backup@host).", + "namePlaceholder": "z.B. MinIO offsite / Hetzner Storage Box", + "kindS3": "S3 (AWS / MinIO / R2 / B2 / Hetzner Object)", + "kindSftp": "SFTP (SSH)", + "s3": { + "endpoint": "Endpoint", + "endpointExtra": "s3.amazonaws.com / minio.example.com:9000 / fsn1.your-objectstorage.com", + "region": "Region", + "regionPlaceholder": "eu-central-1 / auto (R2)", + "bucket": "Bucket", + "accessKey": "Access Key", + "secretKey": "Secret Key", + "pathPrefix": "Path Prefix", + "pathPrefixExtra": "z.B. edgeguard/utm-1 — wird vor jedem Dateinamen gesetzt", + "useSsl": "HTTPS (use_ssl)" + }, + "sftp": { + "host": "Host", + "port": "Port", + "username": "Benutzername", + "password": "Passwort", + "passwordExtra": "Entweder Passwort ODER Private Key.", + "privateKey": "Private Key (OpenSSH, base64)", + "privateKeyPlaceholder": "base64-kodierter OpenSSH Private Key", + "remoteDir": "Remote-Verzeichnis", + "remoteDirExtra": "z.B. /backups/edgeguard", + "hostKeyFp": "Host-Key-Fingerprint", + "hostKeyFpExtra": "Optional. SHA256:... — leer lassen für TOFU (unsicher gegen MitM)" + }, "col": { "name": "Name", "kind": "Typ", diff --git a/management-ui/src/i18n/locales/en/common.json b/management-ui/src/i18n/locales/en/common.json index c848722..ab89418 100644 --- a/management-ui/src/i18n/locales/en/common.json +++ b/management-ui/src/i18n/locales/en/common.json @@ -806,6 +806,7 @@ "kindServer": "server — single host", "address": "Address / host", "addressExtra": "FQDN (for pool: 0.de.pool.ntp.org) or IP.", + "addressPlaceholder": "0.de.pool.ntp.org or 10.0.0.10", "iburst": "iburst", "prefer": "prefer", "minpoll": "min-poll", @@ -1090,6 +1091,34 @@ "testFailed": "Test failed", "confirmDelete": "Really delete target {{name}}?", "targetExtra": "Free-text label for the overview. Use bucket/path hint (s3://my-bucket or sftp://backup@host).", + "namePlaceholder": "e.g. MinIO offsite / Hetzner Storage Box", + "kindS3": "S3 (AWS / MinIO / R2 / B2 / Hetzner Object)", + "kindSftp": "SFTP (SSH)", + "s3": { + "endpoint": "Endpoint", + "endpointExtra": "s3.amazonaws.com / minio.example.com:9000 / fsn1.your-objectstorage.com", + "region": "Region", + "regionPlaceholder": "eu-central-1 / auto (R2)", + "bucket": "Bucket", + "accessKey": "Access Key", + "secretKey": "Secret Key", + "pathPrefix": "Path Prefix", + "pathPrefixExtra": "e.g. edgeguard/utm-1 — prepended to every filename", + "useSsl": "HTTPS (use_ssl)" + }, + "sftp": { + "host": "Host", + "port": "Port", + "username": "Username", + "password": "Password", + "passwordExtra": "Either password OR private key.", + "privateKey": "Private Key (OpenSSH, base64)", + "privateKeyPlaceholder": "base64-encoded OpenSSH private key", + "remoteDir": "Remote Dir", + "remoteDirExtra": "e.g. /backups/edgeguard", + "hostKeyFp": "Host Key Fingerprint", + "hostKeyFpExtra": "Optional. SHA256:... — leave empty for TOFU (insecure against MitM)" + }, "col": { "name": "Name", "kind": "Kind", diff --git a/management-ui/src/pages/Backups/RemoteTargets.tsx b/management-ui/src/pages/Backups/RemoteTargets.tsx index 10c8a6c..2a9d40f 100644 --- a/management-ui/src/pages/Backups/RemoteTargets.tsx +++ b/management-ui/src/pages/Backups/RemoteTargets.tsx @@ -250,12 +250,12 @@ export default function RemoteTargetsTab() {