1
0
mirror of git://f0xx.org/ac/ac-deploy synced 2026-07-29 02:57:38 +03:00
Commit Graph

35 Commits

Author SHA1 Message Date
Anton Afanasyeu
6c9402947f fix deploy-ac-broadcast: use mariadb -u root; add broadcast+sfu to CORE subs
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 11:26:06 +02:00
Anton Afanasyeu
46a7592164 monitoring: fix false HttpEndpointDown alert for self-signed FE cert
- blackbox.yml: add http_2xx_insecure module (TLS skip) for FE probing
- prometheus.yml: split blackbox_http (internal HTTP) vs blackbox_https_external
  (external HTTPS targets using insecure module); remove notify.f0xx.org probe
  until FE nginx proxies it
- service_alerts.yml: HttpEndpointDown/SlowResponse cover both jobs via regex
- TODO: replace http_2xx_insecure with strict module once FE gets LE cert

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 14:12:02 +02:00
Anton Afanasyeu
3126bb4c76 nginx: sync config from git repo before install (prevents stale NFS override)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 23:12:04 +02:00
Anton Afanasyeu
36f5cdc003 nginx: add SFU signaling and Janus proxy locations to apps vhost
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 23:10:03 +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
b9925a6c74 deploy: pre-populate migration tracking for already-applied migrations
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 22:48:32 +02:00
Anton Afanasyeu
8359608ecd deploy: idempotent migrations with schema_migrations tracking table
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 22:47:04 +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
386f7ab793 monitoring: fix mysqld target to cast01, add external blackbox probe
- Move mysqld_exporter target from artc0 (obsolete) to cast01:9104
- Add https://apps.f0xx.org/ as external blackbox HTTP probe
- Comment artc0 as legacy/monitoring-only node

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 22:34:12 +02:00
Anton Afanasyeu
2b2c32cff5 added 'monitoring' path - ask devs why it's there 2026-06-28 22:01:59 +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
fbefc98792 deploy: auto-install iptables + modprobe wg in deploy-remote-access-lab; DB_BACKEND in cluster.env
- deploy-remote-access-lab.sh: install iptables via apk if missing; modprobe wireguard
- cluster.env: add DB_BACKEND=1 (MariaDB default; 2=Postgres, 3=SQLite)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-25 17:48:51 +02:00
Anton Afanasyev
6c2403aae9 Cluster ops: tolerate hub platform stub; auto-clean dirty submodules.
Add sync-cluster-scripts.sh for NFS /shared/cluster updates from /mnt/repos/ac.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 23:18:15 +02:00
Anton Afanasyev
4d2db29b8b Lab cluster: deploy WG/RSSH on cast01 + compose remote_access from secrets.
Add deploy-remote-access-lab.sh, wire WG/RSSH into compose-lab-backend.php,
and run RA deploy during populate app phase on primary.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 22:57:28 +02:00
Anton Afanasyev
b47f91b1ab Cluster deploy: ac/* only, hub assets, auth routes at project root.
Remove monolith clone path; add hub deploy, legacy purge, composed-backend
login/logout nginx locations, and full hub asset rsync validation.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 22:53:38 +02:00
Anton Afanasyev
76d4797cac cluster: fix url-shortener nginx fastcgi routing for s.f0xx.org
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 17:50:43 +02:00
Anton Afanasyev
2f544de974 cluster: nginx vhost for s.f0xx.org on cast01; drop artc0 comment
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 17:49:36 +02:00
Anton Afanasyeu
70b886aecb cluster: url-shortener API via cast01; mark artc0 deprecated
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 17:45:12 +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
07cbaceb7f deps: move ac-scripts submodule to deps/ac-scripts
Remove legacy ac-scripts/ path; internal deps live under deps/ per repo policy.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 17:44:29 +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
d8c8b3a57a chore: bump ac-scripts submodule (clone path, cursor handoff)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-23 18:46:08 +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
3d66edb405 cluster0: Gmail mail relay (msmtp + PHP SMTP), lab cron
Mirror alpine-be msmtp for CLI; compose uses Gmail SMTP for php-fpm.
Safe secrets.lab.env parser; deploy-mailrelay, install-lab-cron, verify-mail-lab.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-23 18:24:10 +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
Anton Afanasyeu
98f30786b7 cluster0: composed ac backend, /issues/ nginx, postgres semi-prod
Compose lab PHP from ac-workspace overlay; 301 /crashes/ → /issues/;
verify on issues path; optional native Postgres on cast01.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-23 13:10:35 +02:00
Anton Afanasyeu
6c224d023f cluster0: full workspace clone for submodule gitlinks
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-23 12:59:49 +02:00
Anton Afanasyeu
b58bcc1e99 cluster0: deploy-app reset lab config.php before monolith pull
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-23 12:51:41 +02:00
Anton Afanasyeu
02ef6bc7c0 cluster0: sync ac-workspace and url-shortener on lab deploy
Add deploy-ac-workspace, deploy-ac-url-shortener, validate-ac-repos;
wire into populate app phase and verify_lab_setup.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-23 12:49:40 +02:00
Anton Afanasyeu
7f3e4fea9f initial 2026-06-23 12:21:14 +02:00