Data Architecture

Note

“Bad programmers worry about the code. Good programmers worry about data structures and their relationships.” ― Linus Torvalds

Introduction

Each CloudCIX application is equipped with a pgSQL database. These applications, which provide the microservices that power the Cloud platform, run on Pod appliances in both the COP and PAT. The data within these databases is accessible and modifiable via the microservices APIs.

During the initial installation, the applications and their associated databases are installed using Docker images. These Docker images come pre-seeded with initial values, enabling the Pod to be bootstrapped.

However, there is a notable exception to the general rule that CloudCIX data is stored in pgSQL databases associated with the application. Each Pod contains a configuration file named config.json. This file originates from the PAT application, where a permanent copy is maintained for restoration purposes.

The config.json file is stored locally within the Pod, as it contains, among other things, login credentials for the COP. This local storage ensures that a Pod can operate without needing to communicate with a PAT. When a Pod is adopted by a PAT, the PAT provides a validated and preconfigured config.json file for the Pod.

The appendices contain a description of the data structures in CloudCIX.