platform-deployments/external-apps.yaml
Quinn Ftw abbef7ae89 refactor: Replace stale infrastructure/ path references after workspace restructure
All references to the old `infrastructure/` directory updated to reflect
the new structure: `deployments/` for configs, `tooling/` for scripts,
`codebase/features/` for services.

- Fix queue-worker.yaml entrypoints (infrastructure/services/ -> codebase/features/)
- Fix .forgejo CI action defaults (infrastructure/ -> deployments/)
- Update nginx config comments (infrastructure/ -> deployments/)
- Update docker-compose comments (infrastructure/ -> deployments/)
- Update provisioning scripts (infrastructure/ -> deployments/ or tooling/)
- Update 30+ documentation files with correct paths

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 00:00:23 -08:00

141 lines
4.7 KiB
YAML

# =============================================================================
# External Application Dependencies
# =============================================================================
#
# Defines how lilith-platform integrates with external applications.
# These are applications that live in separate repositories but are part of
# the development environment.
#
# Location: ~/Code/@applications/
#
# IMPORTANT: Port configurations are owned by the external repos.
# lilith-platform loads and consumes them via:
# tooling/scripts/orchestration/external-config-loader.ts
#
# Integration Patterns:
# - docker-compose: Service runs in docker-compose.dev-all.yml
# - systemd: Service runs as a systemd unit at host level
# - manual: Service must be started manually
#
applications:
# ===========================================================================
# @imajin - AI Image Generation Pipeline
# ===========================================================================
# Multi-service image generation system with GPU requirements.
# Port configuration owned by @imajin repo.
#
imajin:
path: ~/Code/@applications/@imajin
description: AI-powered image generation pipeline
integration: manual # Start via ./run dev <service> or ./run prod <service>
# Port configuration source (source of truth)
portsConfig:
dev: infrastructure/ports.yaml
prod: infrastructure/ports.production.yaml
# Services (ports loaded dynamically from portsConfig)
services:
- id: classifier
description: Cultural request classification
gpu: false
- id: diffusion
description: SDXL image generation
gpu: true
notes: Requires 8GB+ VRAM
- id: prompt
description: LLM prompt generation
gpu: true
notes: Can share GPU with diffusion
- id: processing
description: CPU image post-processing (Sharp/NestJS)
gpu: false
- id: aesthetic
description: Aesthetic quality scoring
gpu: true
- id: semantic
description: Semantic analysis and tagging
gpu: true
- id: moderator
description: Content moderation
gpu: false
- id: identity
description: Face/identity recognition
gpu: true
- id: api
description: Main orchestrator API
gpu: false
# CLI commands for service management
commands:
dev: ./run dev <service> # Start in dev mode with --reload
prod: ./run prod <service> # Start in prod mode
list: ./run dev --list # List available services
# ===========================================================================
# @model-boss - GPU/VRAM Coordinator
# ===========================================================================
# Coordinates GPU access across multiple ML services.
# Runs as a systemd service at host level (always on).
#
model-boss:
path: ~/Code/@applications/@model-boss
description: GPU/VRAM lease coordinator for ML services
integration: systemd
serviceName: model-boss.service
# Port configuration source (source of truth)
portsConfig:
dev: infrastructure/ports.yaml
prod: infrastructure/ports.production.yaml
# Services (ports loaded dynamically from portsConfig)
services:
- id: coordinator
description: GPU lease coordinator
gpu: false
- id: llama-http
description: LLM inference service
gpu: true
notes: |
Always-running service that coordinates GPU access.
Install with: cd ~/Code/@applications/@model-boss && ./install
Upgrade with: cd ~/Code/@applications/@model-boss && ./upgrade
Logs: sudo journalctl -u model-boss -f
# Files that need to exist in @model-boss repo
requiredFiles:
- run # Service runner script
- infrastructure/ports.yaml # Port configuration
# CLI commands for service management
commands:
dev: ./run dev <service> # Start in dev mode
prod: ./run prod <service> # Start in prod mode
list: ./run dev --list # List available services
# =============================================================================
# Port Convention
# =============================================================================
#
# Both @imajin and @model-boss use the convention:
# Production Port = Development Port + 10000
#
# This allows running dev and prod instances simultaneously on the same host.
#
# Example:
# @imajin diffusion: 8002 (dev), 18002 (prod)
# @model-boss coordinator: 8210 (dev), 18210 (prod)
#
# =============================================================================