feat(resources): add [orch] package extras, cf-orch entry point, Docker compose
This commit is contained in:
parent
5fb3a2b41e
commit
1f296c0cdb
3 changed files with 63 additions and 1 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
|
@ -4,3 +4,7 @@ __pycache__/
|
||||||
*.egg-info/
|
*.egg-info/
|
||||||
dist/
|
dist/
|
||||||
.pytest_cache/
|
.pytest_cache/
|
||||||
|
.superpowers/
|
||||||
|
|
||||||
|
# cf-orch private profiles (commit on personal/heimdall branch only)
|
||||||
|
circuitforge_core/resources/profiles/private/
|
||||||
|
|
|
||||||
44
circuitforge_core/resources/compose.yml
Normal file
44
circuitforge_core/resources/compose.yml
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
# circuitforge_core/resources/compose.yml
|
||||||
|
# One-command cf-orch deployment for Docker self-hosters:
|
||||||
|
# docker compose -f path/to/compose.yml up cf-orch-coordinator
|
||||||
|
|
||||||
|
services:
|
||||||
|
cf-orch-coordinator:
|
||||||
|
image: python:3.12-slim
|
||||||
|
command: >
|
||||||
|
sh -c "pip install 'circuitforge-core[orch]' &&
|
||||||
|
cf-orch start --host 0.0.0.0 --port 7700"
|
||||||
|
ports:
|
||||||
|
- "7700:7700"
|
||||||
|
volumes:
|
||||||
|
- /run/docker.sock:/var/run/docker.sock:ro
|
||||||
|
- cf-orch-data:/data
|
||||||
|
environment:
|
||||||
|
- CFORCH_PROFILE=${CFORCH_PROFILE:-}
|
||||||
|
restart: unless-stopped
|
||||||
|
devices:
|
||||||
|
- /dev/nvidia0:/dev/nvidia0
|
||||||
|
- /dev/nvidiactl:/dev/nvidiactl
|
||||||
|
runtime: nvidia
|
||||||
|
|
||||||
|
cf-orch-agent:
|
||||||
|
image: python:3.12-slim
|
||||||
|
command: >
|
||||||
|
sh -c "pip install 'circuitforge-core[orch]' &&
|
||||||
|
cf-orch agent --coordinator http://cf-orch-coordinator:7700
|
||||||
|
--node-id ${CFORCH_NODE_ID:-local}
|
||||||
|
--host 0.0.0.0 --port 7701"
|
||||||
|
ports:
|
||||||
|
- "7701:7701"
|
||||||
|
depends_on:
|
||||||
|
- cf-orch-coordinator
|
||||||
|
environment:
|
||||||
|
- CFORCH_NODE_ID=${CFORCH_NODE_ID:-local}
|
||||||
|
restart: unless-stopped
|
||||||
|
devices:
|
||||||
|
- /dev/nvidia0:/dev/nvidia0
|
||||||
|
- /dev/nvidiactl:/dev/nvidiactl
|
||||||
|
runtime: nvidia
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
cf-orch-data:
|
||||||
|
|
@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "circuitforge-core"
|
name = "circuitforge-core"
|
||||||
version = "0.1.0"
|
version = "0.2.0"
|
||||||
description = "Shared scaffold for CircuitForge products"
|
description = "Shared scaffold for CircuitForge products"
|
||||||
requires-python = ">=3.11"
|
requires-python = ">=3.11"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
|
@ -13,6 +13,20 @@ dependencies = [
|
||||||
"openai>=1.0",
|
"openai>=1.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[project.optional-dependencies]
|
||||||
|
orch = [
|
||||||
|
"fastapi>=0.110",
|
||||||
|
"uvicorn[standard]>=0.29",
|
||||||
|
"httpx>=0.27",
|
||||||
|
"pydantic>=2.0",
|
||||||
|
"typer[all]>=0.12",
|
||||||
|
"psutil>=5.9",
|
||||||
|
"pytest-asyncio>=0.23",
|
||||||
|
]
|
||||||
|
|
||||||
|
[project.scripts]
|
||||||
|
cf-orch = "circuitforge_core.resources.cli:app"
|
||||||
|
|
||||||
[tool.setuptools.packages.find]
|
[tool.setuptools.packages.find]
|
||||||
where = ["."]
|
where = ["."]
|
||||||
include = ["circuitforge_core*"]
|
include = ["circuitforge_core*"]
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue