Instance Configuration
Monospace relies heavily on config.yaml and environment variables. Because configuration dictates the structure of the system database, file storage connectors, and email providers, missing or malformed configuration for a required service is fatal.
The Constraint
Invalid or missing settings for a required service, such as a missing KMS master key (set through MONOSPACE_KMS__MASTER_KEY, MONOSPACE_KMS__MASTER_KEY__FILE, or kms.master_key in config.yaml) or incomplete connector settings, will cause the application to crash on startup. Core connectors like the system database and file storage have no graceful degradation fallbacks.
Some services are optional:
- Emailer - if unconfigured, the server starts with a warning and email features are disabled.
- Redis - required only while caching is enabled (
MONOSPACE_CACHE__ENABLED, on by default). - RabbitMQ - required only in clustered mode (
MONOSPACE_CLUSTER__ENABLED, on by default). Without it, the server starts with a warning and cannot send email.
Mitigation
Always ensure your environment variables are correctly spelled and all required settings for a provider (such as host, port, user, and either password or aws_iam for Postgres) are successfully populated in the environment before boot. Keep a strict .env.example file synced with your config.yaml requirements.