Type object
File match catalog-info.yaml *.catalog-info.yaml
Schema URL https://catalog.lintel.tools/schemas/schemastore/catalog-info-backstage/latest.json
Source https://www.schemastore.org/catalog-info.json

Validate with Lintel

npx @lintel/lintel check
Type: object

Any of

1. variant

An API describes an interface that can be exposed by a component. The API can be defined in different formats, like OpenAPI, AsyncAPI, GraphQL, gRPC, or other formats.

2. variant

A Component describes a software component. It is typically intimately linked to the source code that constitutes the component, and should be what a developer may regard a "unit of software", usually with a distinct deployable or linkable artifact.

3. variant

A Domain groups a collection of systems that share terminology, domain models, business purpose, or documentation, i.e. form a bounded context.

4. variant

A group describes an organizational entity, such as for example a team, a business unit, or a loose collection of people in an interest group. Members of these groups are modeled in the catalog as kind User.

5. variant

A location is a marker that references other places to look for catalog data.

6. variant

A resource describes the infrastructure a system needs to operate, like BigTable databases, Pub/Sub topics, S3 buckets or CDNs. Modelling them together with components and systems allows to visualize resource footprint, and create tooling around them.

7. variant

A system is a collection of resources and components. The system may expose or consume one or several APIs. It is viewed as abstraction level that provides potential consumers insights into exposed features without needing a too detailed view into the details of all components. This also gives the owning team the possibility to decide about published artifacts and APIs.

8. variant

A Template describes a scaffolding task for use with the Scaffolder. It describes the required parameters as well as a series of steps that will be taken to execute the scaffolding task.

9. variant

A Template describes a scaffolding task for use with the Scaffolder. It describes the required parameters as well as a series of steps that will be taken to execute the scaffolding task.

10. variant

A user describes a person, such as an employee, a contractor, or similar. Users belong to Group entities in the catalog. These catalog user entries are connected to the way that authentication within the Backstage ecosystem works. See the auth section of the docs for a discussion of these concepts.

Definitions

entity object

The parts of the format that's common to all versions/kinds of entity.

Examples:
  • { "apiVersion": "backstage.io/v1alpha1", "kind": "Component", "metadata": { "name": "LoremService", "description": "Creates Lorems like a pro.", "labels": { "product_name": "Random value Generator" }, "annotations": { "docs": "https://github.com/..../tree/develop/doc" } }, "spec": { "type": "service", "lifecycle": "production", "owner": "tools" } }
apiVersion string required

The version of specification format for this particular entity that this is written against.

Examples: "backstage.io/v1alpha1", "my-company.net/v1", "1.0"
minLength=1
kind string required

The high level entity type being described.

Examples: "API", "Component", "Domain", "Group", "Location", "Resource", "System", "Template", "User"
minLength=1
metadata object required

Metadata fields common to all versions/kinds of entity.

Examples: {"uid":"e01199ab-08cc-44c2-8e19-5c29ded82521","etag":"lsndfkjsndfkjnsdfkjnsd==","generation":13,"name":"my-component-yay","namespace":"the-namespace","labels":{"backstage.io/custom":"ValueStuff"},"annotations":{"example.com/bindings":"are-secret"},"tags":["java","data"]}
11 nested properties
name string required

The name of the entity. Must be unique within the catalog at any given point in time, for any given namespace + kind pair.

Examples: "metadata-proxy"
minLength=1
uid string

A globally unique ID for the entity. This field can not be set by the user at creation time, and the server will reject an attempt to do so. The field will be populated in read operations. The field can (optionally) be specified when performing update or delete operations, but the server is free to reject requests that do so in such a way that it breaks semantics.

Examples: "e01199ab-08cc-44c2-8e19-5c29ded82521"
minLength=1
etag string

An opaque string that changes for each update operation to any part of the entity, including metadata. This field can not be set by the user at creation time, and the server will reject an attempt to do so. The field will be populated in read operations. The field can (optionally) be specified when performing update or delete operations, and the server will then reject the operation if it does not match the current stored value.

Examples: "lsndfkjsndfkjnsdfkjnsd=="
minLength=1
generation integer

A positive nonzero number that indicates the current generation of data for this entity; the value is incremented each time the spec changes. This field can not be set by the user at creation time, and the server will reject an attempt to do so. The field will be populated in read operations.

Examples: 1
min=1
namespace string

The namespace that the entity belongs to.

Default: "default"
Examples: "default", "admin"
minLength=1
title string

A display name of the entity, to be presented in user interfaces instead of the name property, when available.

Examples: "React SSR Template"
minLength=1
description string

A short (typically relatively few words, on one line) description of the entity.

labels object

Key/value pairs of identifying information attached to the entity.

annotations object

Key/value pairs of non-identifying auxiliary information attached to the entity.

tags string[]

A list of single-valued strings, to for example classify catalog entities in various ways.

links object[]

A list of external hyperlinks related to the entity. Links can provide additional contextual information that may be located outside of Backstage itself. For example, an admin dashboard or external CMS page.

spec object

The specification data describing the entity itself.

relations relation[]

The relations that this entity has with other entities.

status status
common object

Common definitions to import from other schemas