# Offline validation: go run ./cmd/test-mqtt5 --config config.example.toml check-config # Supply real test credentials using environment variables or an ignored password file. # All relative file paths resolve from the working directory. [mqtt] # Plaintext is test-only and requires mqtt:// plus this explicit opt-in. allow_plaintext = false url = "tls://localhost:8883" client_id = "rm5-lab-observer-01" username = "test-backend" password = "" password_file = "" qos = 1 clean_start = true session_expiry = "5m" keep_alive = "30s" reconnect_min = "1s" reconnect_max = "30s" [tls] ca_file = "" client_cert = "" client_key = "" [topics] namespace = "robot-market/test/v1" device_id = "sim-001" # Observe mode only: add other explicitly ACL-authorized identities. observe_devices = "" # Show every topic/payload under the namespace without schema validation. observe_all = false [deadlines] connect = "10s" operation = "5s" command = "15s" shutdown = "5s" [logging] level = "info" format = "text" # Enable to inspect arbitrary test payloads, even failed contracts. raw_payloads = false [limits] payload_bytes = 16384 preview_bytes = 4096 pending_commands = 128 inbound_queue = 256 event_history = 1000 dedup_entries = 1024 dedup_retention = "10m" [simulator] telemetry_interval = "5s" ack_delay = "0s" [web] enabled = false address = "127.0.0.1:8080" max_viewers = 8 viewer_queue = 64 [receipts] # Application ACKs for raw device messages; device subscribes to its /acks topic. enabled = false