docs(devops): add canonical endpoint inventory
This commit is contained in:
parent
477891fb4a
commit
cdbdd48a35
@ -3,6 +3,10 @@
|
||||
> **File:** `docker-compose.ecosystem.yml`
|
||||
> **Purpose:** Run the entire ByteLyst ecosystem in a single Docker Compose stack.
|
||||
|
||||
Related:
|
||||
|
||||
- [`ENDPOINT_INVENTORY.md`](./ENDPOINT_INVENTORY.md) — canonical endpoint inventory across local, Azure VM, and domain-based ingress
|
||||
|
||||
---
|
||||
|
||||
## Prerequisites
|
||||
|
||||
248
docs/devops/ENDPOINT_INVENTORY.md
Normal file
248
docs/devops/ENDPOINT_INVENTORY.md
Normal file
@ -0,0 +1,248 @@
|
||||
# ByteLyst Endpoint Inventory
|
||||
|
||||
> Canonical endpoint inventory for local Docker Compose, the single Azure VM, and documented domain-based ingress.
|
||||
> Use this file as the source of truth when Saravana needs the full list of backend URLs, website URLs, internal surfaces, and public gateway patterns.
|
||||
|
||||
---
|
||||
|
||||
## Scope
|
||||
|
||||
This document consolidates endpoint tracking that was previously split across:
|
||||
|
||||
- [`ECOSYSTEM_DEPLOYMENT.md`](./ECOSYSTEM_DEPLOYMENT.md)
|
||||
- [`single_azure_vm/docker/README.md`](./single_azure_vm/docker/README.md)
|
||||
- [`vercel/ECOSYSTEM_WEB_APPS_INVENTORY.md`](./vercel/ECOSYSTEM_WEB_APPS_INVENTORY.md)
|
||||
- [`single_azure_vm/docker/SECURE_API_EXPOSURE.md`](./single_azure_vm/docker/SECURE_API_EXPOSURE.md)
|
||||
- [`single_azure_vm/docker/Caddyfile.bytelyst.example`](./single_azure_vm/docker/Caddyfile.bytelyst.example)
|
||||
|
||||
Use the environment-specific sections below:
|
||||
|
||||
- `localhost` URLs: local Docker Compose development
|
||||
- `http://<vm-ip>:<port>` URLs: direct Azure VM access and validation
|
||||
- `https://...bytelyst.com` URLs: documented ingress and public-facing DNS patterns
|
||||
|
||||
---
|
||||
|
||||
## Deployment Rule
|
||||
|
||||
- Azure VM / Docker hosts backend services, shared infrastructure, internal dashboards, internal portals, and internal product web surfaces
|
||||
- Vercel is reserved for clearly public-facing portal web surfaces
|
||||
- `admin-web`, `tracker-web`, and similar operator-facing apps stay on the VM
|
||||
- Product backend APIs should be consumed through the shared API gateway pattern instead of raw public VM ports
|
||||
|
||||
---
|
||||
|
||||
## Local Docker Compose Endpoints
|
||||
|
||||
These are the standard local URLs from the compose stack in [`ECOSYSTEM_DEPLOYMENT.md`](./ECOSYSTEM_DEPLOYMENT.md).
|
||||
|
||||
### Infrastructure
|
||||
|
||||
| Service | Port | URL |
|
||||
| -------------------- | ----: | ------------------------ |
|
||||
| Cosmos DB Emulator | 8081 | `http://localhost:8081` |
|
||||
| Cosmos Data Explorer | 1234 | `http://localhost:1234` |
|
||||
| Azurite (Blob) | 10000 | `http://localhost:10000` |
|
||||
| Mailpit SMTP | 1025 | none |
|
||||
| Mailpit UI | 8025 | `http://localhost:8025` |
|
||||
| Loki | 3100 | `http://localhost:3100` |
|
||||
| Grafana | 3000 | `http://localhost:3000` |
|
||||
| Traefik Dashboard | 8080 | `http://localhost:8080` |
|
||||
|
||||
### Platform Services
|
||||
|
||||
| Service | Port | Health URL |
|
||||
| ------------------ | ---: | ------------------------------ |
|
||||
| platform-service | 4003 | `http://localhost:4003/health` |
|
||||
| extraction-service | 4005 | `http://localhost:4005/health` |
|
||||
| mcp-server | 4007 | `http://localhost:4007/health` |
|
||||
|
||||
### Platform Dashboards
|
||||
|
||||
| Surface | Port | URL | Audience |
|
||||
| ------------- | ---: | ----------------------- | -------- |
|
||||
| Admin Console | 3001 | `http://localhost:3001` | internal |
|
||||
| Issue Tracker | 3003 | `http://localhost:3003` | internal |
|
||||
|
||||
### Product Backends
|
||||
|
||||
| Product | Port | Health URL |
|
||||
| ----------- | ---: | ------------------------------ |
|
||||
| PeakPulse | 4010 | `http://localhost:4010/health` |
|
||||
| ChronoMind | 4011 | `http://localhost:4011/health` |
|
||||
| JarvisJr | 4012 | `http://localhost:4012/health` |
|
||||
| NomGap | 4013 | `http://localhost:4013/health` |
|
||||
| MindLyst | 4014 | `http://localhost:4014/health` |
|
||||
| LysnrAI | 4015 | `http://localhost:4015/health` |
|
||||
| NoteLett | 4016 | `http://localhost:4016/health` |
|
||||
| FlowMonk | 4017 | `http://localhost:4017/health` |
|
||||
| ActionTrail | 4018 | `http://localhost:4018/health` |
|
||||
| LocalMemGPT | 4019 | `http://localhost:4019/health` |
|
||||
|
||||
### Product Web Apps
|
||||
|
||||
| Product | Port | URL | Audience |
|
||||
| ----------------- | ---: | ----------------------- | ------------------------------ |
|
||||
| LysnrAI Dashboard | 3002 | `http://localhost:3002` | internal in VM plan |
|
||||
| ChronoMind | 3030 | `http://localhost:3030` | internal in VM plan |
|
||||
| JarvisJr | 3035 | `http://localhost:3035` | internal in VM plan |
|
||||
| FlowMonk | 3040 | `http://localhost:3040` | internal in VM plan |
|
||||
| NoteLett | 3045 | `http://localhost:3045` | internal in VM plan |
|
||||
| MindLyst | 3050 | `http://localhost:3050` | internal in VM plan |
|
||||
| NomGap | 3055 | `http://localhost:3055` | internal in VM plan |
|
||||
| ActionTrail | 3060 | `http://localhost:3060` | internal in VM plan |
|
||||
| LocalMemGPT | 3070 | `http://localhost:3070` | public-facing portal candidate |
|
||||
|
||||
---
|
||||
|
||||
## Azure VM Direct Endpoints
|
||||
|
||||
These are the direct VM URLs from [`single_azure_vm/docker/README.md`](./single_azure_vm/docker/README.md). Use them for deployment checks, direct access, and troubleshooting.
|
||||
|
||||
### Infrastructure
|
||||
|
||||
| Service | Port | URL |
|
||||
| -------------------- | ----: | --------------------------- |
|
||||
| Gitea (npm registry) | 3300 | `http://<vm-ip>:3300` |
|
||||
| Ollama (LLM API) | 11434 | `http://<vm-ip>:11434` |
|
||||
| Cosmos Data Explorer | 1234 | `http://<vm-ip>:1234` |
|
||||
| Azurite (Blob) | 10000 | `http://<vm-ip>:10000` |
|
||||
| Mailpit UI | 8025 | `http://<vm-ip>:8025` |
|
||||
| Loki (Logs) | 3100 | `http://<vm-ip>:3100/ready` |
|
||||
| Grafana | 3000 | `http://<vm-ip>:3000` |
|
||||
| Traefik Dashboard | 8080 | `http://<vm-ip>:8080` |
|
||||
|
||||
### Platform Services
|
||||
|
||||
| Service | Port | Health URL |
|
||||
| ------------------ | ---: | ---------------------------- |
|
||||
| platform-service | 4003 | `http://<vm-ip>:4003/health` |
|
||||
| extraction-service | 4005 | `http://<vm-ip>:4005/health` |
|
||||
| mcp-server | 4007 | `http://<vm-ip>:4007/health` |
|
||||
|
||||
### Platform Dashboards
|
||||
|
||||
| Surface | Port | URL | Audience |
|
||||
| ------------- | ---: | --------------------- | -------- |
|
||||
| Admin Console | 3001 | `http://<vm-ip>:3001` | internal |
|
||||
| Issue Tracker | 3003 | `http://<vm-ip>:3003` | internal |
|
||||
|
||||
### Product Backends
|
||||
|
||||
| Product | Port | Health URL |
|
||||
| ----------- | ---: | ---------------------------- |
|
||||
| PeakPulse | 4010 | `http://<vm-ip>:4010/health` |
|
||||
| ChronoMind | 4011 | `http://<vm-ip>:4011/health` |
|
||||
| JarvisJr | 4012 | `http://<vm-ip>:4012/health` |
|
||||
| NomGap | 4013 | `http://<vm-ip>:4013/health` |
|
||||
| MindLyst | 4014 | `http://<vm-ip>:4014/health` |
|
||||
| LysnrAI | 4015 | `http://<vm-ip>:4015/health` |
|
||||
| NoteLett | 4016 | `http://<vm-ip>:4016/health` |
|
||||
| FlowMonk | 4017 | `http://<vm-ip>:4017/health` |
|
||||
| ActionTrail | 4018 | `http://<vm-ip>:4018/health` |
|
||||
| LocalMemGPT | 4019 | `http://<vm-ip>:4019/health` |
|
||||
|
||||
### VM-Hosted Web Surfaces
|
||||
|
||||
| Surface | Port | URL | Audience |
|
||||
| ----------------- | ---: | --------------------- | -------- |
|
||||
| Admin Console | 3001 | `http://<vm-ip>:3001` | internal |
|
||||
| Issue Tracker | 3003 | `http://<vm-ip>:3003` | internal |
|
||||
| LysnrAI Dashboard | 3002 | `http://<vm-ip>:3002` | internal |
|
||||
| ChronoMind | 3030 | `http://<vm-ip>:3030` | internal |
|
||||
| JarvisJr | 3035 | `http://<vm-ip>:3035` | internal |
|
||||
| FlowMonk | 3040 | `http://<vm-ip>:3040` | internal |
|
||||
| NoteLett | 3045 | `http://<vm-ip>:3045` | internal |
|
||||
| MindLyst | 3050 | `http://<vm-ip>:3050` | internal |
|
||||
| NomGap | 3055 | `http://<vm-ip>:3055` | internal |
|
||||
| ActionTrail | 3060 | `http://<vm-ip>:3060` | internal |
|
||||
| LLM Lab Dashboard | 3075 | `http://<vm-ip>:3075` | internal |
|
||||
| Efforise | 3080 | `http://<vm-ip>:3080` | internal |
|
||||
|
||||
---
|
||||
|
||||
## Domain-Based Ingress And Public URL Patterns
|
||||
|
||||
These are the documented DNS and ingress endpoints from:
|
||||
|
||||
- [`single_azure_vm/docker/Caddyfile.bytelyst.example`](./single_azure_vm/docker/Caddyfile.bytelyst.example)
|
||||
- [`single_azure_vm/docker/SECURE_API_EXPOSURE.md`](./single_azure_vm/docker/SECURE_API_EXPOSURE.md)
|
||||
- [`vercel/ECOSYSTEM_WEB_APPS_INVENTORY.md`](./vercel/ECOSYSTEM_WEB_APPS_INVENTORY.md)
|
||||
- [`single_azure_vm/docker/DEPLOYMENT_STATUS_2026-03-29.md`](./single_azure_vm/docker/DEPLOYMENT_STATUS_2026-03-29.md)
|
||||
|
||||
### Shared API Gateway
|
||||
|
||||
| Route Prefix | Canonical URL Pattern | Backend Target |
|
||||
| ------------ | ------------------------------------------ | ------------------- |
|
||||
| platform | `https://api.bytelyst.com/platform/...` | platform-service |
|
||||
| extraction | `https://api.bytelyst.com/extraction/...` | extraction-service |
|
||||
| mcp | `https://api.bytelyst.com/mcp/...` | mcp-server |
|
||||
| peakpulse | `https://api.bytelyst.com/peakpulse/...` | peakpulse-backend |
|
||||
| chronomind | `https://api.bytelyst.com/chronomind/...` | chronomind-backend |
|
||||
| jarvisjr | `https://api.bytelyst.com/jarvisjr/...` | jarvisjr-backend |
|
||||
| nomgap | `https://api.bytelyst.com/nomgap/...` | nomgap-backend |
|
||||
| mindlyst | `https://api.bytelyst.com/mindlyst/...` | mindlyst-backend |
|
||||
| lysnrai | `https://api.bytelyst.com/lysnrai/...` | lysnrai-backend |
|
||||
| notelett | `https://api.bytelyst.com/notelett/...` | notelett-backend |
|
||||
| flowmonk | `https://api.bytelyst.com/flowmonk/...` | flowmonk-backend |
|
||||
| actiontrail | `https://api.bytelyst.com/actiontrail/...` | actiontrail-backend |
|
||||
| localmemgpt | `https://api.bytelyst.com/localmemgpt/...` | localmemgpt-backend |
|
||||
|
||||
### Documented Ingress Domains
|
||||
|
||||
| Domain | Target | Audience | Status In Docs |
|
||||
| ------------------------------ | ---------------------- | ---------------------------------- | -------------------------- |
|
||||
| `https://api.bytelyst.com` | shared API gateway | app-facing / public API entrypoint | documented and recommended |
|
||||
| `https://gitea.bytelyst.com` | Gitea package registry | internal / build infrastructure | documented |
|
||||
| `https://admin.bytelyst.com` | admin-web | internal ops | documented |
|
||||
| `https://tracker.bytelyst.com` | tracker-web | internal ops | documented |
|
||||
| `https://llmlab.bytelyst.com` | llmlab-dashboard | internal tooling | documented |
|
||||
| `https://ollama.bytelyst.com` | Ollama | internal tooling | documented |
|
||||
|
||||
### Public Vercel App Conventions
|
||||
|
||||
These are the documented public-facing portal candidates from [`vercel/ECOSYSTEM_WEB_APPS_INVENTORY.md`](./vercel/ECOSYSTEM_WEB_APPS_INVENTORY.md). The exact final custom domains for every portal are not yet the canonical part of the deployment docs, so track them as Vercel projects first.
|
||||
|
||||
| Vercel Project / App | Repo Path |
|
||||
| -------------------- | ------------------------------------------------------- |
|
||||
| `lysnrai-portal` | `learning_voice_ai_agent/user-dashboard-web` |
|
||||
| `chronomind-web` | `learning_ai_clock/web` |
|
||||
| `jarvisjr-web` | `learning_ai_jarvis_jr/web` |
|
||||
| `nomgap-web` | `learning_ai_fastgap/web` |
|
||||
| `flowmonk-web` | `learning_ai_flowmonk/web` |
|
||||
| `notelett-web` | `learning_ai_notes/web` |
|
||||
| `actiontrail-web` | `learning_ai_trails/web` |
|
||||
| `mindlyst-web` | `learning_multimodal_memory_agents/mindlyst-native/web` |
|
||||
| `localmemgpt-web` | `learning_ai_local_memory_gpt/web` |
|
||||
| `efforise-client` | `learning_ai_efforise` |
|
||||
| `productivity-tools` | `learning_ai_productivity_web` |
|
||||
|
||||
### Canonical Runtime Environment Variables For Public Web Apps
|
||||
|
||||
| Env Var | Value Pattern | Notes |
|
||||
| ------------------------- | ------------------------------------- | ----------------------------- |
|
||||
| `PLATFORM_SERVICE_URL` | `https://api.bytelyst.com/platform` | canonical platform API base |
|
||||
| `EXTRACTION_SERVICE_URL` | `https://api.bytelyst.com/extraction` | canonical extraction API base |
|
||||
| `NEXT_PUBLIC_BACKEND_URL` | `https://api.bytelyst.com/<product>` | product backend gateway base |
|
||||
|
||||
---
|
||||
|
||||
## Which Document To Use
|
||||
|
||||
| Need | Use This Document |
|
||||
| ----------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
|
||||
| Full endpoint list across all environments | [`ENDPOINT_INVENTORY.md`](./ENDPOINT_INVENTORY.md) |
|
||||
| Local compose ports and URLs | [`ECOSYSTEM_DEPLOYMENT.md`](./ECOSYSTEM_DEPLOYMENT.md) |
|
||||
| Single Azure VM deployed URLs | [`single_azure_vm/docker/README.md`](./single_azure_vm/docker/README.md) |
|
||||
| Public gateway and DNS hardening model | [`single_azure_vm/docker/SECURE_API_EXPOSURE.md`](./single_azure_vm/docker/SECURE_API_EXPOSURE.md) |
|
||||
| Vercel project inventory and public web app targeting | [`vercel/ECOSYSTEM_WEB_APPS_INVENTORY.md`](./vercel/ECOSYSTEM_WEB_APPS_INVENTORY.md) |
|
||||
|
||||
---
|
||||
|
||||
## Maintenance Rule
|
||||
|
||||
When any service, port, ingress domain, or public app hosting target changes:
|
||||
|
||||
1. update this document first
|
||||
2. update the environment-specific source doc
|
||||
3. add the commit link in the relevant roadmap or deployment tracker if the change is implementation work
|
||||
@ -3,6 +3,10 @@
|
||||
> Deploy the **entire ByteLyst ecosystem** (31 services, 11 products) on a single Azure VM.
|
||||
> Two orchestration approaches — pick one or learn both side by side.
|
||||
|
||||
Related:
|
||||
|
||||
- [`../ENDPOINT_INVENTORY.md`](../ENDPOINT_INVENTORY.md) — canonical endpoint inventory across local, Azure VM, and domain-based ingress
|
||||
|
||||
---
|
||||
|
||||
## Approaches
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
|
||||
Related:
|
||||
|
||||
- [`../../ENDPOINT_INVENTORY.md`](../../ENDPOINT_INVENTORY.md) — canonical endpoint inventory across local, Azure VM, and domain-based ingress
|
||||
- [`SECURE_API_EXPOSURE.md`](./SECURE_API_EXPOSURE.md) — recommended public API exposure model, alternatives, and security guidance for client-facing URLs
|
||||
- [`DEPLOYMENT_STATUS_2026-03-29.md`](./DEPLOYMENT_STATUS_2026-03-29.md) — deployment snapshot: what completed on the Azure VM, what was manually fixed, and what remains
|
||||
|
||||
|
||||
@ -4,6 +4,10 @@
|
||||
> **Scope:** All web applications across the ByteLyst ecosystem
|
||||
> **Purpose:** Assess Vercel deployment readiness for every web surface
|
||||
|
||||
Related:
|
||||
|
||||
- [`../ENDPOINT_INVENTORY.md`](../ENDPOINT_INVENTORY.md) — canonical endpoint inventory across local, Azure VM, and public-domain patterns
|
||||
|
||||
---
|
||||
|
||||
## Executive Summary
|
||||
|
||||
Loading…
Reference in New Issue
Block a user