Skip to content

fix(ws-bridged): apply --topic/--auth-token/--tls/--metrics to config - #2

Closed
SandraK82 wants to merge 1 commit into
mainfrom
fix/ws-bridged-cli-merge
Closed

fix(ws-bridged): apply --topic/--auth-token/--tls/--metrics to config#2
SandraK82 wants to merge 1 commit into
mainfrom
fix/ws-bridged-cli-merge

Conversation

@SandraK82

Copy link
Copy Markdown
Contributor

Closes #1.

Summary

bin/zerodds-ws-bridged.rs::run() mergte nur --listen, --domain und
--log-level aus den geparsten CliArgs in die DaemonConfig. Die
anderen Flags (--topic, --auth-token, --tls-cert, --tls-key,
--metrics) waren in cli::parse() korrekt extrahiert, wurden aber
nie auf cfg übertragen.

Changes

  • apply_cli_overrides(cfg, args) extrahiert, alle CLI-Flags werden
    jetzt auf die Config angewendet.
  • --topic ist additiv (an cfg.topics angehängt) mit
    default_ws_path-Mapping und type_name == name als Default.
    direction wird auf bidir gesetzt (Spec-Default).
  • --auth-token impliziert auth_mode = "bearer".
  • --tls-cert / --tls-key impliziert tls_enabled = true.
  • --metrics impliziert metrics_enabled = true.
  • 8 Unit-Tests in #[cfg(test)] mod tests-Block direkt im bin-Crate.

Test Plan

  • cargo test -p zerodds-websocket-bridge --bin zerodds-ws-bridged --features daemon
  • Manuelle Verifikation gegen fishermen21/zerodds-ws-bridged:v1.0.0-rc.1:
    Boot-Log zeigte topics=0, auth-mode=none trotz CLI-Flags →
    Tests + Code-Review bestätigten den Bug.
  • CI

Notes

--topic mit nur dem Namen registriert keinen DDS-Type-Schema —
in v1.0.0-rc.1 reicht das für Routing-Setup, aber YAML mit
expliziten type:-Feldern ist weiterhin der empfohlene Pfad für
Production. Die Spec-Note zu --topic (CLI §2) ist davon
unverändert.

DCO: Signed-off-by enthalten.

Bisher mergte run() in bin/zerodds-ws-bridged.rs nur --listen, --domain
und --log-level in die DaemonConfig. Alle anderen CLI-Flags wurden via
cli::parse() korrekt geparst, dann aber ignoriert. Resultat: ein User
der --topic Foo --auth-token secret startet, bekommt eine Bridge mit
topics=0, auth-mode=none.

Fix: apply_cli_overrides() extrahiert, mit allen Feldern. --topic ist
additiv (an cfg.topics angehängt) mit default_ws_path-Mapping; alle
anderen Flags sind Replace-Operationen. --auth-token impliziert
auth_mode=bearer, --tls-cert/--tls-key impliziert tls_enabled=true,
--metrics impliziert metrics_enabled=true (CLI-Setzen-bedeutet-Aktiv).

Plus 8 Unit-Tests in einem cfg(test)-Module direkt im bin-Crate.

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

Copy link
Copy Markdown
Contributor Author

Superseded by #5 — bundled with #4 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 fix/ws-bridged-cli-merge 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: --topic/--auth-token/--tls-*/--metrics CLI-Flags werden ignoriert

1 participant