f33a563003
- Add ToolManifest Pydantic models with validators for ports, mounts, health checks, and traefik config - Implement in-memory ToolRegistry with YAML loading and built-in manifest scanning - Add FastAPI CRUD routes for listing, retrieving, and creating tool manifests - Include built-in manifests for runfusion and code-server - Harden web Dockerfile with unprivileged nginx and port 8080 - Add tool manifest specification documentation and architecture updates Fusion-Task-Id: FN-003
47 lines
956 B
YAML
47 lines
956 B
YAML
id: runfusion
|
|
name: RunFusion
|
|
description: Executable Node.js environment for running and developing applications.
|
|
version: "1.0.0"
|
|
image: node:22-slim
|
|
runtime_working_dir: /workspace
|
|
ports:
|
|
- container_port: 8080
|
|
protocol: tcp
|
|
name: http
|
|
primary: true
|
|
workspace_mounts:
|
|
- type: volume
|
|
source_pattern: "{project_repo}"
|
|
target: /workspace
|
|
read_only: false
|
|
config_mounts:
|
|
- type: volume
|
|
source_pattern: "{user_config}/runfusion"
|
|
target: /home/node/.config
|
|
read_only: false
|
|
env:
|
|
NODE_ENV: development
|
|
health_check:
|
|
type: http
|
|
path: /
|
|
port: 8080
|
|
interval_seconds: 10
|
|
timeout_seconds: 5
|
|
retries: 3
|
|
start_period_seconds: 10
|
|
resource_limits:
|
|
cpus: 2.0
|
|
memory_mb: 2048
|
|
memory_swap_mb: -1
|
|
executable:
|
|
node_version: "22"
|
|
package_manager: npm
|
|
bootstrap_commands: []
|
|
install_commands: []
|
|
traefik:
|
|
enabled: true
|
|
subdomain_prefix: runfusion
|
|
port: 8080
|
|
middlewares: []
|
|
strip_prefix: false
|