The idea is to provide simple kv-store for other third party apps on IC to consume yral infra by keeping their app stateless and dumping data to individual canisters that are maintained inside yral infra
Diagram
sequenceDiagram
actor Third-Party-App
box purple Yral:
participant Platform_Orchestrator
participant Third-Party-Index
participant Individual_Canister_C1
end
Third-Party-App->>Platform_Orchestrator: Requests for new Namespace to store data for.
note over Platform_Orchestrator: creates a new namespace for third party app
Platform_Orchestrator ->> Third-Party-Index: creates a new third party index canister
note over Third-Party-Index: This maintains all the canister that are currently used under third party app
Third-Party-Index --) Platform_Orchestrator: returns canister id
Platform_Orchestrator --) Third-Party-App: Returns canister id
Third-Party-App ->>Third-Party-Index: store key-value for U1 principal-id
note over Third-Party-Index: fetches canister-id for U1 principal
Third-Party-Index->>Individual_Canister_C1: write key-value pair
Individual_Canister_C1 --) Third-Party-Index: return the result
Third-Party-Index --)Third-Party-App: return the result
Description
The idea is to provide simple kv-store for other third party apps on IC to consume yral infra by keeping their app stateless and dumping data to individual canisters that are maintained inside yral infra
Diagram