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 note right: Optional and not decided yet
23 helmmanager->capifcore: Ok
24 capifcore->publishservice: Store published services
25 capifcore->rAppManager: ServiceAPIDescription with apiId
27 alt#coral #coral Register Invoker
28 rAppManager->capifcore: Register invoker with\n APIInvokerEnrolmentDetails
29 capifcore->publishservice:Get available services for invoker
30 publishservice->capifcore: Services available for the given invoker
31 capifcore->rAppManager: Invoker with invokerId\n and avialable services
33 rAppManager->rAppCatalogue: Ok