1 @startuml Register Provider
3 participant rAppManager
6 participant providermanager
7 participant helmmanager
8 participant publishservice
11 rAppCatalogue->rAppManager: Start rApp, with rApp\n descriptor specifying which\n services to expose and consume
12 alt#paleGreen #paleGreen Provider Enrolment
13 rAppManager->capifcore: Register provider with\n APIProviderEnrolmentDetails
14 capifcore->providermanager:Store provider
15 capifcore->rAppManager: Provider with apfId and aefIds
17 alt#LightBlue #LightBlue Publish Service
18 rAppManager->capifcore: Publish services\n with ServiceAPIDescription
19 capifcore->providermanager: Check that AEFs are\n registered for provider
20 providermanager->capifcore: Ok
21 capifcore->helmmanager: Install and start chart
22 helmmanager->capifcore: Ok
23 capifcore->publishservice: Store published services
24 capifcore->rAppManager: ServiceAPIDescription with apiId
26 alt#coral #coral Register Invoker
27 rAppManager->capifcore: Register invoker with\n APIProviderFunctionDetails
28 capifcore->publishservice:Get available services for invoker
29 publishservice->capifcore: Services available for the given invoker
30 capifcore->rAppManager: Invoker with invokerId\n and avialable services
32 rAppManager->rAppCatalogue: Ok