1
0
mirror of git://f0xx.org/ac/ac-deploy synced 2026-07-29 04:19:00 +03:00

Sync lab seeds with hub monitor link, 2FA copy, and nginx monitor route.

Align cluster0 deploy seeds and apps-port80 vhost for Grafana monitoring path.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Anton Afanasyeu
2026-07-08 14:56:08 +02:00
parent 0911d97fa9
commit 970de79a90
4 changed files with 18 additions and 3 deletions

View File

@@ -74,6 +74,7 @@ require_once __DIR__ . '/WireGuardAddressPool.php';
require_once __DIR__ . '/WireGuardTrafficStats.php'; require_once __DIR__ . '/WireGuardTrafficStats.php';
require_once __DIR__ . '/RsshSessionProvisioner.php'; require_once __DIR__ . '/RsshSessionProvisioner.php';
require_once __DIR__ . '/RsshBastionProvisioner.php'; require_once __DIR__ . '/RsshBastionProvisioner.php';
require_once __DIR__ . '/AuthApproval.php';
require_once __DIR__ . '/AuthTwoFactorPage.php'; require_once __DIR__ . '/AuthTwoFactorPage.php';
require_once __DIR__ . '/AnalyticsHead.php'; require_once __DIR__ . '/AnalyticsHead.php';

View File

@@ -121,6 +121,18 @@
</span> </span>
</a> </a>
</li> </li>
<li>
<a href="/app/androidcast_project/monitor/"
class="nav-link"
aria-label="Monitoring"
title="Monitoring">
<span class="nav-icon nav-icon--monitor" aria-hidden="true"></span>
<span class="nav-text">
<span class="nav-label" data-i18n="nav.monitor">Monitoring</span>
<span class="nav-desc" data-i18n="nav.monitor_desc">Grafana dashboards — cluster health, alerts, exporters.</span>
</span>
</a>
</li>
<li> <li>
<a href="<?= h(Auth::basePath()) ?>/?view=live_sessions" <a href="<?= h(Auth::basePath()) ?>/?view=live_sessions"
class="nav-link <?= ($view ?? '') === 'live_sessions' ? 'active' : '' ?>" class="nav-link <?= ($view ?? '') === 'live_sessions' ? 'active' : '' ?>"

View File

@@ -39,11 +39,11 @@ $twofaQr = AuthTwoFactorPage::qrPayload();
<form class="login-card" method="post" action="<?= h($auth) ?>/two-factor" id="twofa-form"> <form class="login-card" method="post" action="<?= h($auth) ?>/two-factor" id="twofa-form">
<h1 data-i18n="twofa.title">Two-factor authentication</h1> <h1 data-i18n="twofa.title">Two-factor authentication</h1>
<?php if (is_array($twofaQr) && !empty($twofaQr['qr_url'])): ?> <?php if (is_array($twofaQr) && !empty($twofaQr['qr_url'])): ?>
<p class="muted" data-i18n="twofa.hint_scan">Scan the QR code with your phone to approve this sign-in, or enter the 6-digit code below.</p> <p class="muted" data-i18n="twofa.hint_scan">Scan with your <strong>phone camera</strong> (not Google Authenticator) to approve this sign-in on another device, or enter the 6-digit code from your authenticator app below.</p>
<figure class="twofa-qr-wrap" id="twofa-qr-wrap"> <figure class="twofa-qr-wrap" id="twofa-qr-wrap">
<img src="<?= h((string) $twofaQr['qr_url']) ?>" width="160" height="160" alt="QR code — scan to approve sign-in on this device" class="twofa-qr"> <img src="<?= h((string) $twofaQr['qr_url']) ?>" width="160" height="160" alt="QR code — scan with phone camera to approve sign-in" class="twofa-qr">
<figcaption class="muted"> <figcaption class="muted">
Scan to approve on mobile Phone camera → tap link → Approve
<?php if (!empty($twofaQr['short_url'])): ?> <?php if (!empty($twofaQr['short_url'])): ?>
· <a href="<?= h((string) $twofaQr['short_url']) ?>" rel="noopener"><?= h((string) $twofaQr['short_url']) ?></a> · <a href="<?= h((string) $twofaQr['short_url']) ?>" rel="noopener"><?= h((string) $twofaQr['short_url']) ?></a>
<?php endif; ?> <?php endif; ?>

View File

@@ -76,8 +76,10 @@ if is_primary_node; then
mariadb -u root <<SQLEOF mariadb -u root <<SQLEOF
CREATE USER IF NOT EXISTS 'broadcast_svc'@'%' IDENTIFIED BY '${DB_PASS}'; CREATE USER IF NOT EXISTS 'broadcast_svc'@'%' IDENTIFIED BY '${DB_PASS}';
CREATE USER IF NOT EXISTS 'broadcast_svc'@'localhost' IDENTIFIED BY '${DB_PASS}'; CREATE USER IF NOT EXISTS 'broadcast_svc'@'localhost' IDENTIFIED BY '${DB_PASS}';
CREATE USER IF NOT EXISTS 'broadcast_svc'@'${CAST01_HOST:-cast01}' IDENTIFIED BY '${DB_PASS}';
GRANT ALL PRIVILEGES ON broadcast.* TO 'broadcast_svc'@'%'; GRANT ALL PRIVILEGES ON broadcast.* TO 'broadcast_svc'@'%';
GRANT ALL PRIVILEGES ON broadcast.* TO 'broadcast_svc'@'localhost'; GRANT ALL PRIVILEGES ON broadcast.* TO 'broadcast_svc'@'localhost';
GRANT ALL PRIVILEGES ON broadcast.* TO 'broadcast_svc'@'${CAST01_HOST:-cast01}';
FLUSH PRIVILEGES; FLUSH PRIVILEGES;
SQLEOF SQLEOF
log "broadcast: DB schema applied" log "broadcast: DB schema applied"