You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implementation plan for the agentic platform controller POC, tracking the work from enhancement proposal through to a working system. Architecture decisions are captured in docs/adr/ in this repository.
Issue Tracker
Each stream and subtask has its own GitHub issue for board tracking:
The POC has four parallel work streams with one dependency gate:
Stream 1: Controller (this repo)
→ CRD types must be published before Hub work starts
Stream 2: Hub (konveyor/tackle2-hub) ← depends on Stream 1 types
Stream 3: UI (konveyor/tackle2-ui) ← depends on Stream 2 API contract
Stream 4: Base Image (separate repo) ← independent
Overview
Implementation plan for the agentic platform controller POC, tracking the work from enhancement proposal through to a working system. Architecture decisions are captured in
docs/adr/in this repository.Issue Tracker
Each stream and subtask has its own GitHub issue for board tracking:
Stream 1: Controller — #5
Stream 2: Hub — #6
Stream 3: UI — #7
Stream 4: Base Image — #8
Work Streams
The POC has four parallel work streams with one dependency gate:
Stream 1: Controller (
konveyor/agentic-controller)1.1 Project scaffolding
konveyor.ioAPI groupcharts/agentic-controller/)1.2 CRD type definitions (
api/v1alpha1/)SkillCardtypes (spec: image/source/inline, type: skill/rule, status: resolvedImage, conditions)SkillCollectiontypes (spec: skills array with skillCardRef/image/source, status: conditions)LLMProvidertypes (spec: endpoint, credentialRef, models with contextWindow/tier, status: connectionVerified, discoveredModels)Agenttypes (spec: image, prompt, providers, skillCards, skillCollections, params, status: conditions)AgentRuntypes (spec: agentRef, models with roles, params, instructions, env, envFrom, status: phase, startTime, completionTime, conditions)AgentPlaybooktypes (spec: guide, stages with agentRef/instructions)AgentPlaybookRuntypes (spec: playbookRef, models, params, envFrom, status: currentStage, stages, conditions)groupversion_info.go— register types with scheme1.3 SkillCard controller
imagesource — validate OCI ref exists, setstatus.resolvedImage1.4 SkillCollection controller
1.5 LLMProvider controller
connectionVerifiedanddiscoveredModels1.6 Agent controller
1.7 AgentRun controller
KONVEYOR_PARAM_*env varsenvandenvFromunchangedpodTemplate.spec.volumes)/workspaceservice: truefor ACP endpoint accessGOOSE_SERVER__SECRET_KEYfor ACP authFinishedcondition1.8 Integration tests (envtest)
1.9 E2E tests (real cluster)
Stream 2: Hub (
konveyor/tackle2-hub)Depends on Stream 1.2 (published CRD types).
2.1 Import CRD types
konveyor/agentic-controller/api/v1alpha1togo.mod2.2 Curated REST handlers
AgentHandler— List, Get, Create, Update, Delete viah.Client(ctx)SkillCardHandler— List, Get, Create, Update, DeleteSkillCollectionHandler— List, Get, Create, Update, DeleteLLMProviderHandler— List, Get, Create, Update, DeleteAgentRunHandler— List, Get, Create, Deletepkg.gowith RBAC scopes2.3 AgentRun smart creation (Model B)
client.Create()2.4 ACP WebSocket proxy
GET /hub/agentruns/:name/streamX-Secret-KeyStream 3: UI (
konveyor/tackle2-ui)Depends on Stream 2 API contract (can start once endpoint shapes are agreed).
3.1 API client layer
3.2 Agent management pages
3.3 AgentRun execution flow
Stream 4: Base Image
Independent of other streams. Tracked in PR #296.
4.1 Harness
goose serve --port 4000(POC)session/newwith MCP servers, workspace dir).konveyor/files, push using credentials4.2 Base image (
agent-base)/opt/skills/directory for skill mounting4.3 Runtime images
agent-base-goose— extends base + goose binaryagent-base-opencode— extends base + opencode binary (future)4.4 Language images
agent-java-goose— extends goose runtime + JDK 21 + MavenPhase 2+ (post-POC)
Tracked separately. Not blocking POC.
References