Your hosted Moose application requires access to hosted ClickHouse and Redis service instances. You can also optionally use Redpanda for event streaming. You can stand up open source versions of these applications within your environments or opt to use cloud-hosted versions available at:
If you're using state_config.storage = "clickhouse" in your config (serverless mode without Redis), your ClickHouse instance must support the KeeperMap table engine. This is used for migration state storage and distributed locking.
✅ ClickHouse Cloud: Supported by default
✅ moose dev / moose prod: Already configured in our Docker setup
⚠️ Self-hosted ClickHouse: See ClickHouse KeeperMap documentation for setup requirements
If you're using Redis for state storage (state_config.storage = "redis"), you don't need KeeperMap.
For ClickHouse, you'll need the following information:
These values are used to configure the Moose application's connection to ClickHouse through environment variables following this pattern:
MOOSE_CLICKHOUSE_CONFIG__<PARAMETER>=<value>For example:
MOOSE_CLICKHOUSE_CONFIG__DB_NAME=myappdbMOOSE_CLICKHOUSE_CONFIG__HOST=myclickhouse.example.comMOOSE_CLICKHOUSE_CONFIG__USE_SSL=1MOOSE_CLICKHOUSE_CONFIG__HOST_PORT=8443MOOSE_CLICKHOUSE_CONFIG__NATIVE_PORT=9440Moose requires Redis for caching and as a message broker. You'll need the following configuration:
| Parameter | Description |
|---|---|
| URL | Redis connection URL |
| KEY_PREFIX | Prefix for Redis keys to isolate namespaces |
These values are configured through:
| Parameter | Description | Default Value |
|---|
| DB_NAME | Database name to use | Your branch or application ID |
| USER | Username for authentication | - |
| PASSWORD | Password for authentication | - |
| HOST | Hostname or IP address | - |
| HOST_PORT | HTTPS port | 8443 |
| USE_SSL | Whether to use SSL (1 for true, 0 for false) | 1 |
| NATIVE_PORT | Native protocol port | 9440 |
MOOSE_REDIS_CONFIG__URL=redis://username:password@redis.example.com:6379MOOSE_REDIS_CONFIG__KEY_PREFIX=myappTemporal is an optional workflow orchestration platform that can be used with Moose. If you choose to use Temporal, you'll need the following configuration:
| Parameter | Description | Default Value |
|---|---|---|
| CA_CERT | Path to CA certificate | /etc/ssl/certs/ca-certificates.crt |
| API_KEY | Temporal Cloud API key | - |
| TEMPORAL_HOST | Temporal Cloud namespace host | Your namespace + .tmprl.cloud |
These values are configured through:
MOOSE_TEMPORAL_CONFIG__CA_CERT=/etc/ssl/certs/ca-certificates.crtMOOSE_TEMPORAL_CONFIG__API_KEY=your-temporal-api-keyMOOSE_TEMPORAL_CONFIG__TEMPORAL_HOST=your-namespace.tmprl.cloudRedpanda is an optional component that can be used for event streaming. If you choose to use Redpanda, you'll need the following information:
| Parameter | Description | Default Value |
|---|---|---|
| BROKER | Bootstrap server address | - |
| NAMESPACE | Namespace for isolation (often same as branch or app ID) | - |
| MESSAGE_TIMEOUT_MS | Message timeout in milliseconds | 10043 |
| SASL_USERNAME | SASL username for authentication | - |
| SASL_PASSWORD | SASL password for authentication | - |
| SASL_MECHANISM | SASL mechanism | SCRAM-SHA-256 |
| SECURITY_PROTOCOL | Security protocol | SASL_SSL |
| REPLICATION_FACTOR | Topic replication factor | 3 |
These values are used to configure the Moose application's connection to Redpanda through environment variables following this pattern:
MOOSE_REDPANDA_CONFIG__<PARAMETER>=<value>For example:
MOOSE_REDPANDA_CONFIG__BROKER=seed-5fbcae97.example.redpanda.com:9092MOOSE_REDPANDA_CONFIG__NAMESPACE=myappMOOSE_REDPANDA_CONFIG__SECURITY_PROTOCOL=SASL_SSLMOOSE_REDPANDA_CONFIG__SASL_MECHANISM=SCRAM-SHA-256MOOSE_REDPANDA_CONFIG__REPLICATION_FACTOR=3When deploying your Moose application, you'll need to pass these configurations as environment variables. Refer to the deployment guides for your specific platform (Kubernetes, ECS, etc.) for details on how to securely provide these values to your application.