...
Infra-global-controller runs in its own K8S cluster. All the components of infra-global-controllers are containers. Following containers components are part of the infra-global-controller.
...
Binary Provisioning Manager (BPM)
K8S Provisioning Manager (KPM)
Design Details
It has following functions
Binary package installation and configuration management : This functionality via RESTful API is called by PC to trigger the installation. It then internally calls BPA of infra-local-controller
...
to initiate the installation and configuration process. It triggers BPA via infra-local-K8S BPA CRs.
Binary package distribution : This functionality via RESTful API is called by PC. It figures out the differences between the binary packages & container packages it has locally for this location with the packages that are already in the BPA. Any differences are uploaded to BPA via BPA provided RESTful API.
Collection of KubeConfig of application-K8S : This functionality gets the KubeConfig of application-K8S from BPA. This gets stored in the database table that is specific to site.
K8S Provisioning Manager (KPM)
KPM is used to install containerized packages on application-K8S. KPM looks at all the relevant helm charts and instantiates them by talking to application-K8S.
Implementation details:
Code can be borrowed from the ONAP Multi-Cloud K8S plugin service which does similar functionality.
Design Details
infra-local-controller (Kuralamudhan Ramakrishnan (Deactivated), please fill up this section and subsections of this - Define CRD, give example CRs and then fill up sequence diagrams, directory structure of source code for various modules etc...)
BPA (Define CRD, example CRs, RESTful API)
KuD Changes
Sequence Diagrams
...