new module endpoint#314
Open
raphael-goetz wants to merge 8 commits intomainfrom
Open
Conversation
… of new module structure)
GitLab Pipeline ActionGeneral informationLink to pipeline: https://gitlab.com/code0-tech/development/aquila/-/pipelines/2483245793 Status: Passed Job summariesdocs:previewDocumentation preview available at https://code0-tech.gitlab.io/-/development/telescopium/-/jobs/14109973364/artifacts/out/index.html |
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates Aquila to support the new module update endpoint (Issue #311) by upgrading tucana and refactoring gRPC wiring and configuration types from action-centric updates to module-centric updates.
Changes:
- Upgrade
tucanadependency to0.0.70. - Add
ModuleServiceserver/client plumbing and switch config broadcasting fromActionConfigurationstoModuleConfigurations. - Update the Action Transfer service and related flow/config plumbing to the new protobuf message types (module/action message renames).
Reviewed changes
Copilot reviewed 21 out of 22 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/startup/mod.rs | Switch broadcast channel payload from ActionConfigurations to ModuleConfigurations. |
| src/startup/dynamic_mode.rs | Update dynamic-mode startup signature to use ModuleConfigurations broadcaster. |
| src/server/mod.rs | Rewire gRPC server to register ModuleService (and remove several previous service registrations). |
| src/server/module_service_server_impl.rs | New ModuleService server implementation (update endpoint). |
| src/server/action_transfer_service_server_impl.rs | Update ActionTransfer gRPC streaming types and config forwarding to ModuleConfigurations. |
| src/server/runtime_function_service_server_impl.rs | Remove RuntimeFunctionDefinition service implementation. |
| src/server/function_service_server_impl.rs | Remove FunctionDefinition service implementation. |
| src/server/flow_type_service_server_impl.rs | Remove FlowType service implementation. |
| src/server/data_type_service_server_impl.rs | Remove DataType service implementation. |
| src/sagittarius/module_service_client_impl.rs | New Sagittarius module service client. |
| src/sagittarius/mod.rs | Update Sagittarius module exports to include module_service_client_impl and drop removed clients. |
| src/sagittarius/flow_service_client_impl.rs | Forward ModuleConfigurations from flow stream into broadcast channel. |
| src/sagittarius/runtime_status_service_client_impl.rs | Map new ActionStatus status variant through to Sagittarius request. |
| src/sagittarius/test_execution_client_impl.rs | Adjust test execution response decoding to ExecutionResult. |
| src/configuration/service.rs | Migrate configuration parsing/output types to ModuleConfigurations. |
| Cargo.toml | Bump tucana to 0.0.70. |
| Cargo.lock | Lockfile updates for tucana 0.0.70 and transitive changes. |
Comments suppressed due to low confidence (1)
src/server/action_transfer_service_server_impl.rs:181
handle_logononly checks that the provided token exists inServiceConfiguration(has_action(token)), but it does not verify that the token is authorized for the claimed module/action identifier used to subscribe toaction.<identifier>.*. This can allow an action with a valid token to impersonate another identifier by choosing a differentmodule.identifier. Add a validation that binds token -> allowed identifier (e.g., look up the configured action by token and compare itsservice_name/identifier), and reject mismatches.
let identifier = match action_logon.module {
Some(ref m) => m.identifier.clone(),
None => {
return Err(Status::aborted("Please provide a module configuration."));
}
};
let lock = actions.lock().await;
if !lock.has_action(&token.to_string()) {
log::debug!(
"Rejected action with identifer: {}, becuase its not registered",
identifier
);
return Err(Status::unauthenticated(
"token not matching to action identifier",
));
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Raphael Götz <52959657+raphael-goetz@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolves: #311