Skip to content

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

@gabemontero

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions