Skip to content

boost-entity-providers — Catalog entities for AI domain objects (issue 12 of 15) #3308

Description

@gabemontero

Labels: ready-to-code
Depends on: Issues 10, 11

Create independently deployable entity provider packages (kagenti-entity-provider, llamastack-entity-provider) and core plugin entity providers (McpEntityProvider, VectorStoreEntityProvider) that emit AI domain objects as Backstage catalog entities.

Important: Two-layer polling model. Backstage's catalog infrastructure polls entity providers on its own schedule. Independently, each entity provider manages its own upstream refresh interval — how often it fetches from the external API (Kagenti, Llama Stack). When Backstage polls, the provider returns cached upstream data. The upstream refresh interval must be configurable via app-config.yaml, not hardcoded.

Tasks

From openspec/changes/agent-creation-discovery/tasks.md sections 1 and 2:

  • 1a.1-1a.6 kagenti-entity-provider package
  • 1b.1-1b.6 llamastack-entity-provider package
  • 1c.1-1c.3 Composition into provider modules
  • 1d.1-1d.3 Core plugin entity providers (MCP servers using upstream kind: API, spec.type: mcp-server from @backstage/plugin-catalog-backend-module-ai-model with Resource fallback; vector stores)
  • 1e.1-1e.4 Shared entity concerns (ownership mapping, lifecycle mapping, validators, configurable upstream refresh intervals)
  • 2.1-2.4 Catalog integration (backend endpoints reading from catalog)

Specifications

  • openspec/changes/agent-creation-discovery/specs/catalog-entities/spec.md
  • openspec/changes/agent-creation-discovery/design.md — Decisions 1-3 (kinds, deployment modes, catalog as source of truth)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions