Code0-Flow - Flow Management Library
code0-flow is a Rust library developed by Code0 for managing flows within the FlowQueue and FlowStore. This libray is only for the internal usage of the execution block services (Aquila, Draco & Tarurs) and is not intendet to get used elsewhere.
Features
flow_definition
update the Adapter & Runtime definitionsflow_config
base configuration for each serviceflow_health
provide health checks including NATS connectivity for readiness probes
FlowStore
Keys
The key in the FlowStore in a Store will always have the pattern:
flow_id::project_id::flow_type_identifier::<any_flow_type_specific_data>
E.g. for REST:
1::1::REST::test.code0.tech::GET
This would be a REST Flow identifier
FlowDefinition
// Define FlowType
let flow_type = FlowType ;
// Define DataTypes
let data_type = DataType
// Send to get updated in Sagittarius
let update_client = from_url
.with_data_types
.with_flow_types;
// Response --> true if successfull
update_client.send.await;
FlowHealth
use HealthService;
use HealthServer;
// Create health service with NATS URL
let health_service = new;
// Use with tonic gRPC server
let health_server = new;
// The service provides:
// - "liveness" check: Always returns Serving (application is running)
// - "readiness" check: Returns Serving only if NATS connection is healthy