# Factory defaults for Nivato Logger devices.
# Local deployments may edit this file without rebuilding the application.
# UWAGA: hasła MQTT trzymaj w /opt/nivato-logger/data/mqtt.secrets (0600), nie tutaj.

# Application paths
NIVATO_DATA_DIR=/opt/nivato-logger/data
NIVATO_LOG_DIR=/opt/nivato-logger/logs
NIVATO_SERVER_PORT=80

# Network hardware defaults
NIVATO_ETH_INTERFACE=eth0
NIVATO_WIFI_INTERFACE=wlan0
NIVATO_WIFI_HOTSPOT_INTERFACE=wlan0
NIVATO_WIFI_CLIENT_INTERFACE=
NIVATO_WIFI_REG_DOMAIN=PL

# Setup hotspot defaults
NIVATO_WIFI_HOTSPOT_PASSWORD=nivato-setup
NIVATO_WIFI_HOTSPOT_IP=192.168.1.254
NIVATO_WIFI_HOTSPOT_AUTO_START=true
NIVATO_WIFI_HOTSPOT_STARTUP_RETRIES=12
NIVATO_WIFI_HOTSPOT_STARTUP_DELAY_SECONDS=5
NIVATO_WIFI_HOTSPOT_WATCHDOG_INTERVAL_MS=120000
# Marker zakończonej konfiguracji — gdy istnieje, hotspot nie startuje przy boot.
NIVATO_WIFI_HOTSPOT_DISABLED_MARKER=/opt/nivato-logger/data/hotspot-disabled

# Command and runtime defaults
NIVATO_SERVICE_USER=ubuntu
NIVATO_SERVICE_GROUP=ubuntu
NIVATO_COMMAND_TIMEOUT_MINUTES=2
NIVATO_PASSWORD_FILE=/opt/nivato-logger/data/password.bcrypt

# JVM — mała płytka. Bez MaxMetaspaceSize: 96/160m dusi Spring/Jackson (OutOfMemoryError: Metaspace).
# Sufit: MemoryMax w unicie systemd.
JAVA_TOOL_OPTIONS="-Xms64m -Xmx256m -Xss512k -XX:+UseSerialGC"

# MQTT / EMQX — tożsamość urządzenia przez certyfikat klienta mTLS (CN = numer seryjny).
# Certyfikat jest generowany/odnawiany automatycznie (patrz NIVATO_CERT_RENEW_URL /
# NIVATO_GATEWAY_SECRET niżej) i zapisywany pod NIVATO_MQTT_CLIENT_CERT/_KEY.
# User/hasło (NIVATO_MQTT_USERNAME/_PASSWORD) są teraz opcjonalne/legacy — EMQX ich nie wymaga
# przy mTLS. Sekrety trzymaj w /opt/nivato-logger/data/mqtt.secrets (chmod 0600), nie tutaj.
NIVATO_MQTT_ENABLED=true
NIVATO_MQTT_BROKER_URI=ssl://mqtt.nivato.dev:8883
NIVATO_MQTT_USERNAME=
NIVATO_MQTT_PASSWORD=
# Opcjonalny CA/bundle do weryfikacji serwera. Puste = domyślne CA JVM + auto mqtt-ca.pem obok
# client-cert (po provisioningu). Najlepiej Root (lub root+intermediate); sam intermediate też
# działa, o ile broker prezentuje Root tej samej PKI.
NIVATO_MQTT_CA_CERT=
# Puste = mTLS wyłączone (powrót do zwykłego TLS). Domyślne ścieżki poniżej włączają mTLS.
NIVATO_MQTT_CLIENT_CERT=/opt/nivato-logger/data/ssl/mqtt-client-cert.pem
NIVATO_MQTT_CLIENT_KEY=/opt/nivato-logger/data/ssl/mqtt-client-key.pem
NIVATO_MQTT_KEEPALIVE_SECONDS=60
NIVATO_MQTT_TOPIC_PREFIX=flota/logger
# Jak często (ms) sprawdzać czy certyfikat klienta mTLS wygasa i odnowić go w tle. 86400000 = 24h.
NIVATO_MQTT_CERT_CHECK_INTERVAL_MS=86400000

# Provisioning certyfikatu klienta mTLS — patrz DeviceCertificateService. Obejście tymczasowe:
# logger woła nivato-cloud bezpośrednio (zwykły HTTP), docelowo pośredniczy gateway-server (8443).
NIVATO_CERT_RENEW_URL=https://api-cloud.nivato.dev/api/devices/certs/renew
# Bazowy URL API nivato-cloud (bez ścieżki) — healthcheck / telemetria:
# POST {base}/api/devices/{SN}/healthcheck|telemetry
NIVATO_CLOUD_API_BASE_URL=https://api-cloud.nivato.dev
# Cudzysłowy wymagane: # i & w EnvironmentFile systemd
NIVATO_GATEWAY_SECRET="17dcu20cxk30cUDY9*#mx&S"
# Panel: powiązanie z kontem (auth-front → claim-front)
NIVATO_AUTH_FRONT_URL=https://auth.nivato.dev
NIVATO_CLAIM_FRONT_URL=https://claim.nivato.dev
# Telemetria falowników SunSpec → cloud (co 60 s)
NIVATO_TELEMETRY_ENABLED=true
NIVATO_TELEMETRY_UPLOAD_INTERVAL_MS=60000
NIVATO_TELEMETRY_UPLOAD_INITIAL_DELAY_MS=30000
