'Application Name', 'environment' => 'dev', 'debug' => true, // Database Configuration 'database' => [ // MongoDB connection URI (include credentials if needed) 'uri' => 'mongodb://username:password@database-host:27017/?authSource=database&tls=true', 'database' => 'database', // optional driver options 'options' => [], 'driverOptions' => [], ], /** * Cache Configuration * * Set the cache store classes for different cache types. * Uncomment and adjust the class names as needed. * * Available Cache Stores: * - Ephemeral Cache: Short-lived, in-memory or file-based cache for sessions, rate limits, etc. * - Persistent Cache: Long-lived cache for routes, modules, compiled configs, etc. * - Blob Cache: Large binary objects storage. * * Predefined cache types: * file - File-based cache store * redis - Redis-based cache store * memcached - Memcached-based cache store */ //'cache.ephemeral' => 'file', //'cache.persistent' => 'file', //'cache.blob' => 'file', // Logging Configuration 'log' => [ // Driver: 'file' | 'systemd' | 'syslog' | 'null' // file - writes JSONL to a local file (see 'path' / 'channel' below) // systemd - writes to stderr with prefix; journald/systemd parses this natively // syslog - writes via PHP syslog() (see 'ident' / 'facility' below) // null - discards all log messages (useful in tests / CI) 'driver' => 'file', // Minimum PSR-3 log level to record. // Messages below this severity are silently discarded. // From most to least severe: emergency, alert, critical, error, warning, notice, info, debug 'level' => 'warning', // Per-tenant log files. // When true, messages are written to: // {path}/tenant/{tenantIdentifier}/{channel}.jsonl // once a tenant session is active. Pre-tenant messages (boot phase, // unknown domain rejections, etc.) fall through to the global log file. 'per_tenant' => false, // ── file driver options ──────────────────────────────────────────────── // Absolute path to the log directory. null = /var/logs 'path' => null, // Log channel — used as the filename without extension. // 'app' → var/logs/app.jsonl (or var/logs/tenant/{id}/app.jsonl when per_tenant = true) 'channel' => 'app', // ── syslog driver options ────────────────────────────────────────────── // Identity tag passed to openlog(); visible in syslog and journalctl. 'ident' => 'application', // openlog() facility constant. Common values: LOG_USER, LOG_LOCAL0 … LOG_LOCAL7 'facility' => LOG_USER, ], // Security Configuration // Generate a unique value for each deployment, for example: openssl rand -hex 32 'security.salt' => 'replace-with-a-random-secret', ];