feat: add Kubernetes manifests and A2A protocol support

Phase 2 - A2A Protocol:
- Add A2A models (AgentCard, Task, Message)
- Add A2A service layer
- Add A2A routes with SSE streaming
- Add agent discovery endpoints

Phase 3 - Kubernetes:
- Add deploy/ directory with Kustomize structure
- PostgreSQL StatefulSet with pgvector
- Redis Deployment with persistence
- API and Orchestrator Deployments
- RBAC for orchestrator to manage Jobs
- ArgoCD Application manifest
- Development and production overlays
- K8s Jobs API support in orchestrator

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Renn F
2025-12-28 05:48:51 +01:00
co-authored by Claude Opus 4.5
parent f9398e4caa
commit b943eb7ac1
31 changed files with 3705 additions and 245 deletions
+7
View File
@@ -48,6 +48,10 @@ dependencies = [
"passlib[bcrypt]", # Password hashing
"tenacity", # Retry logic
"structlog", # Structured logging
# Container Orchestration
"kubernetes", # K8s API client for agent Jobs
"sse-starlette", # Server-Sent Events for A2A streaming
]
[project.optional-dependencies]
@@ -138,6 +142,7 @@ select = [
"roboco/mcp/**/*.py" = ["PLC0415"]
"roboco/services/*.py" = ["PLC0415"]
"roboco/api/routes/*.py" = ["PLC0415"]
"roboco/runtime/*.py" = ["PLC0415"]
# =============================================================================
# MyPy Configuration
@@ -167,6 +172,8 @@ module = [
"tiktoken.*",
"piragi.*",
"toon.*",
"kubernetes.*",
"sse_starlette.*",
]
ignore_missing_imports = true