Anton Afanasyeu
465efa8d98
feat(deploy): lab-seeds sync, msmtp nginx-readable secret, hub downloads
...
Signed-off-by: Anton Afanasyeu <a.afanasieff@gmail.com >
2026-07-12 13:53:38 +02:00
Anton Afanasyeu
624c9d3d7e
fix(2fa): stop redirecting mobile approve GET to login page
...
QR scan must open one-tap approve directly; token in URL is sufficient.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-11 21:40:01 +02:00
Anton Afanasyeu
ca28a7b97d
fix(cluster0): QR 2FA one-tap approve; default public origin apps.f0xx.org
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-11 17:33:43 +02:00
Anton Afanasyeu
d6f435ada0
fix(lab-seeds): align login and QR approve views with ac-be-auth
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-11 16:16:42 +02:00
Anton Afanasyeu
b8bd0e673c
Enable lab media_pipelines in composed config and wire ac-ms-media-transcode.
...
Overlay media pipeline PHP/JS/SQL on compose, nginx HLS location, enable
feature in lab config.php, and ensure media storage dirs on BE nodes.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-11 15:27:01 +02:00
Anton Afanasyeu
54174e7497
fix(cluster0): wire 2FA redirects, heartbeat session touch, TOTP reset script
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-11 14:48:27 +02:00
Anton Afanasyeu
a411dc5405
feat(cluster0): add Janus SFU deploy script and graph gzip smoke test
...
deploy-janus-sfu.sh installs Janus on cast02, writes signaling config, and templates CAST02_IP into nginx; populate gains --phase sfu.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-10 22:12:02 +02:00
Anton Afanasyeu
a14413e886
fix(cluster0): Gitea cluster proxy, 2FA seed, hub downloads nginx
...
Bind Gitea on all interfaces for cast02/03 proxy, fix stale 2FA lab-seed
approve flow, add /v0/downloads/ and GITEA_UPSTREAM_HOST, and guard nginx
configure against empty templates.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-10 15:36:49 +02:00
Anton Afanasyeu
970de79a90
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 >
2026-07-08 14:56:15 +02:00
Anton Afanasyeu
0911d97fa9
fix(lab-seed): sync analytics.js consent gate for GA4
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-06 17:19:55 +02:00
Anton Afanasyeu
cf2e6ecb4e
fix(cluster0): 2FA nginx routes and extend pending-2FA on poll
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-05 19:12:53 +02:00
Anton Afanasyeu
98f4ecc2c5
deploy: favicon, nuevo-player, ac-ms-broadcast, nginx notify/monitor/broadcast
...
- favicon.ico (32px) + apple-touch-icon.ico (180px) added to composed backend seed
- layout.php: add <link rel="icon"> and <link rel="apple-touch-icon"> in <head>
- nuevo-player (Video.js + Nuevo licensed plugin) into assets/vendor/nuevo-player/
- THIRD_PARTY_LICENSES.md: add Nuevo Player (commercial) + TipTap (MIT) entries
- apps-port80.conf: full rewrite with all live fixes merged in:
* map $http_upgrade $connection_upgrade (WebSocket upgrade)
* 2FA location regex extended: api/two-factor
* grafana-auth-check internal endpoint + @monitor_login_redirect
* Grafana proxy (cast04:3000) + Alertmanager proxy (cast04:9093)
* broadcast admin path /app/androidcast_project/broadcast/ (auth_request gated)
* notify.f0xx.org server block: public /m/{slug} landing + API
* favicon.ico at server root
- deploy-ac-broadcast.sh: new app-phase script (DB schema, user, worker, rsync)
- populate_lab_setup.sh: add deploy-ac-broadcast.sh to run_phase_app
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-28 22:55:44 +02:00
Anton Afanasyeu
9edcd44689
deploy: fix load-schemas paths; add 080_sfu_rooms migration
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-28 22:41:22 +02:00
Anton Afanasyeu
3c5233c903
feat(2fa): add cross-device approval routes to composed backend router
...
- New routes: GET/POST /two-factor/approve, GET /api/two-factor/poll
- Nginx regex extended: (login|...|api/two-factor)(/|$)
- lab-seeds views/JS synced from ac-be-auth
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-27 22:49:59 +02:00
Anton Afanasyeu
e4e3cd3462
deps: ac-scripts under deps/; cluster upstream in lab apps.conf seed
...
Move ac-scripts submodule to deps/ac-scripts. FE apps.conf seed proxies to
ac_be_backend (cast01–03) instead of artc0.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-24 17:45:04 +02:00
Anton Afanasyeu
b68dd00527
cluster0: lab verify-email short links via prod s.f0xx.org API
...
Lab MariaDB slugs are not on public s.f0xx.org; outbound mail calls prod
shorten API (internal artc0 + Host header) with API bearer token in secrets.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-23 22:37:55 +02:00
Anton Afanasyeu
560e4e12b2
cluster0: sync lab-seed AuthMailer with inline CID QR for verify email
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-23 21:34:04 +02:00
Anton Afanasyeu
5b16848366
cluster0: fix secrets MAIL_FROM parsing; normalize RFC5322 From in compose
...
load_secrets_lab quotes values safely; compose reads MAIL_FROM via read_secret.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-23 20:14:27 +02:00
Anton Afanasyeu
62ba6aa615
cluster0: compose overlays lab-seed shortener; fix workspace git safe.dir
...
Re-copy ShortLinksRepository from NFS seed after ac-ms-* overlays;
deploy-ac-workspace allows all safe.directory; verify-mail-lab logs short URL.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-23 19:08:42 +02:00
Anton Afanasyeu
529bd61682
cluster0: verify email QR via hosted image URL, not SMTP attachment
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-23 19:01:30 +02:00
Anton Afanasyeu
7a014118a2
cluster0: QR verify email attachment, libqrencode-tools, src=qr analytics
...
ShortLinksRepository mail pack + renderQrPng; cluster APK includes
libqrencode-tools; deploy-ac-url-shortener ensures QR CLI.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-23 18:53:35 +02:00
Anton Afanasyeu
aa55e03fbd
cluster0: auth-email bearer + shorten verify URLs in outbound mail
...
ShortLinksRepository::shortenForOutbound; ensure-auth-email-bearer.sh;
verify-mail-lab sends shortened s.f0xx.org link in verify email body.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-23 18:37:24 +02:00
Anton Afanasyeu
c554dc761d
cluster0: lab seeds, Gitea mirrors, compose mail, verify tooling
...
Freeze lab-seeds backend for COMPOSE_SKIP_MONOLITH; fix Gitea mirror scripts
for 1.25 API; add secrets.lab.env template, verify-mail-lab, LAB_PUBLIC_ORIGIN,
and credentials pointers for mirror token recovery.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-23 17:07:46 +02:00