<?php
/*
 * package examples/crash_reporter/backend/config/config.php
 * config.php
 * Created at: Wed 20 May 2026 14:31:55 +0200
 * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu <a.afanasieff@gmail.com>
 * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8
 * Contributors:
 *    - Anton Afanasyeu <a.afanasieff@gmail.com> (2 commits, 22 lines)
 *    - Cursor Agent (project assistant)
 * Digest: SHA256	8b7149a4cd8a0f7d13ee8a22535c3697e919e35b9fe5bb8a80764769cc6c6853
 */
return [
    'app_name' => 'Android Cast',
    'project_base_path' => '/app/androidcast_project',
    'base_path' => '/app/androidcast_project/issues',
    'db' => [
        'driver' => 'mysql', // sqlite | mysql
        'sqlite_path' => __DIR__ . '/../data/crashes.sqlite',
        'mysql' => [
            'host' => '127.0.0.1',
            'port' => 3306,
            'socket' => '/run/mysqld/mysqld.sock',
            'database' => 'androidcast_crashes',
            'username' => 'androidcast',
            'password' => 'androidcastrootowned',
            'charset' => 'utf8mb4',
        ],
    ],
    'session_name' => 'ac_crash_sess',
    // Shared login cookie across crashes, build, and other consoles under this path
    'session_cookie_path' => '/app/androidcast_project',
    // When true, upload API may include a short error hint (do not enable on public prod long-term)
    'debug' => true,
    // Phase 1 RBAC: anonymous uploads and legacy rows attach to this company
    'rbac' => [
      'default_company_slug' => 'default',
      'default_company_id' => 1,
    ],
    // Google Analytics 4 (hub + crash console share public/assets/js/analytics.js)
    'analytics' => [
      'enabled' => true,
      'measurement_id' => 'G-8RKGWGQ52P', // e.g. G-XXXXXXXXXX
      'debug' => false,
    ],
    // On-demand remote access (WireGuard v1) — see docs/REMOTE_ACCESS_IMPL.md
    'remote_access' => [
      // Public UDP endpoint shown to devices (FE DNAT → BE wg0)
      'wg_endpoint' => 'ra.apps.f0xx.org:45340',
      // Server WG public key (wg show wg0 public-key on BE)
      'wg_server_public_key' => 'EV2nnwHH7xe3jA5J46Rjtl8ao+ybZinibKg2Hy83GBw=',
      'wg_interface' => 'wg0',
      // Run `wg set wg0 peer …` when device receives connect (requires wireguard-tools on BE)
      'provision_peers' => true,
      // Reject connect if wg genkey/pubkey unavailable (set true on production BE)
      'require_wg_tools' => true,
      'session_ttl_s' => 3600,
      'min_poll_interval_s' => 45,
  ],
];
