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

28 Commits

Author SHA1 Message Date
Anton Afanasyeu
56a6cd785d fix(cluster0): preserve issues layout overlay and validate rsync deploy
Compose ac-be-issues views last so tickets/graphs stubs no longer overwrite
the canonical nav shell (monitor link). validate-ac-repos accepts /mnt/repos/ac
lab checkout and unset url-shortener origin.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-05 18:28:46 +02:00
Anton Afanasyeu
4e885056e0 compose: builder config, two_factor.js sync, cluster bootstrap support 2026-07-05 16:57:37 +02:00
Anton Afanasyeu
e3ba73a607 fix configure-nginx: skip same-file install (script runs from git repo path)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 11:30:14 +02:00
Anton Afanasyeu
8dbfe5e321 fix deploy-ac-broadcast: source from monorepo NFS; remove broadcast from CORE subs
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 11:28:07 +02:00
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
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
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
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 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
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