- ClientApp stores domain types, RepaintCommand carries DisplayHint + Vec<(String,Value)> - adapters no longer convert Wire→Domain (eliminated duplication in esp32 + desktop) - event_service in application layer handles LayoutChanged/WebhookDataReceived/ThemeChanged - bootstrap event_handler reduced to 10-line dispatcher - polling_service reuses event_service::apply_and_broadcast (deduplicated broadcast pattern) - AppState.config_service() replaces 11 inline ConfigService::new() calls - delete unused poll_interval_secs parameter chain - delete unused StoragePort/ClientConfig (zero implementations)
18 lines
500 B
Plaintext
18 lines
500 B
Plaintext
# K-Frame Server Configuration
|
|
KFRAME_DATABASE_URL=sqlite:kframe.db?mode=rwc
|
|
KFRAME_TCP_ADDR=0.0.0.0:2699
|
|
KFRAME_HTTP_ADDR=0.0.0.0:3000
|
|
|
|
# Auth (required)
|
|
JWT_SECRET=change-me-to-a-random-secret
|
|
JWT_TTL_SECONDS=3600
|
|
|
|
# Encryption at rest (required, generate with: openssl rand -hex 32)
|
|
KFRAME_ENCRYPTION_KEY=change-me-generate-with-openssl-rand-hex-32
|
|
|
|
# SPA static files (optional, omit for dev mode with Vite proxy)
|
|
# KFRAME_SPA_DIR=spa/dist
|
|
|
|
# Logging (tracing-subscriber)
|
|
RUST_LOG=info,sqlx=warn
|