1
0
mirror of git://f0xx.org/android_cast synced 2026-07-29 04:18:09 +03:00

orchestration beginning

This commit is contained in:
Anton Afanasyeu
2026-05-30 17:55:36 +02:00
parent 95f521c4a0
commit a9a9590698
31 changed files with 1238 additions and 27 deletions

62
docs/BUILD_DEPLOY.md Normal file
View File

@@ -0,0 +1,62 @@
# Android Cast build ecosystem
## Shared authentication
All web consoles (Crashes, Tickets, Builder) share:
| Setting | Value |
|---------|--------|
| Session name | `ac_crash_sess` |
| Cookie path | `/app/androidcast_project` |
| User store | MariaDB `users` table (same DB as crashes) |
| PHP auth | `examples/crash_reporter/backend/src/Auth.php` |
Sign in once on any console; the session cookie is valid for `/crashes/`, `/build/`, and future apps under the same path prefix.
Orchestration generates matching configs:
- `orchestration/runtime/crash-config.php`
- `orchestration/runtime/build-config.php`
Both use `${MARIADB_USER}` / `${MARIADB_PASSWORD}` from `orchestration/.env`.
## Local stack
```bash
cd orchestration
./deploy.sh
```
| URL | Purpose |
|-----|---------|
| `http://localhost:8080/app/androidcast_project/` | Hub landing |
| `…/crashes/` | Crash / ticket console |
| `…/build/` | APK builder console |
| `…/v0/ota/` | Published OTA artifacts (when auto-deploy enabled) |
Direct debug ports: crashes `:8082`, builder `:8083`.
## Trigger a build
1. Open Builder → sign in (default dev user from crash schema seed).
2. Set git ref, pipeline options, OTA channel.
3. **Start build** → detail page polls log every 1s.
4. Artifacts land in `out/builds/<id>/`; optional OTA copy to `orchestration/runtime/ota-artifacts/`.
## Docker CI
- Image version label: `00.BB.CC.DDDD` (see root `Dockerfile`).
- Host wrapper: `scripts/docker-build-runner.sh`
- In-container pipeline: `scripts/ci-build-and-publish-ota.sh`
- OTA generator: `scripts/generate-ota-v0.sh [channel]`
## CircleCI
- Pipeline description: `build.config.yml`
- Local CLI stub: `.circleci/config.yml` (`circleci config validate`)
## Production notes
- Mount builder PHP with Docker socket (build host only).
- FE nginx: read-only OTA under `/v0/ota/`; BE RWX on artifact mount.
- Keep `session_cookie_path` identical across all PHP apps behind the hub.