refactor: extract config logic to standalone crate#1974
refactor: extract config logic to standalone crate#1974
Conversation
Extract the configuration and environment variable loading logic from the `pb` crate into a new, dedicated `config` crate in `implants/lib/config`. This separation of concerns reduces the responsibility of the `pb` crate, which primarily handles Protocol Buffers and generated code. The workspace `Cargo.toml` and dependents (`imix`, `transport`) have been updated to depend on the new `config` crate. Internal module structure in both crates was adjusted to reflect this change (`pb::config::Config` is now `config::Config`). Co-authored-by: KCarretto <16250309+KCarretto@users.noreply.github.com>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
Summary
Previous Results
Insights
Slowest Tests
🎉 No failed tests in this run. | 🍂 No flaky tests in this run. Github Test Reporter by CTRF 💚 🔄 This comment has been updated |
Extract the YAML config parsing, DSN validation, and server pubkey fetching logic from `implants/lib/pb/build.rs` to `implants/lib/config/build.rs`. This ensures `pb` is only responsible for compiling `.proto` files. As a result, `pb::xchacha` no longer depends on a compile-time `SERVER_PUBKEY` constant. Instead, it uses a runtime-initialized `OnceLock` that is configured at startup by `imix/src/main.rs`. Build dependencies (`reqwest`, `serde`, etc.) have been moved accordingly. Co-authored-by: KCarretto <16250309+KCarretto@users.noreply.github.com>
Ran `cargo fmt` to fix formatting errors in `implants/lib/pb/src/xchacha.rs` and other files that were failing the `cargo fmt --check` CI step. Co-authored-by: KCarretto <16250309+KCarretto@users.noreply.github.com>
Extract the configuration and environment variable loading logic from the
pbcrate into a new, dedicatedconfigcrate inimplants/lib/config. This separation of concerns reduces the responsibility of thepbcrate, which primarily handles Protocol Buffers and generated code. The workspaceCargo.tomland dependents (imix,transport) have been updated to depend on the newconfigcrate. Internal module structure in both crates was adjusted to reflect this change (pb::config::Configis nowconfig::Config).PR created automatically by Jules for task 12819165653543374356 started by @KCarretto