System architecture overview

image

System architecture details

image

Docker container

The Convier data platform is deployed as a single image contains everything needed to operate it. The core configuration of the instance is done through environment variables set directly or using secrets. This configuration includes connection strings to instance databases and OIDC client configuration for authentication using oauth2.

The docker images are pushed to three different tracks: develop, staging, and release.

Java service

A Java service is the entrypoint for all communication with clients. For security it performs oauth2 authentication workflows, verifies auth token authenticity, user authorization. It manages which projects are available on the instance, and communicates with the config store to update and retrieve this config. It also communicates with the data data stores to query and store data. It contains the web application embedded and is able to serve it.

Project Config Store

What projects an instance contains and the configuration of these projects are stored in the project config store, which is an external SQL database. This store will contain information about data model, external data source schema, and analytic configuration.

External Store Proxy

The external store proxy connects to external data sources, like databases, imported spreadsheets, and APIs. It receives configuration from the config store to know how to query and convert source data into the project data model.