[ 'name' => 'Deploymentcenter', 'version' => '2.0.0', 'url' => dc_env('DC_APP_URL', 'https://dc.example.com'), 'timezone' => 'Europe/Berlin', // Bei true werden Exception-Texte in API-Antworten ausgegeben. // Auf Produktivsystemen zwingend false lassen. 'debug' => (bool)dc_env('DC_DEBUG', false), ], 'db' => [ 'host' => dc_env('DC_DB_HOST', 'localhost'), 'dbname' => dc_env('DC_DB_NAME', 'deploymentcenter'), 'username' => dc_env('DC_DB_USER', 'root'), 'password' => dc_env('DC_DB_PASS', ''), 'charset' => 'utf8mb4', ], 'security' => [ // Master-Key für Server-zu-Server-Aufrufe (Evaluator-Cron, Deactivate, Migration). // Mit `openssl rand -hex 32` erzeugen. 'shared_key' => dc_env('DC_SHARED_KEY', ''), 'session_name' => 'DC_SESSION_ID', // Signaturschlüssel für ausgehende Webhooks (HMAC-SHA256). 'webhook_key' => dc_env('DC_WEBHOOK_KEY', ''), // Signaturschlüssel für Offline-Lizenzdateien (.lic). 'license_key' => dc_env('DC_LICENSE_SIGNING_KEY', ''), // Privater RSA-Schlüssel, mit dem Releases signiert werden. Entweder // das PEM selbst oder ein Pfad zur Schlüsseldatei. // openssl genrsa -out /etc/dc/release-signing.pem 2048 // chmod 600 /etc/dc/release-signing.pem // Leer lassen schaltet das Signieren ab; Releases bleiben dann // installierbar, der Agent weist aber bei jedem Update darauf hin. // Bewusst asymmetrisch: geprüft wird auf fremden Systemen, dort darf // der Signierschlüssel nicht liegen. 'release_private_key' => dc_env('DC_RELEASE_SIGNING_KEY', ''), ], 'bugtracker' => [ // Projekt-Slug, unter dem das Deploymentcenter eigene Fehler meldet. 'self_project' => 'deploymentcenter', // Reports pro IP und Minute an /api/bugtracker/v1/report. 'report_rate' => 60, // Reports pro IP und Minute an /api/errors/v1/report. Bewusst höher: // Dort meldet ein globaler Exception-Handler, und ein Fehlerschauer // erzeugt in Sekunden mehr Meldungen als ein Mensch am Tag. 'error_rate' => 300, // Wie lange ein Agent ein Item exklusiv beansprucht (Minuten). 'lease_minutes' => 30, ], 'rocketchat' => [ 'enabled' => (bool)dc_env('DC_RC_ENABLED', true), 'url' => dc_env('DC_RC_URL', 'https://chat.wh1.mhdf.de'), 'username' => dc_env('DC_RC_USER', 'deploymentcenter'), 'password' => dc_env('DC_RC_PASS', 'cNt.m.KcWHrb8_X9Tv8-'), 'status_channel' => dc_env('DC_RC_STATUS_CHANNEL', '#DC-Systemstatus'), 'alert_channel' => dc_env('DC_RC_ALERT_CHANNEL', '#DC-Alerts'), 'verify_ssl' => (bool)dc_env('DC_RC_VERIFY_SSL', false), 'report_interval' => (int)dc_env('DC_RC_REPORT_INTERVAL', 43200), ], ];