2. Architecture

Core Auto is software designed for UNIX/Linux and is installed on one server calledLoading Node. It uses Postgres database as the metadata engine. Client software for all supported systems must be installed on the same server. Scripts run by theapplication and logs are also kept on Loading Node.

From the GUI level it is possible to define steps, connections between them, analyzealready completed processes, as well as observe and influence the currentlyperformed steps.

The CA manager controls all processes. It starts with workers (CAwrkr). Each workercan execute one step at the same time, so the number of workers serves as a throttleset in the GUI.

Collector puts out endpoints (EP1, EP2…) which can be used to generate events, setflags and obtain credentials stored in metadata (KeyStore) from scripts level. Loggingto the collector from script level takes place using a few-second-valid one-time codesgenerated by workers immediately before the step is launched. External systems mustlog in using username and password. Such technical users with limited privileges canbe defined in GUI.

If some processes require specialized software available only on selected servers, CoreAuto can run some steps on remote hosts. Each such host must have an Agent (CAagent) installed and the Postgres client required to communicate with Core Auto.The agent activates remote workers there. It may also - at the manager's request -interrupt the execution of the indicated steps (e.g. steps suspended due to deadlock).

Scripts run on remote hosts must be stored there, but logs are kept on Loading Nodeand can be displayed from GUI level.