Skip to main content

@backstage/plugin-catalog-backend

Home > @backstage/plugin-catalog-backend

The Backstage backend plugin that provides the Backstage catalog

Classes

Class

Description

AnnotateLocationEntityProcessor

AnnotateScmSlugEntityProcessor

BuiltinKindsEntityProcessor

CatalogBuilder

A builder that helps wire up all of the component parts of the catalog.

The touch points where you can replace or extend behavior are as follows:

  • Entity policies can be added or replaced. These are automatically run after the processors' pre-processing steps. All policies are given the chance to inspect the entity, and all of them have to pass in order for the entity to be considered valid from an overall point of view. - Location analyzers can be added. These are responsible for analyzing repositories when onboarding them into the catalog, by finding catalog-info.yaml files and other artifacts that can help automatically register or create catalog data on the user's behalf. - Placeholder resolvers can be replaced or added. These run on the raw structured data between the parsing and pre-processing steps, to replace dollar-prefixed entries with their actual values (like $file). - Field format validators can be replaced. These check the format of individual core fields such as metadata.name, to ensure that they adhere to certain rules. - Processors can be added or replaced. These implement the functionality of reading, parsing, validating, and processing the entity data before it is persisted in the catalog.

CodeOwnersProcessor

DefaultCatalogCollator

FileReaderProcessor

LocationEntityProcessor

Legacy processor, should not be used.

PlaceholderProcessor

Traverses raw entity JSON looking for occurrences of $-prefixed placeholders that it then fills in with actual data.

UrlReaderProcessor

Functions

Function

Description

createRandomProcessingInterval(options)

Creates a function that returns a random processing interval between minSeconds and maxSeconds.

parseEntityYaml(data, location)

transformLegacyPolicyToProcessor(policy)

Transform a given entity policy to an entity processor.

Interfaces

Interface

Description

CatalogProcessingEngine

Represents the engine that drives the processing and stitching loops. Some backend instances may choose to not call start, if they focus only on API interactions.

Variables

Variable

Description

CATALOG_CONFLICTS_TOPIC

CATALOG_ERRORS_TOPIC

catalogPlugin

Catalog plugin

defaultCatalogCollatorEntityTransformer

DefaultCatalogCollatorFactory

locationSpecToLocationEntity

locationSpecToMetadataName

processingResult

Type Aliases

Type Alias

Description

AnalyzeLocationEntityField

This is where I get really vague. Something like this perhaps? Or it could be something like a json-schema that contains enough info for the frontend to be able to present a form and explanations

AnalyzeLocationExistingEntity

If the folder pointed to already contained catalog info yaml files, they are read and emitted like this so that the frontend can inform the user that it located them and can make sure to register them as well if they weren't already

AnalyzeLocationGenerateEntity

This is some form of representation of what the analyzer could deduce. We should probably have a chat about how this can best be conveyed to the frontend. It'll probably contain a (possibly incomplete) entity, plus enough info for the frontend to know what form data to show to the user for overriding/completing the info.

AnalyzeLocationRequest

AnalyzeLocationResponse

AnalyzeOptions

CatalogCollatorEntityTransformer

CatalogEnvironment

CatalogPermissionRuleInput

This is a duplicate of the alpha CatalogPermissionRule type, for use in the stable API.

CatalogProcessor

CatalogProcessorCache

CatalogProcessorEmit

CatalogProcessorEntityResult

CatalogProcessorErrorResult

CatalogProcessorLocationResult

CatalogProcessorParser

CatalogProcessorRefreshKeysResult

CatalogProcessorRelationResult

CatalogProcessorResult

DefaultCatalogCollatorFactoryOptions

DeferredEntity

EntitiesSearchFilter

EntityFilter

EntityProvider

EntityProviderConnection

EntityProviderMutation

EntityRelationSpec

LocationAnalyzer

LocationEntityProcessorOptions

LocationSpec

Holds the entity location information.

PlaceholderProcessorOptions

PlaceholderResolver

PlaceholderResolverParams

PlaceholderResolverRead

PlaceholderResolverResolveUrl

ProcessingIntervalFunction

Function that returns the catalog processing interval in seconds.

ScmLocationAnalyzer