Built-in connection types
The @backstage/connections package provides the canonical
connection types in this directory. Each type
has its own guide with valid configuration, connection fields,
authentication methods, lookup behavior,
selection rules, and a typed consumption example.
Cloud accounts and storage
- AWS resolves account credentials by AWS account number or
Amazon Resource Name (ARN). It supports the
accountauthentication method. - AWS S3 represents Amazon Simple Storage Service (S3) and
S3-compatible endpoints. It supports
none,accessKey, andassumeRole. - Azure Blob Storage supports account keys, shared access signature (SAS) tokens, connection strings, Microsoft Entra ID credentials, and unauthenticated access.
- Google Cloud Storage supports service-account and unauthenticated access.
Source control
- AWS CodeCommit supports access keys and role assumption.
- Azure DevOps supports personal access tokens (PATs), client credentials, managed identities, and unauthenticated access.
- Bitbucket Cloud supports tokens, app passwords, OAuth client credentials, and unauthenticated access.
- Bitbucket Server supports tokens, basic authentication, and unauthenticated access.
- Gerrit supports basic authentication and unauthenticated access.
- Gitea supports basic authentication and unauthenticated access.
- GitHub supports tokens, GitHub Apps, and unauthenticated access, including app selection by organization.
- GitLab supports tokens and unauthenticated access.
Developer platforms
- Harness supports token authentication with an optional additional API key.
Common behavior
Every configured connection supports the
framework-owned type, title, match, and auth fields. Every
authentication entry supports method,
title, and match in addition to the fields defined by its method.
Most built-in types have multiton cardinality and
use the host lookup strategy. Their
consumers pass query: { url }, and the service selects the connection whose
configured host matches the parsed URL host.
AWS is the exception. It is a singleton that accepts accountId or arn in
its lookup query and selects an account
authentication entry from within the connection.
Unless a type documents its own authentication selection rules, the service
returns the first authentication entry visible to the calling plugin. See
What happens during find for the
complete selection order.
Inspect schemas programmatically
The connectionTypes registry exposes portable schemas without exposing Zod
objects. Generic tooling can inspect the JSON Schema for a connection type and
each authentication method:
import { connectionTypes } from '@backstage/connections';
const github = connectionTypes.github;
const connectionSchema = github.configSchema.schema().schema;
const authSchemas = github.authMethods.map(authMethod => ({
method: authMethod.method,
title: authMethod.title,
schema: authMethod.configSchema.schema().schema,
}));
configSchema covers type-specific connection fields. Framework-owned fields
are added by the configuration pipeline and are not part of that schema.