Skip to content

feat: implement of Herald Service#11

Merged
jorisvilardell merged 7 commits intomainfrom
7-data-plane-action-dispatcher-logic
Feb 9, 2026
Merged

feat: implement of Herald Service#11
jorisvilardell merged 7 commits intomainfrom
7-data-plane-action-dispatcher-logic

Conversation

@jorisvilardell
Copy link
Collaborator

@jorisvilardell jorisvilardell commented Feb 9, 2026

This pull request restructures and modernizes the aether-herald-core domain module, primarily by grouping related entities into a new entities module, updating trait definitions to use the standard library's Future instead of the async-trait crate, and making several related code and dependency updates. These changes improve code organization, testability, and future compatibility.

Domain module restructuring and code organization:

  • Moved action, dataplane, deployment, and shard modules into a new entities module, and updated imports throughout the codebase to reference entities::* instead of the previous flat structure. [1] [2] [3]

Async trait modernization and testability:

  • Replaced the use of the async-trait crate with direct use of impl Future in trait method signatures for HeraldService, ControlPlaneRepository, and MessageBusRepository. This also introduces #[cfg_attr(test, mockall::automock)] to enable easier mocking in tests.
  • Removed the async-trait dependency from Cargo.toml and added tokio as a dev-dependency for async testing. [1] [2]

Error handling improvements:

  • Made the HeraldError enum Clone in addition to Debug and Error, enabling easier error propagation and handling.

Minor code and test updates:

  • Updated the conversion from Action to ActionEvent to use a more concise assignment.
  • Adjusted the type of preferred_username from String to Option<String> in test stubs and assertions to better reflect possible nullability in user data. [1] [2] [3]

@jorisvilardell jorisvilardell linked an issue Feb 9, 2026 that may be closed by this pull request
8 tasks
@jorisvilardell jorisvilardell changed the title 7 data plane action dispatcher logic Feat: Implemente of Herald Service Feb 9, 2026
@NathaelB NathaelB changed the title Feat: Implemente of Herald Service feat: implement of Herald Service Feb 9, 2026
Replace async_trait-based async fns with impl Future return types in
traits and implementations. Update mocks and tests to return Box::pin
futures, use Arc for shared test data, and add a
HeraldServiceTestBuilder
helper. Derive Clone for HeraldError and remove async-trait from
Cargo.toml and Cargo.lock
@NathaelB NathaelB self-requested a review February 9, 2026 22:42
Copy link
Owner

@NathaelB NathaelB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jorisvilardell jorisvilardell merged commit 8480aa7 into main Feb 9, 2026
1 of 2 checks passed
@jorisvilardell jorisvilardell deleted the 7-data-plane-action-dispatcher-logic branch February 9, 2026 22:50
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.

Herald: Data Plane Action Dispatcher

2 participants