Skip to content

feat(dc_bridge): bless vector as a Destination type - #455

Merged
Minipada merged 2 commits into
jazzyfrom
feature/443-bless-vector-as-a-destination-type
Aug 31, 2026
Merged

feat(dc_bridge): bless vector as a Destination type#455
Minipada merged 2 commits into
jazzyfrom
feature/443-bless-vector-as-a-destination-type

Conversation

@Minipada

Copy link
Copy Markdown
Owner

Summary

  • Blesses vector as a Destination type alongside postgres, s3, file and console (ADR-0003), so a robot's edge-aggregator hop is validated ROS-param config instead of hand-written passthrough TOML that DC never parses.
  • vector_from_raw requires host and port (no defaults — unlike postgres's dev-friendly 127.0.0.1/5432, there's no sensible address to assume for another Shipper) and validates the port range 1-65535, reusing the same RawDestinationParams::host/port fields postgres already declares — no new ROS param plumbing needed in bridge_node.cpp.
  • render_sink emits type = "vector", address = "<host>:<port>", and the same disk buffer every other blessed sink gets — the identical shape already proven end-to-end by tools/e2e/params/e2e_limits_forward_sink.toml's hand-written passthrough sink (verified against the pinned Vector build; see that file's header), now generated and validated by dc_bridge itself instead of hand-written TOML.
  • Passthrough (custom_config_files) is untouched for every other sink type.
  • Updates doc/src/dc/destinations.md (type table + example) and every other doc page that enumerated the blessed set as exactly four types.

Test plan

  • prek run --all-files --skip build-doc passes (clang-format, REUSE, yaml/toml lint, etc.)
  • New dc_bridge render-test coverage (render_test.cpp), matching the existing pattern for postgres/s3/file:
    • VectorDestinationForwardsToAggregator — gold-file render test (test/fixtures/render/vector_destination.toml)
    • VectorFromRawRejectsMissingHost / RejectsMissingPort / RejectsOutOfRangePort / BuildsAddress
    • DestinationFromRawBuildsS3FileConsole extended to cover vector
  • colcon test --packages-select dc_bridge — not run locally (this sandbox has no ROS 2 install and no network access to fetch vector_vendor/aws_sdk_vendor for a from-scratch workspace build); CI's build-workspace job covers this.

Closes #443

A robot's edge aggregator hop was only reachable through hand-written,
unvalidated passthrough TOML (`type = "vector"` custom_config_files
snippets) — a typo there means the robot silently ships nowhere.
`vector` now joins postgres/s3/file/console as a blessed Destination
type, configured entirely from ROS parameters (`host`, `port`) with
the same startup-time validation (missing host, out-of-range port).
The rendered sink forwards to `host:port` over Vector's own native
inter-instance protocol, with the same disk buffer every other
blessed sink gets.

Closes #443

Signed-off-by: David Bensoussan <d.bensoussan@proton.me>
Comments only — toml++ discards them at parse time, so the gold-file
equality check in VectorDestinationForwardsToAggregator is unaffected.
Line-by-line explanation of what each section of the rendered config
does, as a worked example for configuring a vector Destination.

Signed-off-by: David Bensoussan <d.bensoussan@proton.me>
@codecov

codecov Bot commented Aug 31, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.00%. Comparing base (2b2051b) to head (f7863e8).

Additional details and impacted files
@@            Coverage Diff             @@
##            jazzy     #455      +/-   ##
==========================================
+ Coverage   70.93%   71.00%   +0.08%     
==========================================
  Files         119      119              
  Lines        7401     7419      +18     
==========================================
+ Hits         5249     5267      +18     
  Misses       2152     2152              
Flag Coverage Δ
cpp-jazzy 71.00% <100.00%> (+0.08%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Minipada
Minipada merged commit ba2f436 into jazzy Aug 31, 2026
11 checks passed
@github-actions
github-actions Bot deleted the feature/443-bless-vector-as-a-destination-type branch August 31, 2026 11:24
@Minipada Minipada mentioned this pull request Aug 31, 2026
6 tasks
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.

1 participant