feat: initial corvid — standalone ticket service extracted from homelab-dashboard

Extracts the ticket/attachment system into a reusable pip-installable package.
Centralises homelab MCP server (tickets, attachments, system logs) here.

- corvid package: models, router (make_router factory), config, standalone main
- Alembic migration chain for fresh standalone deployments
- Docker Compose for standalone deployment (port 8090)
- mcp_server.py: moved from homelab-dashboard, CORVID_REPO_PATH configurable

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
caoimhinr 2026-05-25 19:23:07 +02:00
commit 37b2c21720
27 changed files with 1072 additions and 0 deletions

25
pyproject.toml Normal file
View file

@ -0,0 +1,25 @@
[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"
[project]
name = "corvid"
version = "0.1.0"
description = "Standalone ticket management service for AI agents"
requires-python = ">=3.12"
dependencies = [
"fastapi>=0.115",
"sqlalchemy[asyncio]>=2.0",
"asyncpg>=0.30",
"uvicorn[standard]>=0.32",
"alembic>=1.14",
"pydantic>=2.0",
]
[project.optional-dependencies]
mcp = ["mcp[cli]>=1.0", "httpx>=0.28"]
dev = ["pytest>=8.0", "pytest-asyncio>=0.24", "aiosqlite>=0.20"]
[tool.setuptools.packages.find]
where = ["."]
include = ["corvid*"]