Skip to main content

Glossary

Access Token

A token that gives access to perform actions on behalf of a user. It will commonly have a short expiry time, and be limited to a set of scopes. Part of the OAuth protocol, see their docs for more information.

Administrator

Someone responsible for installing and maintaining a Backstage app for an organization. A user role.

API (catalog plugin)

An entity representing a schema that two components use to communicate. See the catalog docs for more information.

App

An installed instance of Backstage. An app can be local, intended for a single development group or individual developer, or organizational, for use by an entire enterprise.

Authorization Code

A type of OAuth flow used by confidential and public clients to get an access token. See the OAuth docs for more details.

Backstage

  1. An open source framework for creating and deploying developer portals, originally created at Spotify. Backstage is an incubation-stage open source project of the Cloud Native Computing Foundation.

  2. The Backstage Framework.

Backstage Framework

The actual framework that Backstage plugins sit on. This spans both the frontend and the backend, and includes core functionality such as declarative integration, config reading, database management, and many more.

Bundle

  1. A collection of deployment artifacts.

  2. The output of the bundling process, which brings a collection of packages into a single collection of deployment artifacts.

Catalog

  1. The core Backstage plugin that handle ingestion and display of your organizations software products.

  2. An organization's portfolio of software products managed in Backstage.

Cloud Native Computing

A set of technologies that "empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach." (CNCF Cloud Native Definition v1.0).

Cloud Native Computing Foundation

A foundation dedicated to the promotion and advancement of Cloud Native Computing. The mission of the Cloud Native Computing Foundation (CNCF) is "to make cloud native computing ubiquitous" (CNCF Charter).

CNCF is part of the Linux Foundation.

CNCF

Cloud Native Computing Foundation.

Code Grant

OAuth flow where the client receives an authorization code that is passed to the backend to be exchanged for an access token and possibly a refresh token.

Collator (search plugin)

A transformer that takes streams of documents and outputs searchable texts. They're usually responsible for the data transformation and definition and collection process for specific documents.

Component (catalog plugin)

A software product that is managed in the Backstage Software Catalog. A component can be a service, website, library, data pipeline, or any other piece of software managed as a single project. See the catalog docs for more information.

Condition (permission plugin)

A mapping from a given entity to criteria a user must fulfill to perform an action on that entity. Examples include isOwner, hasRole, etc.

Conditional Decision (permission plugin)

A type of decision that allows for per-user evaluation of conditions against a resource. See Conditional Decisions

Contributor

A volunteer who helps to improve an OSS product such as Backstage. This volunteer effort includes coding, testing, technical writing, user support, and other work. A user role.

Declarative Integration

A new paradigm for Backstage frontend plugins, allowing definition in config files instead of hosting complete React pages. See the Frontend System.

Decorator (search plugin)

A transform stream that allows you to add additional information to documents.

Deployment Artifacts

An executable or package file with all of the necessary information required to deploy the application at runtime. Deployment artifacts can be hosted on package registries.

Developer

  1. Someone who writes code and develops software.

  2. A user role defined as someone who uses a Backstage app. Might or might not actually be a software developer.

Developer Portal

A centralized system comprising a user interface and database used to facilitate and document all the software projects within an organization. Backstage is both a developer portal and (by virtue of being based on plugins) a framework for creating developer portals.

Document (search plugin)

An abstract concept representing something that can be found by searching for it. A document can represent a software entity, a TechDocs page, etc. Documents are made up of metadata fields, at a minimum -- a title, text, and location (as in a URL).

Domain

An area that relates systems or entities to a business unit. See the catalog docs for more information.

Entity

What is cataloged in the Backstage Software Catalog. An entity is identified by a unique combination of kind, namespace, and name. See the catalog docs for more information.

Evaluator

Someone who assesses whether Backstage is a suitable solution for their organization. The only user role with a pre-deployment use case.

ID Token

A JWT used to prove a user's identity, containing for example the user's email. Part of OpenID Connect.

Index (search plugin)

An index is a collection of documents of a given type.

Indexer (search plugin)

A write stream of documents.

Integrator

Someone who develops one or more plugins that enable Backstage to interoperate with another software system. A user role.

JWT

JSON Web Token.

A popular JSON based token format that is commonly encrypted and/or signed, see the Wikipedia article for more details.

Kind

Classification of an entity in the Backstage Software Catalog, for example service, database, and team.

