Skip to content

ws-bridged.yaml.example matched nicht dem Parser-Schema #3

Description

@SandraK82

Beschreibung

packaging/linux/configs/ws-bridged.yaml.example (was beim Distro-
Install nach /etc/zerodds/ws-bridged.yaml.example kopiert wird, und
auch im fishermen21/zerodds-ws-bridged Docker-Image landet) hat
verschachtelte Top-Level-Keys wie participant.domain_id,
websocket.bind, routes: mit dds_topic:, observability.metrics_bind.

Der echte YAML-Parser in crates/websocket-bridge/src/daemon/config.rs::load_from_str
erwartet aber flache Top-Level-Keys: listen:, domain:,
log_level:, tls:, auth:, acl:, metrics:, topics:.

Da der Parser unbekannte Keys mit _ => {} stillschweigend ignoriert,
fällt die Fehlkonfig nicht durch ConfigError. Bridge bootet einfach
mit Defaults:

[zerodds-ws-bridged] starting on 127.0.0.1:8080 domain=0 topics=0
[zerodds-ws-bridged] auth-mode=none acl-entries=0

User merken's nicht.

Reproduktion

  1. Bridge starten mit dem unveränderten example:
    zerodds-ws-bridged --config packaging/linux/configs/ws-bridged.yaml.example
  2. Log zeigt 127.0.0.1:8080 domain=0 topics=0 auth-mode=none
    trotz 0.0.0.0:8080, bidirectional-route, etc. in der Datei.

Spec-Bezug

docs/specs/zerodds-ws-bridge-1.0.md §3 hat das richtige Schema
(listen:, topics: mit direction: bidir). Spec und Parser stimmen
überein — nur das example-File ist veraltet.

Fix-Vorschlag

example-yaml umschreiben gegen das tatsächlich akzeptierte Schema.
Plus: Hinweis in Kommentar dass unbekannte Keys silent-ignored werden
(Tippfehler fallen nicht durch Validation auf).

Optional als Follow-up: Parser sollte unbekannte Top-Level-Keys mindestens
als WARN loggen, damit ähnliche Doku-Drift in Zukunft auffällt.

PR folgt.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions