Components
Summary
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.
Definition
!!! info "Backstage Docs"
See [the backstage docs](https://backstage.io/docs/features/software-catalog/descriptor-format/#kind-component) for a full description of the `Component` entity definition.
As with all other entities, a component consists of the envelope types, apiVersion and kind, as well as generic metadata and a specific spec.
{% include-markdown "../references/entity-envelope.md" start="" end="" heading-offset=1 %}
kind [Required]
The kind is the high level entity type being described. For a software component this must be Component, e.g. kind: Component.
Other available kinds are enumerated in the entity types reference.
{% include-markdown "../references/entity-envelope.md" start="" end="" heading-offset=1 %}
{% include-markdown "../references/entity-metadata.md" start="" end="" heading-offset=2 %}
spec [Required]
The actual specification data that describes the entity.
{% include-markdown "../references/component-spec.md" start="" end="" heading-offset=2 %}