6aea953734
- Add SpawnService with container lifecycle (spawn/stop/status) - Generate Docker Compose services from tool manifests - Integrate Traefik label generation with subdomain routing - Mount workspace, config, and SSH key volumes - Add container status polling and health checks - Enhance tool instance API with spawn/stop/start/status endpoints - Add Traefik forwardAuth middleware for auth proxy - Update code-server manifest with runtime configuration
33 lines
773 B
Python
33 lines
773 B
Python
from typing import Any
|
|
from uuid import UUID
|
|
|
|
from app.schemas.base import OrmBase
|
|
|
|
|
|
class ToolInstanceBase(OrmBase):
|
|
name: str
|
|
status: str = "pending"
|
|
container_id: str | None = None
|
|
subdomain: str | None = None
|
|
config_override: dict[str, Any] | None = None
|
|
traefik_labels: dict[str, Any] | None = None
|
|
|
|
|
|
class ToolInstanceCreate(ToolInstanceBase):
|
|
tool_definition_id: UUID
|
|
|
|
|
|
class ToolInstanceRead(ToolInstanceBase):
|
|
id: UUID
|
|
project_id: UUID
|
|
tool_definition_id: UUID
|
|
|
|
|
|
class ToolInstanceUpdate(OrmBase):
|
|
name: str | None = None
|
|
status: str | None = None
|
|
container_id: str | None = None
|
|
subdomain: str | None = None
|
|
config_override: dict[str, Any] | None = None
|
|
traefik_labels: dict[str, Any] | None = None
|