Skip to content

Stream 2: Hub integration (konveyor/tackle2-hub) #72

Description

@djzager

Tracking issue for Hub integration work per ADR 0006. Implementation lives in konveyor/tackle2-hub.

Design

Hub follows the established addon pattern (ADR 0006):

  • CRUD endpoints under /hub/agent/* for all agent CRDs via controller-runtime client
  • Fire-and-forget creation — Hub mints a scoped token, injects HUB_BASE_URL, HUB_APP_ID, and the token Secret into the CR env/envFrom, creates the CR, walks away
  • Request-driven readsclient.Get() on demand, no informers
  • Cancel handler — revokes token, sets spec.cancel on the CR
  • ACP WebSocket proxy — separate deliverable; Hub reads ACP key from status.secretKeyRef, injects X-Secret-Key, proxies to pod:4000/acp; single-writer enforcement required
  • konveyor.io/managed=true filtering on Agent and AgentWorkflow list only

Route table

Endpoint CRD Operations
/hub/agent/agents Agent List, Get, Create, Update, Delete
/hub/agent/skills SkillCard List, Get, Create, Update, Delete
/hub/agent/skillcollections SkillCollection List, Get, Create, Update, Delete
/hub/agent/providers LLMProvider List, Get, Create, Update, Delete
/hub/agent/runs AgentRun List, Get, Create, Cancel
/hub/agent/workflows AgentWorkflow List, Get, Create, Update, Delete
/hub/agent/workflowruns AgentWorkflowRun List, Get, Create, Cancel
/hub/agent/runs/:name/acp WebSocket proxy to pod ACP endpoint

Tasks

  • Import CRD types (konveyor/agentic-controller/api/v1alpha1)
  • CRUD handlers for all agent resources
  • AgentRun/AgentWorkflowRun creation with token minting + env injection
  • Cancel handler (token revocation + spec.cancel)
  • ACP WebSocket proxy (separate deliverable)
  • Token minting endpoint / mechanism for harness auth

Hub-side progress

Jeff has started foundational work:

  • tackle2-hub PR #1107: Refactor shared SCM for use outside of addons
  • tackle2-hub PR #1105: Add service accounts

Supersedes

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requeststream/hubStream 2: Hub (tackle2-hub)

    Type

    No type

    Projects

    Status
    🆕 New

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions