Skip to main content

@backstage/plugin-catalog-backend

Home > @backstage/plugin-catalog-backend

The Backstage backend plugin that provides the Backstage catalog

Classes

ClassDescription
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
LocationEntityProcessorLegacy processor, should not be used.
PlaceholderProcessorTraverses raw entity JSON looking for occurrences of $-prefixed placeholders that it then fills in with actual data.
UrlReaderProcessor

Functions

FunctionDescription
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

InterfaceDescription
CatalogProcessingEngineRepresents 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

VariableDescription
CATALOG_CONFLICTS_TOPIC
CATALOG_ERRORS_TOPIC
defaultCatalogCollatorEntityTransformer
DefaultCatalogCollatorFactory
locationSpecToLocationEntity
locationSpecToMetadataName
processingResult

Type Aliases

Type AliasDescription
AnalyzeLocationEntityFieldThis 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
AnalyzeLocationExistingEntityIf 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
AnalyzeLocationGenerateEntityThis 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
CatalogPermissionRuleInputThis 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
LocationSpecHolds the entity location information.
PlaceholderProcessorOptions
PlaceholderResolver
PlaceholderResolverParams
PlaceholderResolverRead
PlaceholderResolverResolveUrl
ProcessingIntervalFunctionFunction that returns the catalog processing interval in seconds.
ScmLocationAnalyzer