837f0fa63f
Close deployment IDOR and gate stub payment endpoints, add production secret validation, health probes, Redis-backed build progress, GitHub Actions CI, expanded tests, billing/k8s refactors, and ops runbooks. Co-authored-by: Cursor <cursoragent@cursor.com>
70 lines
1.7 KiB
Markdown
70 lines
1.7 KiB
Markdown
# CloudHost — Operations Runbook (English)
|
|
|
|
Short operational guide. For architecture details see [ARCHITECTURE.md](ARCHITECTURE.md). For Persian production deploy steps see [RUNBOOK.fa.md](RUNBOOK.fa.md).
|
|
|
|
## Stack
|
|
|
|
- **Frontend:** Next.js 16 (`/fa-IR`, `/en-US` routes)
|
|
- **Backend:** NestJS 11 (`/api/v1`, Swagger at `/api/docs`)
|
|
- **Data:** PostgreSQL 16, Redis 7
|
|
- **Build:** Kaniko in-cluster (`cloudhost-builds` namespace)
|
|
- **Deploy:** Helm charts (`cloudhost-platform`, `cloudhost-app`, `cloudhost-logging`)
|
|
|
|
## Health checks
|
|
|
|
| Endpoint | Purpose |
|
|
|----------|---------|
|
|
| `GET /api/v1/health` | Liveness |
|
|
| `GET /api/v1/ready` | Readiness (DB ping) |
|
|
|
|
## Local development
|
|
|
|
```bash
|
|
docker compose up -d postgres redis
|
|
cd backend && cp .env.example .env && npm run start:dev
|
|
cd frontend && cp .env.local.example .env.local && npm run dev
|
|
```
|
|
|
|
## SQL migrations
|
|
|
|
1. Add file under `backend/migrations/`
|
|
2. Run `cd backend && npm run sync:migrations` (copies into Helm chart)
|
|
3. Helm post-install Job applies migrations on upgrade
|
|
|
|
## Build namespace bootstrap
|
|
|
|
```bash
|
|
kubectl apply -f backend/k8s/builds/cloudhost-builds-bootstrap.yaml
|
|
```
|
|
|
|
Configure `REGISTRY_URL`, `BUILD_NAMESPACE`, and `CLUSTER_KUBECONFIG_KEY` in backend env.
|
|
|
|
## Backups (optional Helm)
|
|
|
|
Enable in `values.yaml`:
|
|
|
|
```yaml
|
|
backups:
|
|
postgres:
|
|
enabled: true
|
|
schedule: "0 3 * * *"
|
|
storageSize: 10Gi
|
|
```
|
|
|
|
Restore: `gunzip -c backup.sql.gz | psql` against the control-plane database.
|
|
|
|
## Monitoring (optional)
|
|
|
|
Enable Prometheus ServiceMonitor:
|
|
|
|
```yaml
|
|
monitoring:
|
|
enabled: true
|
|
```
|
|
|
|
Requires `kube-prometheus-stack` or compatible Prometheus Operator in the cluster.
|
|
|
|
## CI
|
|
|
|
GitHub Actions runs backend/frontend tests, typecheck, build, and `helm lint` on push/PR.
|