Message Center Configuration

📦v1.0.0📅2026-04-28🔄Updated 2026-04-28👤Admin Team
administrationconfigurationmessage-center

Message Center Configuration

A quick-reference index for configuring a Message Center instance. Follow the links for full details.


Authentication

SettingWhereDetails
NEXTAUTH_SECRETKubernetes SecretMinimum 32 bytes. Generate: openssl rand -base64 32. Required.
NEXTAUTH_URLConfigMapMust match the exact HTTPS URL browsers use. Mismatches break sessions.
Session expiryBuilt-in (8 hours)Controlled by next-auth. Not configurable via env vars.

See Environment Variables Reference for the full variable reference.


Database

SettingDefaultNotes
MONGODB_URImongodb://localhost:27018/core_adminInclude credentials in production
MONGODB_DBcore_adminDatabase name
Schema version9 (current)Apply with make migrate before every deploy

See MongoDB & Migrations for migration details.


Core and Proxy Integration

SettingDefaultNotes
CORE_API_URLhttp://localhost:8080Use https:// in production to enable mTLS
CORE_HEALTH_URLhttp://127.0.0.1:8092/healthPlain HTTP health probe; must be reachable
CORE_ADMIN_API_KEY(required)Secret — for /api/v1/admin/* and Aerospike endpoints
PROXY_LOGIN_URLhttps://127.0.0.1:8088/api/v1/user/loginProxy service account login
BFF_PROXY_EMAIL(required)Service account email — Secret
BFF_PROXY_PASSWORD(required)Service account password — Secret

mTLS Certificates

FilePurpose
CORE_TLS_CERT_FILE / PROXY_TLS_CERT_FILEClient certificate
CORE_TLS_KEY_FILE / PROXY_TLS_KEY_FILEPrivate key (Secret)
CORE_TLS_CA_FILE / PROXY_TLS_CA_FILECA certificate

Certificates hot-reload without a pod restart when files change on disk.

See mTLS Certificates for the full setup and rotation guide.


Performance Tuning

VariableDefaultWhen to change
CORE_AGENT_CONNECTIONS32Lower if Core is overloaded; raise for high-throughput deployments
CORE_BODY_TIMEOUT_MS60000Raise if standard API calls time out (high-latency network)
CORE_UPLOAD_BODY_TIMEOUT_MS1800000Raise for very slow upload links
CORE_MAX_RESPONSE_BYTES1677721616 MB — raise only if standard list endpoints return PAYLOAD_TOO_LARGE
UPLOAD_MAX_BYTES10737418241 GB — policy cap on recipient file uploads

See Capacity Planning for sizing guidance.


Audit Retention

VariableDefaultNotes
AUDIT_RETENTION_DAYS90After changing, run make migrate to update the TTL index

Set to 0 to disable automatic audit log expiry (records retained indefinitely).


Role Configuration (RBAC)

RBAC is enforced server-side. Roles are assigned per workspace via the Settings → Members page.

RoleWho should have it
authorCampaign creators — can create, submit, archive
moderatorReviewers — can approve/reject campaigns and sender revisions
adminWorkspace owners — all author + moderator actions plus member management
super_adminSystem operators only — cross-workspace access, can delete campaigns

The is_moderator flag on an author membership grants moderator-level permissions without full role promotion.

For the full permission matrix see Environment Variables Reference and the user guide Roles & Permissions.


Optional Features

FeatureVariableNotes
Grafana embedGRAFANA_PUBLIC_URLFull dashboard URL; Grafana needs GF_SECURITY_ALLOW_EMBEDDING=true
Aerospike diagnosticsADMIN_DIAGNOSTICS_ENABLED=trueEnables /diagnostics/admin panel
CORE URL in trigger snippetsNEXT_PUBLIC_CORE_URLShown to users in trigger-mode campaign API examples

Configuration Index

For detailed documentation by area: