[node].roles setting decides which responsibilities a process carries. Two external services hold all durable state: PostgreSQL and object storage.
Components
There is no Kafka, Redis, or consensus service. Caches live in process memory and on local disk.
Runtime roles
The[node].roles setting composes one or more roles into the process:
The same binary and configuration model serve every role, and changing roles requires a restart. See Role-based deployment.
Data path
What lives where
Streams and organizations are logical: a stream is a dataset in object storage and a row of metadata in PostgreSQL, and an organization is a prefix and a scope that the query planner enforces.
Background workers
Ownership follows the selected role, so duplicate processes do not all perform the same job. Several
compactor nodes divide their work by stream and by organization, and several alert nodes divide theirs by rule, report, pipeline, and connector. See Role-based deployment and Work division between alert nodes. See Configuration for every interval.
Authorization
Authentication produces an IAM context. Authorization reads database-backed permissions, roles, resource relationships, and explicit cross-organization grants. Resource handlers load the target, verify organization ownership, and authorize the requested action before a change. See Security and multi-tenancy.Web application
The web application ships inside the binary and shares the HTTP port. The capability snapshot controls which menu items appear. A hidden item is still protected by the permission check of the backend.Core concepts
Learn signals, streams, organizations, and storage.
Role-based deployment
Run roles in separate processes.