Files
hatchet/frontend/docs/pages/self-hosting/configuration-options.mdx
T

371 lines
28 KiB
Plaintext

# Configuration Options
The Hatchet server and engine can be configured via environment variables using several prefixes. This document contains a comprehensive list of all 195+ available options organized by component.
## Environment Variable Prefixes
Hatchet uses the following environment variable prefixes:
- **`SERVER_`** (173 variables) - Main server configuration including runtime, authentication, encryption, monitoring, and integrations
- **`DATABASE_`** (13 variables) - PostgreSQL database connection and configuration
- **`READ_REPLICA_`** (4 variables) - Read replica database configuration
- **`ADMIN_`** (3 variables) - Administrator user setup for initial seeding
- **`DEFAULT_`** (3 variables) - Default tenant configuration
- **`SCHEDULER_`** (1 variable) - Scheduler-specific rate limiting
- **`SEED_`** (1 variable) - Development environment seeding
- **`CACHE_`** (1 variable) - Cache duration settings
_Note: This documentation excludes `HATCHET*CLIENT*_` variables which are specific to Go SDK client configuration.\*
## Required Environment Variables
The following variables are **absolutely required** for Hatchet to start successfully:
### Encryption Keys (Required - Choose One Strategy)
**Option A: Local Encryption Keys**
```bash
SERVER_ENCRYPTION_MASTER_KEYSET="<base64-encoded-keyset>"
SERVER_ENCRYPTION_JWT_PUBLIC_KEYSET="<base64-encoded-jwt-public>"
SERVER_ENCRYPTION_JWT_PRIVATE_KEYSET="<base64-encoded-jwt-private>"
```
**Option B: File-based Keys**
```bash
SERVER_ENCRYPTION_MASTER_KEYSET_FILE="/path/to/master.keyset"
SERVER_ENCRYPTION_JWT_PUBLIC_KEYSET_FILE="/path/to/jwt-public.keyset"
SERVER_ENCRYPTION_JWT_PRIVATE_KEYSET_FILE="/path/to/jwt-private.keyset"
```
**Option C: Google Cloud KMS**
```bash
SERVER_ENCRYPTION_CLOUDKMS_ENABLED=true
SERVER_ENCRYPTION_CLOUDKMS_KEY_URI="gcp-kms://your-key-uri"
SERVER_ENCRYPTION_CLOUDKMS_CREDENTIALS_JSON="<credentials-json>"
```
### Authentication Secrets (Required)
```bash
SERVER_AUTH_COOKIE_SECRETS="<secret1> <secret2>"
```
### Database Connection (Required)
**Option A: Connection String**
```bash
DATABASE_URL="postgresql://user:password@host:port/dbname"
```
**Option B: Individual Parameters** (uses defaults if not specified)
```bash
DATABASE_POSTGRES_HOST=your-postgres-host
DATABASE_POSTGRES_PASSWORD=your-secure-password
```
## Minimal Configuration Example
```bash
# Database
DATABASE_URL='postgresql://hatchet:hatchet@127.0.0.1:5431/hatchet'
# Encryption (using key files - recommended for development)
SERVER_ENCRYPTION_MASTER_KEYSET_FILE=./keys/master.key
SERVER_ENCRYPTION_JWT_PRIVATE_KEYSET_FILE=./keys/private_ec256.key
SERVER_ENCRYPTION_JWT_PUBLIC_KEYSET_FILE=./keys/public_ec256.key
# Authentication
SERVER_AUTH_COOKIE_SECRETS="your-secret-key-1 your-secret-key-2"
SERVER_AUTH_SET_EMAIL_VERIFIED=true
# Basic server config
SERVER_PORT=8080
SERVER_URL=http://localhost:8080
# Development settings (optional but recommended)
SERVER_GRPC_INSECURE=true
SERVER_INTERNAL_CLIENT_BASE_STRATEGY=none
SERVER_LOGGER_LEVEL=error
SERVER_LOGGER_FORMAT=console
DATABASE_LOGGER_LEVEL=error
DATABASE_LOGGER_FORMAT=console
```
Generate encryption keys with:
```bash
go run ./cmd/hatchet-admin keyset create-local-keys --key-dir ./keys
```
## Runtime Configuration
Variables marked with ⚠️ are conditionally required when specific features are enabled.
| Variable | Description | Default Value |
| -------------------------------------------- | --------------------------------------- | ----------------------- |
| `SERVER_PORT` | Port for the core server | `8080` |
| `SERVER_URL` | Full server URL, including protocol | `http://localhost:8080` |
| `SERVER_GRPC_PORT` | Port for the GRPC service | `7070` |
| `SERVER_GRPC_BIND_ADDRESS` | GRPC server bind address | `127.0.0.1` |
| `SERVER_GRPC_BROADCAST_ADDRESS` | GRPC server broadcast address | `127.0.0.1:7070` |
| `SERVER_GRPC_INSECURE` | Controls if the GRPC server is insecure | `false` |
| `SERVER_SHUTDOWN_WAIT` | Shutdown wait duration | `20s` |
| `SERVER_ENFORCE_LIMITS` | Enforce tenant limits | `false` |
| `SERVER_ALLOW_SIGNUP` | Allow new tenant signups | `true` |
| `SERVER_ALLOW_INVITES` | Allow new invites | `true` |
| `SERVER_ALLOW_CREATE_TENANT` | Allow tenant creation | `true` |
| `SERVER_ALLOW_CHANGE_PASSWORD` | Allow password changes | `true` |
| `SERVER_HEALTHCHECK` | Enable healthcheck endpoint | `true` |
| `SERVER_HEALTHCHECK_PORT` | Healthcheck port | `8733` |
| `SERVER_GRPC_MAX_MSG_SIZE` | gRPC max message size | `4194304` |
| `SERVER_GRPC_RATE_LIMIT` | gRPC rate limit | `1000` |
| `SCHEDULER_CONCURRENCY_RATE_LIMIT` | Scheduler concurrency rate limit | `20` |
| `SCHEDULER_CONCURRENCY_POLLING_MIN_INTERVAL` | Minimum concurrency polling interval | `500ms` |
| `SCHEDULER_CONCURRENCY_POLLING_MAX_INTERVAL` | Maximum concurrency polling interval | `5s` |
| `SERVER_SERVICES` | Services to run | `["all"]` |
| `SERVER_PAUSED_CONTROLLERS` | Paused controllers | |
| `SERVER_ENABLE_DATA_RETENTION` | Enable data retention | `true` |
| `SERVER_ENABLE_WORKER_RETENTION` | Enable worker retention | `false` |
| `SERVER_MAX_PENDING_INVITES` | Max pending invites | `100` |
| `SERVER_BUFFER_CREATE_WORKFLOW_RUNS` | Buffer workflow run creation | `true` |
| `SERVER_DISABLE_TENANT_PUBS` | Disable tenant pubsub | |
| `SERVER_MAX_INTERNAL_RETRY_COUNT` | Max internal retry count | `10` |
| `SERVER_PREVENT_TENANT_VERSION_UPGRADE` | Prevent tenant version upgrades | `false` |
| `SERVER_DEFAULT_ENGINE_VERSION` | Default engine version | `V1` |
| `SERVER_REPLAY_ENABLED` | Enable task replay | `true` |
## Database Configuration
| Variable | Description | Default Value |
| ---------------------------- | ---------------------------- | ------------------- |
| `DATABASE_URL` | PostgreSQL connection string | `127.0.0.1` |
| `DATABASE_POSTGRES_HOST` | PostgreSQL host | `127.0.0.1` |
| `DATABASE_POSTGRES_PORT` | PostgreSQL port | `5431` |
| `DATABASE_POSTGRES_USERNAME` | PostgreSQL username | `hatchet` |
| `DATABASE_POSTGRES_PASSWORD` | PostgreSQL password | `hatchet` |
| `DATABASE_POSTGRES_DB_NAME` | PostgreSQL database name | `hatchet` |
| `DATABASE_POSTGRES_SSL_MODE` | PostgreSQL SSL mode | `disable` |
| `DATABASE_MAX_CONNS` | Max database connections | `50` |
| `DATABASE_MIN_CONNS` | Min database connections | `10` |
| `DATABASE_MAX_QUEUE_CONNS` | Max queue connections | `50` |
| `DATABASE_MIN_QUEUE_CONNS` | Min queue connections | `10` |
| `DATABASE_LOG_QUERIES` | Log database queries | `false` |
| `CACHE_DURATION` | Cache duration | `5s` |
| `ADMIN_EMAIL` | Admin email for seeding | `admin@example.com` |
| `ADMIN_PASSWORD` | Admin password for seeding | `Admin123!!` |
| `ADMIN_NAME` | Admin name for seeding | `Admin` |
| `DEFAULT_TENANT_NAME` | Default tenant name | `Default` |
| `DEFAULT_TENANT_SLUG` | Default tenant slug | `default` |
| `DEFAULT_TENANT_ID` | Default tenant ID | |
| `SEED_DEVELOPMENT` | Development seeding flag | |
| `READ_REPLICA_ENABLED` | Enable read replica | `false` |
| `READ_REPLICA_DATABASE_URL` | Read replica database URL | |
| `READ_REPLICA_MAX_CONNS` | Read replica max connections | `50` |
| `READ_REPLICA_MIN_CONNS` | Read replica min connections | `10` |
| `DATABASE_LOGGER_LEVEL` | Database logger level | |
| `DATABASE_LOGGER_FORMAT` | Database logger format | |
## Security Check Configuration
| Variable | Description | Default Value |
| -------------------------------- | ----------------------- | ------------------------------ |
| `SERVER_SECURITY_CHECK_ENABLED` | Enable security check | `true` |
| `SERVER_SECURITY_CHECK_ENDPOINT` | Security check endpoint | `https://security.hatchet.run` |
## Limit Configuration
| Variable | Description | Default Value |
| ------------------------------------------------ | -------------------------------- | ------------- |
| `SERVER_LIMITS_DEFAULT_TENANT_RETENTION_PERIOD` | Default tenant retention period | `720h` |
| `SERVER_LIMITS_DEFAULT_WORKFLOW_RUN_LIMIT` | Default workflow run limit | `1000` |
| `SERVER_LIMITS_DEFAULT_WORKFLOW_RUN_ALARM_LIMIT` | Default workflow run alarm limit | `750` |
| `SERVER_LIMITS_DEFAULT_WORKFLOW_RUN_WINDOW` | Default workflow run window | `24h` |
| `SERVER_LIMITS_DEFAULT_WORKER_LIMIT` | Default worker limit | `4` |
| `SERVER_LIMITS_DEFAULT_WORKER_ALARM_LIMIT` | Default worker alarm limit | `2` |
| `SERVER_LIMITS_DEFAULT_EVENT_LIMIT` | Default event limit | `1000` |
| `SERVER_LIMITS_DEFAULT_EVENT_ALARM_LIMIT` | Default event alarm limit | `750` |
| `SERVER_LIMITS_DEFAULT_EVENT_WINDOW` | Default event window | `24h` |
| `SERVER_LIMITS_DEFAULT_CRON_LIMIT` | Default cron limit | `5` |
| `SERVER_LIMITS_DEFAULT_CRON_ALARM_LIMIT` | Default cron alarm limit | `2` |
| `SERVER_LIMITS_DEFAULT_SCHEDULE_LIMIT` | Default schedule limit | `1000` |
| `SERVER_LIMITS_DEFAULT_SCHEDULE_ALARM_LIMIT` | Default schedule alarm limit | `750` |
| `SERVER_LIMITS_DEFAULT_TASK_RUN_LIMIT` | Default task run limit | `2000` |
| `SERVER_LIMITS_DEFAULT_TASK_RUN_ALARM_LIMIT` | Default task run alarm limit | `1500` |
| `SERVER_LIMITS_DEFAULT_TASK_RUN_WINDOW` | Default task run window | `24h` |
| `SERVER_LIMITS_DEFAULT_WORKER_SLOT_LIMIT` | Default worker slot limit | `4000` |
| `SERVER_LIMITS_DEFAULT_WORKER_SLOT_ALARM_LIMIT` | Default worker slot alarm limit | `3000` |
## Alerting Configuration
| Variable | Description | Default Value |
| -------------------------------------- | ---------------------------------------- | ------------- |
| `SERVER_ALERTING_SENTRY_ENABLED` | Enable Sentry for alerting | |
| `SERVER_ALERTING_SENTRY_DSN` | Sentry DSN | |
| `SERVER_ALERTING_SENTRY_ENVIRONMENT` | Sentry environment | `development` |
| `SERVER_ALERTING_SENTRY_SAMPLE_RATE` | Sentry sample rate | `1.0` |
| `SERVER_ANALYTICS_POSTHOG_ENABLED` | Enable PostHog analytics | |
| `SERVER_ANALYTICS_POSTHOG_API_KEY` | PostHog API key | |
| `SERVER_ANALYTICS_POSTHOG_ENDPOINT` | PostHog endpoint | |
| `SERVER_ANALYTICS_POSTHOG_FE_API_HOST` | PostHog frontend API host | |
| `SERVER_ANALYTICS_POSTHOG_FE_API_KEY` | PostHog frontend API key | |
| `SERVER_PYLON_ENABLED` | Enable Pylon | |
| `SERVER_PYLON_APP_ID` ⚠️ | Pylon app ID (required if Pylon enabled) | |
| `SERVER_PYLON_SECRET` | Pylon secret | |
## Encryption Configuration
| Variable | Description | Default Value |
| --------------------------------------------- | ---------------------------------------------- | ------------- |
| `SERVER_ENCRYPTION_MASTER_KEYSET` | Raw master keyset, base64-encoded JSON string | |
| `SERVER_ENCRYPTION_MASTER_KEYSET_FILE` | Path to the master keyset file | |
| `SERVER_ENCRYPTION_JWT_PUBLIC_KEYSET` | Public JWT keyset, base64-encoded JSON string | |
| `SERVER_ENCRYPTION_JWT_PUBLIC_KEYSET_FILE` | Path to the public JWT keyset file | |
| `SERVER_ENCRYPTION_JWT_PRIVATE_KEYSET` | Private JWT keyset, base64-encoded JSON string | |
| `SERVER_ENCRYPTION_JWT_PRIVATE_KEYSET_FILE` | Path to the private JWT keyset file | |
| `SERVER_ENCRYPTION_CLOUDKMS_ENABLED` | Whether Google Cloud KMS is enabled | `false` |
| `SERVER_ENCRYPTION_CLOUDKMS_KEY_URI` | URI of the key in Google Cloud KMS | |
| `SERVER_ENCRYPTION_CLOUDKMS_CREDENTIALS_JSON` | JSON credentials for Google Cloud KMS | |
## Authentication Configuration
| Variable | Description | Default Value |
| -------------------------------------- | ----------------------------------------------------------- | -------------------------------- |
| `SERVER_AUTH_RESTRICTED_EMAIL_DOMAINS` | Restricted email domains | |
| `SERVER_AUTH_BASIC_AUTH_ENABLED` | Whether basic auth is enabled | `true` |
| `SERVER_AUTH_SET_EMAIL_VERIFIED` | Whether the user's email is set to verified automatically | `false` |
| `SERVER_AUTH_COOKIE_NAME` | Name of the cookie | `hatchet` |
| `SERVER_AUTH_COOKIE_DOMAIN` | Domain for the cookie | |
| `SERVER_AUTH_COOKIE_SECRETS` | Cookie secrets | |
| `SERVER_AUTH_COOKIE_INSECURE` | Whether the cookie is insecure | `false` |
| `SERVER_AUTH_GOOGLE_ENABLED` | Whether Google auth is enabled | `false` |
| `SERVER_AUTH_GOOGLE_CLIENT_ID` ⚠️ | Google auth client ID (required if Google auth enabled) | |
| `SERVER_AUTH_GOOGLE_CLIENT_SECRET` ⚠️ | Google auth client secret (required if Google auth enabled) | |
| `SERVER_AUTH_GOOGLE_SCOPES` | Google auth scopes | `["openid", "profile", "email"]` |
| `SERVER_AUTH_GITHUB_ENABLED` | Whether GitHub auth is enabled | `false` |
| `SERVER_AUTH_GITHUB_CLIENT_ID` ⚠️ | GitHub auth client ID (required if GitHub auth enabled) | |
| `SERVER_AUTH_GITHUB_CLIENT_SECRET` ⚠️ | GitHub auth client secret (required if GitHub auth enabled) | |
| `SERVER_AUTH_GITHUB_SCOPES` | GitHub auth scopes | `["read:user", "user:email"]` |
## Task Queue Configuration
| Variable | Description | Default Value |
| --------------------------------- | ------------------------ | ------------- |
| `SERVER_MSGQUEUE_KIND` | Message queue kind | `rabbitmq` |
| `SERVER_MSGQUEUE_RABBITMQ_URL` | RabbitMQ URL | |
| `SERVER_MSGQUEUE_RABBITMQ_QOS` | RabbitMQ QoS | `100` |
| `SERVER_REQUEUE_LIMIT` | Requeue limit | `100` |
| `SERVER_SINGLE_QUEUE_LIMIT` | Single queue limit | `100` |
| `SERVER_UPDATE_HASH_FACTOR` | Update hash factor | `100` |
| `SERVER_UPDATE_CONCURRENT_FACTOR` | Update concurrent factor | `10` |
## TLS Configuration
| Variable | Description | Default Value |
| -------------------------------------------------------- | -------------------------------- | ------------- |
| `SERVER_TLS_STRATEGY` | TLS strategy | |
| `SERVER_TLS_CERT` | TLS certificate | |
| `SERVER_TLS_CERT_FILE` | Path to the TLS certificate file | |
| `SERVER_TLS_KEY` | TLS key | |
| `SERVER_TLS_KEY_FILE` | Path to the TLS key file | |
| `SERVER_TLS_ROOT_CA` | TLS root CA | |
| `SERVER_TLS_ROOT_CA_FILE` | Path to the TLS root CA file | |
| `SERVER_TLS_SERVER_NAME` | TLS server name | |
| `SERVER_INTERNAL_CLIENT_BASE_STRATEGY` | Internal client TLS strategy | |
| `SERVER_INTERNAL_CLIENT_BASE_INHERIT_BASE` | Inherit base TLS config | `true` |
| `SERVER_INTERNAL_CLIENT_TLS_BASE_CERT` | Internal client TLS cert | |
| `SERVER_INTERNAL_CLIENT_TLS_BASE_CERT_FILE` | Internal client TLS cert file | |
| `SERVER_INTERNAL_CLIENT_TLS_BASE_KEY` | Internal client TLS key | |
| `SERVER_INTERNAL_CLIENT_TLS_BASE_KEY_FILE` | Internal client TLS key file | |
| `SERVER_INTERNAL_CLIENT_TLS_BASE_ROOT_CA` | Internal client TLS root CA | |
| `SERVER_INTERNAL_CLIENT_TLS_BASE_ROOT_CA_FILE` | Internal client TLS root CA file | |
| `SERVER_INTERNAL_CLIENT_TLS_SERVER_NAME` | Internal client TLS server name | |
| `SERVER_INTERNAL_CLIENT_INTERNAL_GRPC_BROADCAST_ADDRESS` | Internal gRPC broadcast address | |
## Logging Configuration
| Variable | Description | Default Value |
| ------------------------------------------- | ----------------------- | ------------- |
| `SERVER_LOGGER_LEVEL` | Logger level | |
| `SERVER_LOGGER_FORMAT` | Logger format | |
| `SERVER_LOG_INGESTION_ENABLED` | Enable log ingestion | `true` |
| `SERVER_ADDITIONAL_LOGGERS_QUEUE_LEVEL` | Queue logger level | |
| `SERVER_ADDITIONAL_LOGGERS_QUEUE_FORMAT` | Queue logger format | |
| `SERVER_ADDITIONAL_LOGGERS_PGXSTATS_LEVEL` | PGX stats logger level | |
| `SERVER_ADDITIONAL_LOGGERS_PGXSTATS_FORMAT` | PGX stats logger format | |
## OpenTelemetry Configuration
| Variable | Description | Default Value |
| ----------------------------------- | ---------------------------------------------------------- | ------------- |
| `SERVER_OTEL_SERVICE_NAME` | Service name for OpenTelemetry | |
| `SERVER_OTEL_COLLECTOR_URL` | Collector URL for OpenTelemetry | |
| `SERVER_OTEL_INSECURE` | Whether to use an insecure connection to the collector URL | |
| `SERVER_OTEL_TRACE_ID_RATIO` | OpenTelemetry trace ID ratio | |
| `SERVER_OTEL_COLLECTOR_AUTH` | OpenTelemetry Collector Authorization header value | |
| `SERVER_PROMETHEUS_ENABLED` | Enable Prometheus | `false` |
| `SERVER_PROMETHEUS_ADDRESS` | Prometheus address | `:9090` |
| `SERVER_PROMETHEUS_PATH` | Prometheus metrics path | `/metrics` |
| `SERVER_PROMETHEUS_SERVER_URL` | Prometheus server URL | |
| `SERVER_PROMETHEUS_SERVER_USERNAME` | Prometheus server username | |
| `SERVER_PROMETHEUS_SERVER_PASSWORD` | Prometheus server password | |
## Tenant Alerting Configuration
| Variable | Description | Default Value |
| -------------------------------------------- | ----------------------------------- | ---------------------- |
| `SERVER_TENANT_ALERTING_SLACK_ENABLED` | Enable Slack for tenant alerting | |
| `SERVER_TENANT_ALERTING_SLACK_CLIENT_ID` | Slack client ID | |
| `SERVER_TENANT_ALERTING_SLACK_CLIENT_SECRET` | Slack client secret | |
| `SERVER_TENANT_ALERTING_SLACK_SCOPES` | Slack scopes | `["incoming-webhook"]` |
| `SERVER_EMAIL_POSTMARK_ENABLED` | Enable Postmark | |
| `SERVER_EMAIL_POSTMARK_SERVER_KEY` | Postmark server key | |
| `SERVER_EMAIL_POSTMARK_FROM_EMAIL` | Postmark from email | |
| `SERVER_EMAIL_POSTMARK_FROM_NAME` | Postmark from name | `Hatchet Support` |
| `SERVER_EMAIL_POSTMARK_SUPPORT_EMAIL` | Postmark support email | |
| `SERVER_MONITORING_ENABLED` | Enable monitoring | `true` |
| `SERVER_MONITORING_PERMITTED_TENANTS` | Permitted tenants for monitoring | |
| `SERVER_MONITORING_PROBE_TIMEOUT` | Monitoring probe timeout | `30s` |
| `SERVER_MONITORING_TLS_ROOT_CA_FILE` | Monitoring TLS root CA file | |
| `SERVER_SAMPLING_ENABLED` | Enable sampling | `false` |
| `SERVER_SAMPLING_RATE` | Sampling rate | `1.0` |
| `SERVER_OPERATIONS_JITTER` | Operations jitter in milliseconds | `0` |
| `SERVER_OPERATIONS_POLL_INTERVAL` | Operations poll interval in seconds | `2` |
## Cron Operations Configuration
| Variable | Description | Default Value |
| --------------------------------------------------------- | ----------------------------------------------------- | ------------- |
| `SERVER_CRON_OPERATIONS_TASK_ANALYZE_CRON_INTERVAL` | Interval for running ANALYZE on task-related tables | `3h` |
| `SERVER_CRON_OPERATIONS_OLAP_ANALYZE_CRON_INTERVAL` | Interval for running ANALYZE on OLAP/analytics tables | `3h` |
| `SERVER_WAIT_FOR_FLUSH` | Default wait for flush | `1ms` |
| `SERVER_MAX_CONCURRENT` | Default max concurrent | `50` |
| `SERVER_FLUSH_PERIOD_MILLISECONDS` | Default flush period | `10ms` |
| `SERVER_FLUSH_ITEMS_THRESHOLD` | Default flush threshold | `100` |
| `SERVER_FLUSH_STRATEGY` | Default flush strategy | `DYNAMIC` |
| `SERVER_WORKFLOWRUNBUFFER_WAIT_FOR_FLUSH` | Workflow run buffer wait for flush | |
| `SERVER_WORKFLOWRUNBUFFER_MAX_CONCURRENT` | Max concurrent workflow run buffer ops | |
| `SERVER_WORKFLOWRUNBUFFER_FLUSH_PERIOD_MILLISECONDS` | Flush period for workflow run buffer | |
| `SERVER_WORKFLOWRUNBUFFER_FLUSH_ITEMS_THRESHOLD` | Items threshold for workflow run buffer | |
| `SERVER_WORKFLOWRUNBUFFER_FLUSH_STRATEGY` | Flush strategy for workflow run buffer | |
| `SERVER_EVENTBUFFER_WAIT_FOR_FLUSH` | Event buffer wait for flush | |
| `SERVER_EVENTBUFFER_MAX_CONCURRENT` | Max concurrent event buffer ops | |
| `SERVER_EVENTBUFFER_FLUSH_PERIOD_MILLISECONDS` | Flush period for event buffer | |
| `SERVER_EVENTBUFFER_FLUSH_ITEMS_THRESHOLD` | Items threshold for event buffer | |
| `SERVER_EVENTBUFFER_SERIAL_BUFFER` | Event buffer serial mode | |
| `SERVER_EVENTBUFFER_FLUSH_STRATEGY` | Flush strategy for event buffer | |
| `SERVER_RELEASESEMAPHOREBUFFER_WAIT_FOR_FLUSH` | Release semaphore buffer wait for flush | |
| `SERVER_RELEASESEMAPHOREBUFFER_MAX_CONCURRENT` | Max concurrent release semaphore buffer ops | |
| `SERVER_RELEASESEMAPHOREBUFFER_FLUSH_PERIOD_MILLISECONDS` | Flush period for release semaphore buffer | |
| `SERVER_RELEASESEMAPHOREBUFFER_FLUSH_ITEMS_THRESHOLD` | Items threshold for release semaphore buffer | |
| `SERVER_RELEASESEMAPHOREBUFFER_FLUSH_STRATEGY` | Flush strategy for release semaphore buffer | |
| `SERVER_QUEUESTEPRUNBUFFER_WAIT_FOR_FLUSH` | Queue step run buffer wait for flush | |
| `SERVER_QUEUESTEPRUNBUFFER_MAX_CONCURRENT` | Max concurrent queue step run buffer ops | |
| `SERVER_QUEUESTEPRUNBUFFER_FLUSH_PERIOD_MILLISECONDS` | Flush period for queue step run buffer | |
| `SERVER_QUEUESTEPRUNBUFFER_FLUSH_ITEMS_THRESHOLD` | Items threshold for queue step run buffer | |
| `SERVER_QUEUESTEPRUNBUFFER_FLUSH_STRATEGY` | Flush strategy for queue step run buffer | |