Documentation
¶
Overview ¶
Package devtools provides framework-internal HTTP routes that expose project catalog metadata (cells, slices, contracts, journeys, assemblies, actors) plus optional cell-level and package-level dependency graphs to admin-authenticated clients.
The catalog endpoint is wired by bootstrap during phase5 alongside the health probes; it is NOT a Cell-owned route and intentionally has no contract.yaml — same precedent as runtime/http/health. The "http.framework.devtools." spec ID prefix marks it as runtime-internal, distinguishing it from cell-owned routes.
Wire format note: catalog responses use the Backstage Catalog Entity envelope at top level (apiVersion/kind/metadata/spec). They do NOT wrap in {"data": ...} per api-versioning.md — that envelope rule applies to cell-owned business routes; framework-internal routes (this package + runtime/http/health) follow their own wire formats.
Roadmap reference: docs/plans/202605011500-029-master-roadmap.md
- Track J · DevTools Platform (J1 PR-A37 + J2 absorb)
ref: backstage/backstage packages/catalog-model wire format
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RouteGroup ¶
func RouteGroup(h *Handler) cell.RouteGroup
RouteGroup returns the cell.RouteGroup that bootstrap mounts on PrimaryListener. CellID is set to "_devtools" so that metrics cell label for this endpoint falls into the devtools sentinel bucket rather than "_runtime", enabling audit attribution in dashboards and CI.
Types ¶
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler serves the devtools catalog HTTP endpoint.
func NewHandler ¶
func NewHandler( project *metadata.ProjectMeta, cellGraph *catalog.CellDepGraph, pkgGraph *kerneldepgraph.Graph, root string, clk clock.Clock, wireSummaries ...[]metadata.CellWireSummary, ) *Handler
NewHandler constructs a Handler. cellGraph may be nil (omits cell dep graph). pkgGraph may be nil; when nil the package-deps block is omitted from output. pkgGraph is the build-time generated graph from cmd/corebundle/catalog_gen.go. wireSummaries may be nil; when nil the wireSummary field on Cell entities is omitted from the response. Production callers supply summaries derived from markergen.Merge via BuildCellWireSummaries; nil is safe for environments where cell.go markers are absent.