hubcio commented on issue #3421:
URL: https://github.com/apache/iggy/issues/3421#issuecomment-4709599634
the one thing that actually matters for layout is workspace membership: it
has to be listed in the root `members` and pull the sdk via `iggy = { workspace
= true }`. that keeps it on a single lockfile with everything else (no second
`Cargo.lock` that can quietly drift from the edge sdk it's tracking) and inside
the same fmt/clippy/sort/test pipeline as the rest of the repo.
the directory itself i'm not fussed about, a top-level `gateways/kafka/` is
fine. just keep it a single flat crate to start (lib + thin bin, `publish =
false`), we can grow it from there.
it shouldn't live in `core/connectors/` though, even if it looks adjacent.
connectors are dlopened `.so` plugins behind a stable ffi abi, whereas this is
a standalone process speaking the kafka wire protocol and calling iggy over the
network. different shape entirely.
one heads-up for the first pr:CIi components are matched by explicit path
globs in `.github/config/components.yml` and there's no catch-all, so you'll
need to add a `rust-gateway` component (`paths: ["gateways/**"]`, `depends_on:
[rust-sdk]`) and wire it into the `rust` aggregate. otherwise gateway-only prs
match no component and quietly skip clippy/fmt/sort/test, which bites
post-merge.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]