In order to handle disparate requests that may be required to service its components, VIA deploys multiple services. Each service has a specific goal, and is instantiated based on the state of the imaging activity.
A Switch Service is developed for each switch vendor by using an imaging developer kit. The developer kit provides the imaging orchestration engine, API, data models, and extension points to create imaging tasks (PRE, INTRA, POST, INVENTORY), custom controller, and automated integration tests. VIA loads these services on demand and discovers the switch type (management, ToR, inter-rack) supported by these services.
The ESXi Service images the servers in the physical rack. It uses the same developer kit as the Switch Service.
Core Platform Service
Core Platform is the main VIA web service which supports external facing API, DHCP, bundle management, imaging workflow orchestration, and UI. This service automatically loads the Switch and ESXi services on demand based on the BOM and bundle and then orchestrates the imaging workflow. This service can image an entire rack as well as individual devices.