73 lines
2.4 KiB
PHP
Executable File
73 lines
2.4 KiB
PHP
Executable File
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
return [
|
|
'app' => [
|
|
'name' => $_ENV['APP_NAME'] ?? 'ServerManager',
|
|
'env' => $_ENV['APP_ENV'] ?? 'production',
|
|
'debug' => filter_var($_ENV['APP_DEBUG'] ?? false, FILTER_VALIDATE_BOOLEAN),
|
|
'url' => $_ENV['APP_URL'] ?? 'http://localhost',
|
|
'timezone' => $_ENV['APP_TIMEZONE'] ?? 'America/Santo_Domingo',
|
|
'asset_version' => $_ENV['ASSET_VERSION'] ?? '0.0.0',
|
|
],
|
|
|
|
'database' => [
|
|
'host' => $_ENV['DB_HOST'] ?? '127.0.0.1',
|
|
'port' => (int) ($_ENV['DB_PORT'] ?? 3306),
|
|
'database' => $_ENV['DB_DATABASE'] ?? 'servermanager',
|
|
'username' => $_ENV['DB_USERNAME'] ?? 'root',
|
|
'password' => $_ENV['DB_PASSWORD'] ?? '',
|
|
'charset' => 'utf8mb4',
|
|
'collation' => 'utf8mb4_unicode_ci',
|
|
],
|
|
|
|
'session' => [
|
|
'lifetime' => (int) ($_ENV['SESSION_LIFETIME'] ?? 1440),
|
|
'secure' => filter_var($_ENV['SESSION_SECURE'] ?? true, FILTER_VALIDATE_BOOLEAN),
|
|
'http_only' => filter_var($_ENV['SESSION_HTTP_ONLY'] ?? true, FILTER_VALIDATE_BOOLEAN),
|
|
'same_site' => $_ENV['SESSION_SAME_SITE'] ?? 'Lax',
|
|
],
|
|
|
|
'csrf' => [
|
|
'token_length' => (int) ($_ENV['CSRF_TOKEN_LENGTH'] ?? 64),
|
|
'token_expiry' => (int) ($_ENV['CSRF_TOKEN_EXPIRY'] ?? 7200),
|
|
],
|
|
|
|
'rate_limit' => [
|
|
'max_attempts' => (int) ($_ENV['RATE_LIMIT_MAX_ATTEMPTS'] ?? 5),
|
|
'decay_minutes' => (int) ($_ENV['RATE_LIMIT_DECAY_MINUTES'] ?? 15),
|
|
],
|
|
|
|
'encryption' => [
|
|
'method' => 'aes-256-cbc',
|
|
'master_key' => $_ENV['MASTER_ENCRYPTION_KEY'] ?? null,
|
|
'master_key_file' => $_ENV['MASTER_ENCRYPTION_KEY_FILE'] ?? null,
|
|
],
|
|
|
|
'ssh' => [
|
|
'timeout' => (int) ($_ENV['SSH_TIMEOUT'] ?? 30),
|
|
'keepalive_interval' => (int) ($_ENV['SSH_KEEPALIVE_INTERVAL'] ?? 10),
|
|
'command_timeout' => (int) ($_ENV['SSH_COMMAND_TIMEOUT'] ?? 60),
|
|
],
|
|
|
|
'monitoring' => [
|
|
'interval' => (int) ($_ENV['MONITORING_INTERVAL'] ?? 30),
|
|
'retention_days' => (int) ($_ENV['MONITORING_RETENTION_DAYS'] ?? 30),
|
|
],
|
|
|
|
'api' => [
|
|
'rate_limit' => (int) ($_ENV['API_RATE_LIMIT'] ?? 60),
|
|
'rate_limit_window' => (int) ($_ENV['API_RATE_LIMIT_WINDOW'] ?? 60),
|
|
],
|
|
|
|
'fcm' => [
|
|
'server_key' => $_ENV['FCM_SERVER_KEY'] ?? '',
|
|
],
|
|
|
|
'log' => [
|
|
'path' => $_ENV['LOG_PATH'] ?? __DIR__ . '/../logs/',
|
|
'level' => $_ENV['LOG_LEVEL'] ?? 'warning',
|
|
],
|
|
];
|