Deployment
Golem Services are distributed as Docker images. They are available in Golem Services Docker Hub (opens in a new tab). Each Docker image is built for OS/ARCH-s:
- linux/amd64
- linux/arm64
Services are using following types of storage:
- Relational Database (RDB) - PostgreSQL (opens in a new tab) or SQLite (mainly for testing purposes)
- Redis (opens in a new tab)
- Blob storage - Shared File System or S3
Golem Services
Following sections provide a description of each service.
Component Service
golem-component-service (opens in a new tab) is a component registry/management service. Service is using RDB and Blob storage as data storage.
See also: configuration (opens in a new tab), environment variables (opens in a new tab), docker image (opens in a new tab)
Worker Service
golem-worker-service (opens in a new tab) providing APIs and API Gateway functionality for workers and act like routing service for worker executors. Service is using RDB as data storage.
See also: configuration (opens in a new tab), environment variables (opens in a new tab), docker image (opens in a new tab)
Worker Executor
golem-worker-executor (opens in a new tab) is responsible for running the workers which belongs to assigned shards. Service is using Redis and Blob storage as data storage.
See also: configuration (opens in a new tab), environment variables (opens in a new tab), docker image (opens in a new tab)
Shard Manager
golem-shard-manager (opens in a new tab) is a single node in charge of maintaining the worker executors shards assignments, only one instance can be alive at any given time. Service is using Redis as data storage. See also: configuration (opens in a new tab), environment variables (opens in a new tab), docker image (opens in a new tab)
Component Compilation Service
golem-component-compilation-service (opens in a new tab) is sidecar service responsible for compiling components. Service is using Blob storage as data storage.
See also: configuration (opens in a new tab), environment variables (opens in a new tab), docker image (opens in a new tab)
Golem Router
golem-router (opens in a new tab) is nginx (opens in a new tab) Golem APIs proxy.
See also: configuration (opens in a new tab), docker image (opens in a new tab)
Deployment Variants
For deployment variants, see the following sections: