25 lines
1.1 KiB
Plaintext
25 lines
1.1 KiB
Plaintext
---
|
|
description: Finland git/CI/Telegram vs Iran app runtime topology
|
|
alwaysApply: true
|
|
---
|
|
|
|
# Infra topology (Finland vs Iran)
|
|
|
|
Ghabilee product apps (backend, admin, frontend) follow this split:
|
|
|
|
| Concern | Where |
|
|
| --- | --- |
|
|
| Git (`git.ghabilee.ir`) + Gitea Actions runners | **Finland** |
|
|
| All Telegram ops / deploy notifications | **Finland** (Actions secrets `TELEGRAM_*`, send from the runner) |
|
|
| App runtime (Docker Compose, Postgres, Redis, nginx, uploads) | **Iran** VPS |
|
|
|
|
## Rules for agents
|
|
|
|
- Do **not** send Telegram from the Iran VPS (`api.telegram.org` is unreachable there).
|
|
- Do **not** `source` full backend `.env` in shell notify paths (cron globs like `BOOKING_EXPIRY_CRON=*` break `sh`).
|
|
- Do **not** run heavy `docker build` / `next build` on the Iran box by default (OOM risk on small VPS).
|
|
- CI deploy should **build on Finland**, transfer the image to Iran, then `compose up` on Iran.
|
|
- Secrets: `VPS_*` = Iran runtime SSH; `FINLAND_*` = Finland build SSH; `TELEGRAM_*` = notify from Finland.
|
|
- Exception: `telegrambot` / telegram-relay **runs on Finland** (that is intentional).
|
|
|