Files
obsidian-sympozium/01-Przegląd/Struktura repozytorium.md
2026-03-25 00:05:57 +01:00

3.5 KiB

Struktura repozytorium

#sympozium #kod

Layout

sympozium/
├── api/v1alpha1/           # Definicje typów CRD (Go)
├── cmd/                    # Binaria
│   ├── agent-runner/       # Agent w podzie (LLM loop + tool execution)
│   ├── controller/         # Controller manager (wszystkie reconcilery)
│   ├── apiserver/          # HTTP + WebSocket API server
│   ├── ipc-bridge/         # IPC bridge sidecar (fsnotify → NATS)
│   ├── memory-server/      # Memory sidecar (SQLite + FTS5)
│   ├── web-proxy/          # Web proxy (OpenAI-compat + MCP gateway)
│   ├── webhook/            # Admission webhook
│   ├── node-probe/         # DaemonSet odkrywający inference providers
│   └── sympozium/          # CLI + TUI (Bubble Tea)
├── web/                    # Web dashboard (React + TypeScript + Vite)
├── channels/               # Implementacje kanałów
│   ├── telegram/
│   ├── slack/
│   ├── discord/
│   └── whatsapp/
├── internal/               # Pakiety wewnętrzne
│   ├── controller/         # 6 reconcilerów + routery
│   ├── orchestrator/       # PodBuilder & Spawner
│   ├── apiserver/          # Handlery API
│   ├── mcpbridge/          # MCP bridge sidecar
│   ├── eventbus/           # NATS JetStream
│   ├── ipc/                # IPC bridge
│   ├── webhook/            # Enforcement polityk
│   ├── webproxy/           # OpenAI proxy + MCP + rate limiting
│   ├── session/            # Sesje (PostgreSQL)
│   └── channel/            # Bazowe typy kanałów
├── config/                 # Manifesty K8s
│   ├── crd/bases/          # Wygenerowane CRD YAML
│   ├── personas/           # Wbudowane PersonaPacks
│   ├── skills/             # Wbudowane SkillPacks
│   ├── policies/           # Presety SympoziumPolicy
│   └── samples/            # Przykładowe CR
├── charts/sympozium/       # Helm chart
├── migrations/             # Migracje PostgreSQL
├── test/integration/       # Testy integracyjne (shell)
├── docs/                   # Dokumentacja
└── images/                 # Dockerfiles

Kluczowe pliki

Plik Rola
api/v1alpha1/*_types.go Definicje wszystkich CRD
internal/controller/agentrun_controller.go Serce systemu - reconciliation AgentRun → Job/Sandbox
internal/controller/sympoziuminstance_controller.go Zarządzanie instancjami, kanałami, memory
internal/orchestrator/podbuilder.go Budowanie spec'ów podów agentów
cmd/agent-runner/tools.go 7 wbudowanych narzędzi agenta
internal/eventbus/types.go Definicje tematów NATS

Komponenty jako kontenery

Komponent Obraz Rola
controller Controller manager Reconciluje wszystkie CRD
apiserver API server HTTP + WebSocket + embedded web UI
agent-runner Agent LLM provider agnostic runner
ipc-bridge Sidecar fsnotify → NATS bridge
mcp-bridge Sidecar MCP protocol translator
memory-server Sidecar/Deployment SQLite + FTS5
web-proxy Web proxy OpenAI-compat API
webhook Admission webhook Policy enforcement
node-probe DaemonSet Inference discovery
channel-* Channel pods Telegram, Slack, Discord, WhatsApp

Powiązane: Czym jest Sympozium | Control Plane