feat: system configuration example
Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
// Application Configuration
|
||||
'name' => '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 <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/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',
|
||||
];
|
||||
Reference in New Issue
Block a user