78 lines
3.2 KiB
PHP
78 lines
3.2 KiB
PHP
<?php
|
|
|
|
return [
|
|
// Application Configuration
|
|
'name' => 'Ktrix',
|
|
'environment' => 'dev',
|
|
'debug' => true,
|
|
// Database Configuration
|
|
'database' => [
|
|
// MongoDB connection URI (include credentials if needed)
|
|
'uri' => 'mongodb://ktrix:ktrix@127.0.0.1:27017/?authSource=ktrix&tls=false',
|
|
'database' => 'ktrix',
|
|
// 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 <priority> 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 = <project_root>/var/log
|
|
'path' => null,
|
|
|
|
// Log channel — used as the filename without extension.
|
|
// 'app' → var/log/app.jsonl (or var/log/tenant/{id}/app.jsonl when per_tenant = true)
|
|
'channel' => 'app',
|
|
|
|
// ── syslog driver options ──────────────────────────────────────────────
|
|
// Identity tag passed to openlog(); visible in /var/log/syslog and journalctl -t ktrix
|
|
'ident' => 'ktrix',
|
|
|
|
// openlog() facility constant. Common values: LOG_USER, LOG_LOCAL0 … LOG_LOCAL7
|
|
'facility' => LOG_USER,
|
|
],
|
|
|
|
// Security Configuration
|
|
'security.salt' => 'a5418ed8c120b9d12c793ccea10571b74d0dcd4a4db7ca2f75e80fbdafb2bd9b',
|
|
];
|