Software Catalog Flashcards

1
Q

What is the software catalog?

A

centralized system that keeps track of ownership and metadata for all the software in your ecosystem (services, websites, libraries, data pipelines, etc)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are Software Catalog use cases?

A

1) Helping teams manage and maintain the software they own.
2) Makes all software and their owners discoverable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the path of the software catalog?

A

/catalog

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are 3 ways to add components to the catalog?

A

1) Manually register components
2) Creating components through Backstage templates
3) Integrating with an external source

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How to manually register components

A

1) Go to /create and
2) Click the REGISTER EXISTING COMPONENT button

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What data do you provide to register a component?

A

Yaml file stored in source control

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the change process for components?

A

normal source code process through git

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

When you provide a git url to create a component, a copy of the content is made and stored in the database. true or false?

A

true, entities are ingested from various authoritative sources and held in a database, subject to automated processing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Starring of components

A

feature that allows easy and quick access to components you visit frequently

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What concept allows you to integrate tooling?

A

plugins

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Benefit of integrating tooling through plugins

A

1) organize the infrastructure tools
2) avoid cognitive overhead each time teams switch context between different infrastructure UI

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the main extension points where developers can customize the catalog?

A

Entity providers
Policies,
Processors

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Process for customizing the catalog

A

Ingestion,
Processing,
Stitching

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Explain the Ingestion process

A

entity providers fetch raw entity data from external sources and seed it into the database

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Explain the processing process

A

policies and processors treat the ingested data into raw entities (that are also subject to processing), errors, or relations to other entities

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is stitching?

A

all of the data emitted by various processors are assembled together into the final output entity

17
Q

What are providers supplied by default with Backstage?

A

1) app-config provider: the one that deals with user registered locations (e.g. URLs to YAML files), and
2) location database provider: that deals with static locations in the app-config.

18
Q

Can the processing delete or unregister entities?

A

No. it can only call new entities into existence or update entities that it has previously called into existence

19
Q

Can stitching be augmented?

A

No, stitching is a fixed process, that cannot be modified or extended. Any modifications you want to make on the final result, has to happen during ingestion or processing.

20
Q

What data are merged by the Stitching process?

A

1) Processed entity
2) Errors emitted by the processing step
3) Relations emitted by the processing step
4) Relations emitted by other processing steps that point at the current entity

21
Q

What is the entity graph?

A

A graph formed by omitted entities with edges going from processed parent entities, to child entities emitted while processing the parent.

22
Q

What is an orphan entity?

A

A child that has no other edges pointing at it

23
Q

What happens if an orphan entity is found?

A

1) The stitching process injects a backstage.io/orphan: ‘true’ annotation on the child entity.
2) If orphanStrategy: delete configuration is set then entity is deleted
3) Can be “reclaimed” by the original parent or new parent .
4) Catalog page in Backstage for detects the new annotation and informs users about the orphan.

24
Q

Why does orphaning exists instead of having an eager deletion process?

A

Safety. Entities that often were added by direct user action should also be deleted only by direct user action.

25
Can you force deletion of orphans?
Yes. with following configuration: catalog: orphanStrategy: delete