Merge pull request #33663 from backstage/freben/catalog-model-extensions

Add catalog model layer system with JSON Schema based kind declarations
This commit is contained in:
Fredrik Adelöw
2026-04-14 16:29:01 +02:00
committed by GitHub
131 changed files with 10896 additions and 44 deletions
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend': minor
---
Added `ModelProcessor` that validates catalog entities against the compiled catalog model schemas, and integrated it into the `CatalogBuilder` and `CatalogPlugin`. This processor is only activated if you explicitly add catalog model sources to your backend; there is no functional change for regular catalog usage.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/catalog-model': minor
---
Added a new catalog model layer system that allows plugins to declare and extend catalog entity kinds, annotations, labels, tags, and relations using JSON Schema. The new `createCatalogModelLayer` API provides a builder for composing model definitions, and a `compileCatalogModel` function validates and merges them into a unified model. Built-in entity kinds now include model layer definitions.
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-node': minor
---
Added `provideStaticCatalogModel` that helps provide a static catalog model at startup.
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-common': minor
---
Added `scaffolderCatalogModelLayer`, a Template kind model layer with JSON Schema definition, serving as an example of how plugins can declare their own catalog entity kinds.