The backend exposes the REST API for an Organization and executes compute tasks (in a subsystem we call compute engine).
We use this service to store images built from user-provided Functions. Make sure to assign a large enough volume to avoid rebuilding images over and over due to eviction.
This Pod is managed by a Job running on chart installation or update. It uploads container Images to the docker-registry to make them available for future use in Functions.
This is the database supporting the backend. You should back up the data of this Pod.
This is an organization-specific message broker to support Celery tasks.
This component will consume events from the orchestrator. It should be able to access the orchestrator over gRPC. It handles events and triggers appropriate responses such as starting compute tasks. On startup, it will also register the Organization on the orchestrator.
This Pod is managed by a Job running on chart installation or update to deal with database schema changes. This Pod also performs user creation.
- scheduler, scheduler-worker
Those are Celery components, handling scheduled tasks.
This is a Django application exposing the REST API through which users interact with Substra.