Skip to content

docs(ws-bridged): example-yaml entspricht jetzt dem Parser-Schema - #4

Closed
SandraK82 wants to merge 1 commit into
mainfrom
docs/ws-bridged-example-yaml
Closed

docs(ws-bridged): example-yaml entspricht jetzt dem Parser-Schema#4
SandraK82 wants to merge 1 commit into
mainfrom
docs/ws-bridged-example-yaml

Conversation

@SandraK82

Copy link
Copy Markdown
Contributor

Closes #3.

Summary

Die alte packaging/linux/configs/ws-bridged.yaml.example hatte
verschachtelte Top-Level-Keys (participant.domain_id, websocket.bind,
routes: mit dds_topic:, observability.metrics_bind) — das echte
Parser-Schema in daemon/config.rs::load_from_str erwartet flach
listen:, domain:, log_level:, tls:, auth:, acl:, metrics:,
topics:.

Parser ignoriert unbekannte Keys (_ => {}), daher fiel die Drift nie auf:
Bridge bootete mit Defaults statt User-Setting.

Changes

  • example-yaml umgeschrieben gegen Parser-Schema + Spec §3.
  • Comments dokumentieren auth-Modi, ACL-Pflicht bei non-none-Auth, und
    silent-ignore-Verhalten als Doku-Drift-Watchpoint.

Test Plan

  • crates/websocket-bridge/src/daemon/config.rs::load_from_str
    gelesen, jeder Key in der neuen example-yaml hat ein passendes
    Match-Arm.
  • Gegen Spec §3 verglichen — gleiche Keys, gleiche Struktur.
  • CI

Follow-ups (separater PR, nicht in diesem Scope)

Parser sollte unbekannte Top-Level-Keys als WARN loggen, damit
zukünftige Doku-Drift sichtbar wird. Im Issue #3 als Follow-up
notiert.

DCO: Signed-off-by enthalten.

Die alte ws-bridged.yaml.example hatte verschachtelte Top-Level-Keys
(participant.domain_id, websocket.bind, routes, observability.metrics_bind)
die der echte YAML-Parser in daemon/config.rs nicht versteht — er erwartet
flache Keys (listen, domain) plus topics:/auth:/tls:/metrics:/acl:.

Da der Parser unbekannte Top-Level-Keys stillschweigend ignoriert
(load_from_str-Match: "_ => {}"), fällt die Fehlkonfig nicht durch
Validation-Errors auf. Bridge bootet mit Defaults (127.0.0.1:8080,
domain=0, topics=0, auth-mode=none).

Fix: example umgeschrieben gegen Spec §3 + Parser. Plus Erklär-Comments
für auth-mode, ACL (bei non-none-Auth Pflicht), und Hinweis auf das
silent-ignore-Verhalten.

Signed-off-by: Sandra Theresa Keßler <mail@sandra-kessler.net>
@SandraK82

Copy link
Copy Markdown
Contributor Author

Superseded by #5 — bundled with #2 plus loadback test + parser-WARN follow-up, full internal GitLab pipeline green (1064).

@SandraK82 SandraK82 closed this May 15, 2026
SandraK82 added a commit that referenced this pull request May 15, 2026
…tion (#5)

Bundles fixes for two bugs plus two follow-ups, internal GitLab pipeline 1064 green (13/13), GitHub Actions green (Build+Test + no_std).

- fix CLI merge: apply_cli_overrides() applies --topic/--auth-token/--tls/--metrics; previously only --listen/--domain/--log-level took effect. Includes 8 unit tests.
- fix yaml.example: rewritten against the flat parser schema (listen/domain/log_level/tls/auth/acl/metrics/topics); spec ref corrected from §4 to §3. Plus include_str!-based loadback integration test so future doc-drift fails CI instead of booting with defaults in production.
- parser drift-detection: load_from_str now emits a stderr WARN for unknown top-level keys (forward-compat preserved, drift visible). Unit test freezes the forward-compat semantics.

Closes #1, closes #3. Supersedes #2, #4.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@SandraK82
SandraK82 deleted the docs/ws-bridged-example-yaml branch May 19, 2026 15:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

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

1 participant