docs(infra): add complete CLI reference, examples, and phase docs to setup.sh + ECOSYSTEM_DEPLOYMENT.md
setup.sh header now includes: - All 6 CLI flags (--resume, --resume-from, --phase, --reset, --status, --help) - Phase descriptions (1-8) - 6 usage examples (fresh install, retry, resume, jump, status, reset) - Resume/retry explanation with state dir and build log paths ECOSYSTEM_DEPLOYMENT.md now includes: - Single-VM Bootstrap section with quick start - Resume & Retry examples - Phase table - Per-service build & fallback explanation - Health check script reference
This commit is contained in:
parent
b634708da8
commit
acbab75aaa
@ -182,6 +182,77 @@ See `docs/devops/GITEA_NPM_REGISTRY_MIGRATION.md` for details.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Single-VM Bootstrap (Azure / bare Ubuntu)
|
||||||
|
|
||||||
|
For deploying the entire ecosystem from scratch on a raw Ubuntu VM, use the automated bootstrap script:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Location: docs/devops/single_azure_vm/setup.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
This script installs **everything** — Docker, Node.js, pnpm, Gitea (npm registry), Ollama (LLM), clones all repos, builds packages, publishes to Gitea, and deploys the full 30-service ecosystem.
|
||||||
|
|
||||||
|
### Quick Start
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Fresh install (runs all 8 phases)
|
||||||
|
sudo ./setup.sh
|
||||||
|
|
||||||
|
# Check what's done
|
||||||
|
sudo ./setup.sh --status
|
||||||
|
```
|
||||||
|
|
||||||
|
### Resume & Retry
|
||||||
|
|
||||||
|
Phase completion is tracked in `/opt/bytelyst/.setup-state/`. If anything fails, you don't have to start over:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Phase 7 failed? Retry just that phase
|
||||||
|
sudo ./setup.sh --phase=7
|
||||||
|
|
||||||
|
# SSH disconnected mid-run? Auto-resume from where it left off
|
||||||
|
sudo ./setup.sh --resume
|
||||||
|
|
||||||
|
# Jump straight to deploy after a manual fix
|
||||||
|
sudo ./setup.sh --resume-from=7
|
||||||
|
|
||||||
|
# Start completely over
|
||||||
|
sudo ./setup.sh --reset
|
||||||
|
```
|
||||||
|
|
||||||
|
### Phases
|
||||||
|
|
||||||
|
| Phase | Description |
|
||||||
|
|-------|-------------|
|
||||||
|
| 1 | System dependencies (Docker, Node.js 22, pnpm, Ollama) |
|
||||||
|
| 2 | Gitea npm registry (container on :3300) |
|
||||||
|
| 3 | Clone 11 repositories from GitHub |
|
||||||
|
| 4 | Build all @bytelyst/* packages |
|
||||||
|
| 5 | Publish packages to Gitea npm registry |
|
||||||
|
| 6 | Generate `.env.ecosystem` config |
|
||||||
|
| 7 | Build + deploy 30 Docker services (per-service, with fallback) |
|
||||||
|
| 8 | Health check (30 endpoints) |
|
||||||
|
|
||||||
|
### Per-Service Build & Fallback
|
||||||
|
|
||||||
|
Phase 7 builds each of the 30 services individually:
|
||||||
|
- **Pre-built images** (infra: cosmos-emulator, azurite, etc.) are detected and skipped
|
||||||
|
- **Failed builds** are skipped — remaining services still start
|
||||||
|
- **Build logs** are saved per-service to `/opt/bytelyst/.setup-state/builds/<service>.log`
|
||||||
|
- After fixing a build failure, re-run with `sudo ./setup.sh --phase=7`
|
||||||
|
|
||||||
|
### Health Check
|
||||||
|
|
||||||
|
After deployment, a standalone health-check script is created at `/opt/bytelyst/check-health.sh`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/opt/bytelyst/check-health.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
This checks all 30 endpoints (infrastructure, platform services, dashboards, product backends, product web apps) plus Gitea and Ollama.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
@ -21,6 +21,32 @@
|
|||||||
# --resume-from=N Resume from phase N (1-8)
|
# --resume-from=N Resume from phase N (1-8)
|
||||||
# --phase=N Run ONLY phase N (useful for retrying a single phase)
|
# --phase=N Run ONLY phase N (useful for retrying a single phase)
|
||||||
# --reset Clear phase markers and start fresh
|
# --reset Clear phase markers and start fresh
|
||||||
|
# --status Show completed phases and exit
|
||||||
|
# -h, --help Show usage help
|
||||||
|
#
|
||||||
|
# Phases:
|
||||||
|
# 1 System dependencies (Docker, Node, pnpm, Ollama)
|
||||||
|
# 2 Gitea npm registry (container on :3300)
|
||||||
|
# 3 Clone 11 repositories from GitHub
|
||||||
|
# 4 Build all @bytelyst/* packages
|
||||||
|
# 5 Publish packages to Gitea npm registry
|
||||||
|
# 6 Generate .env.ecosystem config
|
||||||
|
# 7 Build + deploy 30 Docker services (per-service, with fallback)
|
||||||
|
# 8 Health check (30 endpoints)
|
||||||
|
#
|
||||||
|
# Examples:
|
||||||
|
# sudo ./setup.sh # Fresh install (all 8 phases)
|
||||||
|
# sudo ./setup.sh --phase=7 # Retry just the deploy phase
|
||||||
|
# sudo ./setup.sh --resume # Auto-resume after SSH disconnect
|
||||||
|
# sudo ./setup.sh --resume-from=7 # Jump to deploy after manual fix
|
||||||
|
# sudo ./setup.sh --status # Check what's done
|
||||||
|
# sudo ./setup.sh --reset # Start completely over
|
||||||
|
#
|
||||||
|
# Resume/retry:
|
||||||
|
# Phase completion is tracked in /opt/bytelyst/.setup-state/.
|
||||||
|
# If a phase fails, fix the issue and re-run with --resume or --phase=N.
|
||||||
|
# Phase 7 builds each service individually — failed builds are skipped,
|
||||||
|
# remaining services still start. Build logs: /opt/bytelyst/.setup-state/builds/
|
||||||
#
|
#
|
||||||
# Optional env vars:
|
# Optional env vars:
|
||||||
# GITHUB_USER — GitHub org/user to clone from (default: saravanakumardb1)
|
# GITHUB_USER — GitHub org/user to clone from (default: saravanakumardb1)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user