Moose

Deploying

Self Hosting

Preparing Infrastructure

Preparing access to Clickhouse, Redis, Temporal and Redpanda

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:

Clickhouse Configuration

For Clickhouse, you’ll need the following information:

ParameterDescriptionDefault Value
DB_NAMEDatabase name to useYour branch or application ID
USERUsername for authentication-
PASSWORDPassword for authentication-
HOSTHostname or IP address-
HOST_PORTHTTPS port8443
USE_SSLWhether to use SSL (1 for true, 0 for false)1
NATIVE_PORTNative protocol port9440

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=myappdb
MOOSE_CLICKHOUSE_CONFIG__HOST=myclickhouse.example.com
MOOSE_CLICKHOUSE_CONFIG__USE_SSL=1
MOOSE_CLICKHOUSE_CONFIG__HOST_PORT=8443
MOOSE_CLICKHOUSE_CONFIG__NATIVE_PORT=9440

Redis Configuration

Moose requires Redis for caching and as a message broker. You’ll need the following configuration:

ParameterDescription
URLRedis connection URL
KEY_PREFIXPrefix for Redis keys to isolate namespaces

These values are configured through:

MOOSE_REDIS_CONFIG__URL=redis://username:password@redis.example.com:6379
MOOSE_REDIS_CONFIG__KEY_PREFIX=myapp

Temporal Configuration (Optional)

Temporal is an optional workflow orchestration platform that can be used with Moose. If you choose to use Temporal, you’ll need the following configuration:

ParameterDescriptionDefault Value
CA_CERTPath to CA certificate/etc/ssl/certs/ca-certificates.crt
API_KEYTemporal Cloud API key-
TEMPORAL_HOSTTemporal Cloud namespace hostYour namespace + .tmprl.cloud

These values are configured through:

MOOSE_TEMPORAL_CONFIG__CA_CERT=/etc/ssl/certs/ca-certificates.crt
MOOSE_TEMPORAL_CONFIG__API_KEY=your-temporal-api-key
MOOSE_TEMPORAL_CONFIG__TEMPORAL_HOST=your-namespace.tmprl.cloud

Redpanda Configuration (Optional)

Redpanda is an optional component that can be used for event streaming. If you choose to use Redpanda, you’ll need the following information:

ParameterDescriptionDefault Value
BROKERBootstrap server address-
NAMESPACENamespace for isolation (often same as branch or app ID)-
MESSAGE_TIMEOUT_MSMessage timeout in milliseconds10043
SASL_USERNAMESASL username for authentication-
SASL_PASSWORDSASL password for authentication-
SASL_MECHANISMSASL mechanismSCRAM-SHA-256
SECURITY_PROTOCOLSecurity protocolSASL_SSL
REPLICATION_FACTORTopic replication factor3

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:9092
MOOSE_REDPANDA_CONFIG__NAMESPACE=myapp
MOOSE_REDPANDA_CONFIG__SECURITY_PROTOCOL=SASL_SSL
MOOSE_REDPANDA_CONFIG__SASL_MECHANISM=SCRAM-SHA-256
MOOSE_REDPANDA_CONFIG__REPLICATION_FACTOR=3

Using Environment Variables in Deployment

When 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.