[ '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 am öffentlichen Ingest-Endpunkt. 'report_rate' => 60, // Wie lange ein Agent ein Item exklusiv beansprucht (Minuten). 'lease_minutes' => 30, ], ];