Kubernetes (CNCF Project)

An open-source system for automating deployment, scaling, and management of containerized applications.

Kubernetes (Backstage plugin)

A core Backstage plugin enabling a service owner-focused view of Kubernetes resources.

Local Package

One of the packages within a monorepo. These package may or may not also be published to a package registry.

Monorepo

  1. A single repository for a collection of related software projects, such as all projects belonging to an organization.

  2. A project layout that consists of multiple packages within a single project, where packages are able to have local dependencies on each other. Often enabled through tooling such as lerna and yarn workspaces

Namespace (catalog plugin)

An optional attribute that can be used to organize entities.

Objective

A high level goal of a user role interacting with Backstage. Some goals of the administrator user role, for example, are to maintain an instance ("app") of Backstage; to add and update functionality via plugins; and to troubleshoot issues.

OAuth

Refers to: OAuth 2.0, a standard protocol for authorization. See oauth.net/2/.

Offline Access

OAuth flow that results in both a refresh token and access token, where the refresh token has a long expiration or never expires, and can be used to request more access tokens in the future. This lets the user go "offline" with respect to the token issuer, but still be able to request more tokens at a later time without further direct interaction for the user.

OpenID Connect

A layer on top of OAuth which standardises authentication. See the Wikipedia article for more details.

OSS

Open source software.

Package

A package in the Node.js ecosystem, often published to a package registry.

Package Registry

A service that hosts packages. The most prominent example is NPM.

Package Role

The declared role of a package, see package roles.

Permission (core Backstage plugin)

A core Backstage plugin and framework that allows restriction of actions to specific users. See their docs for more information.

Permission (permission plugin)

A restriction on any action that a user can perform against a specific resource or set of resources. See the permission framework docs for more details.

Persona (use cases)

Alternative term for a User Role.

Plugin

A module in Backstage that adds a feature. All functionality outside of the Backstage framework, even the core features, are implemented as plugins.

Policy (permission plugin)

A construct that takes in a Backstage user and a permission and returns a policy decision.

Policy Decision (permission plugin)

A specific response to a user's request to perform an action on a list of resources. Can be either Approve, Deny or Conditional.

A separate browser window opened on top of the previous one.

Procedure (use cases)

A set of actions that accomplish a goal, usually as part of a use case. A procedure can be high-level, containing other procedures, or can be as simple as a single task.

Query Translators (search plugin)

An abstraction layer between a search engine and the Backstage Search backend. Allows for translation into queries against your search engine.

Refresh token

A special token that an OAuth client can use to get a new access token when the latter expires.

https://oauth.net/2/refresh-tokens/

Resource (catalog plugin)

An entity that represents a piece of physical or virtual infrastructure, for example a database, required by a component. See the catalog docs for more information.

Resource (permission plugin)

A representation of an object that a user interacts with and that can be permissioned. Not to be confused with Software Catalog resources.

Rule (permission plugin)

A predicate-based control that taps into a resource's data.

Role

See User Role.

Scaffolder

Known as Software Templates.

Scope

A string that describes a certain type of access that can be granted to a user using OAuth, usually in conjunction with access tokens.

A Backstage plugin that provides a framework for searching a Backstage app, including the Software Catalog and TechDocs. A core feature of Backstage.

Existing search technology that Backstage Search can take advantage of through its modular design. Lunr is the default search in Backstage Search.

Software Catalog

A Backstage plugin that provides a framework to keep track of ownership and metadata for any number and type of software components. A core feature of Backstage.

Software Templates

A Backstage plugin with which to create components in Backstage. A core feature of Backstage. Also known as the scaffolder.

Software Template

A "skeleton" software project created and managed in the Backstage Software Templates tool.

System (catalog plugin)

A system is a collection of entities that cooperate to perform a function. A system generally provides one or a few public APIs and consists of a handful of components, resources and private APIs. See the catalog docs for more information.

Task (use cases)

A low-level step-by-step Procedure.

TechDocs

A documentation solution that manages and generates a technical documentation from Markdown files stored with software component code. A core feature of Backstage.

Token

A string containing information.

Use Case

A purpose for which a user role interacts with Backstage. Related to Objective: An objective is what the user wants to do; a use case is how the user does it.

User Role

A class of Backstage user for purposes of analyzing use cases. One of: evaluator; administrator; developer; integrator; and contributor.