Backup export/import now covers Role, User, RolePermission, Notification, AuditLog and Document (with actual file content), not just business data - matching "wirklich alle Daten". Role/User use natural keys (role.key, resource+action) so a bundle restores cleanly into a different database. Adds BackupSchedulerService (@nestjs/schedule) for cron-based automatic backups to a local path (BACKUP_STORAGE_PATH), with retention pruning and a file-mtime guard against duplicate runs across replicas. New GET /backup/schedule and POST /backup/schedule/run-now endpoints, plus a status card and manual trigger in the frontend Backup settings page.
24 lines
1006 B
YAML
24 lines
1006 B
YAML
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: apicore-backend-config
|
|
data:
|
|
PORT: "3001"
|
|
JWT_ACCESS_EXPIRES_IN: "15m"
|
|
JWT_REFRESH_EXPIRES_IN: "7d"
|
|
FRONTEND_ORIGIN: "https://apicore.example.com"
|
|
DOCUMENTS_STORAGE_PATH: "/data/documents"
|
|
# Automatische Backups. Ohne BACKUP_STORAGE_PATH bleibt der Zeitplan
|
|
# deaktiviert. Bei >1 Replica muss dies auf ein geteiltes Volume zeigen,
|
|
# wie DOCUMENTS_STORAGE_PATH.
|
|
BACKUP_STORAGE_PATH: "/data/backups"
|
|
BACKUP_CRON_SCHEDULE: "0 3 * * *"
|
|
BACKUP_RETENTION_COUNT: "14"
|
|
COOKIE_SECURE: "true"
|
|
# Entra ID SSO. Issuer ist die v2.0-Metadaten-URL des Tenants,
|
|
# Redirect-URI muss exakt der im App-Registrierung hinterlegten entsprechen.
|
|
# Ohne diese vier Variablen (siehe secret.example.yaml fuer Client-ID/-Secret)
|
|
# bleibt SSO deaktiviert, /auth/sso/status meldet dann enabled: false.
|
|
OIDC_ISSUER_URL: "https://login.microsoftonline.com/<tenant-id>/v2.0"
|
|
OIDC_REDIRECT_URI: "https://api.apicore.example.com/api/v1/auth/sso/callback"
|