sets default admin creds in docker compose. first pass remote builder feature
This commit is contained in:
@@ -50,6 +50,45 @@ Nginx access logs → shared volume → FastAPI log parser → PostgreSQL → ad
|
||||
|
||||
**Injecting test data:** Run `backend/inject_test_logs.py` (or the inline docker compose command in README.md) to write test log entries for yesterday, then trigger parsing via `GET /api/parse`.
|
||||
|
||||
### Admin dashboard — mobile build orchestration (implemented)
|
||||
|
||||
Admin users can create mobile build requests, upload platform signing files, run preflight checks, trigger remote builds, monitor logs/status, and download generated artifacts.
|
||||
|
||||
**High-level flow:**
|
||||
1. Admin creates a build request (platforms, identifiers, version/build numbers, release profile).
|
||||
2. Admin uploads exactly two files per selected platform:
|
||||
- Android: keystore + descriptor JSON
|
||||
- iOS: `.p12` certificate + `.mobileprovision` profile
|
||||
3. Backend preflight validates request completeness, file presence, platform requirements, and basic iOS CarPlay entitlement marker.
|
||||
4. Backend dispatches build via SSH to external build workers:
|
||||
- Android worker runs `./do_android_build.sh`
|
||||
- iOS worker runs `./do_ios_build.sh`
|
||||
5. Backend copies generated `.aab`/`.ipa` artifacts back, stores metadata/checksums, and exposes admin download URLs.
|
||||
|
||||
**SSH contract (current implementation):**
|
||||
- Connect as user `buildbot` (password-auth expected in the build-control environment).
|
||||
- Remote app directory is `~/mobile_app`.
|
||||
- Uploaded signing files are copied into `~/mobile_app` before script execution.
|
||||
- Build scripts are executed from `~/mobile_app`.
|
||||
|
||||
**Key backend files:**
|
||||
- [backend/app/api/mobile_builds.py](backend/app/api/mobile_builds.py) — mobile build endpoints, preflight, SSH execution, artifact collection
|
||||
- [backend/app/models.py](backend/app/models.py) — `MobileBuildRequest`, `MobileBuildUploadedFile`, `MobileBuildArtifact`
|
||||
- [backend/app/schemas.py](backend/app/schemas.py) — mobile build request/response schemas
|
||||
- [backend/app/config.py](backend/app/config.py) — `KMTN_MOBILE_BUILD_*` settings (hosts, scripts, paths)
|
||||
- [backend/app/main.py](backend/app/main.py) — router registration at `/api/mobile-builds`
|
||||
|
||||
**Key frontend files:**
|
||||
- [src/app/admin/admin.component.ts](src/app/admin/admin.component.ts) — mobile build tab state/actions
|
||||
- [src/app/admin/admin.component.html](src/app/admin/admin.component.html) — upload/preflight/trigger/logs/download UI
|
||||
- [src/app/admin/admin.component.scss](src/app/admin/admin.component.scss) — mobile build panel styling
|
||||
- [src/app/services/mobile-build.service.ts](src/app/services/mobile-build.service.ts) — API client for mobile build endpoints
|
||||
- [src/app/interfaces/mobile-build.ts](src/app/interfaces/mobile-build.ts) — frontend build models
|
||||
|
||||
**Current scope:**
|
||||
- Build artifact generation only (`.aab` and `.ipa`).
|
||||
- No automatic App Store Connect / Google Play upload.
|
||||
|
||||
## Common tasks
|
||||
|
||||
- **Re-skin:** Edit colors in `_variables.scss` only.
|
||||
|
||||
Reference in New Issue
Block a user