App config Spotify Backstage
Spotify's Backstage App configuration for all plugins
| Type | object |
|---|---|
| File match |
app-config.yml
app-config.yaml
app-config.local.yaml
app-config.local.yml
app-config.production.yaml
app-config.production.yml
|
| Schema URL | https://catalog.lintel.tools/schemas/schemastore/app-config-spotify-backstage/latest.json |
| Source | https://www.schemastore.org/app-config.json |
Validate with Lintel
npx @lintel/lintel check
This is the schema describing the structure of the app-config.yaml configuration file.
Properties
Generic frontend configuration.
11 nested properties
The public absolute root URL that the frontend.
The title of the app, as shown in the Backstage web interface.
Datadog RUM events configuration
4 nested properties
Environment for Datadog RUM events
clientToken for Datadog RUM events
applicationId for Datadog RUM events
site for Datadog RUM events
Listening configuration for local development
2 nested properties
The host that the frontend should be bound to. Only used for local development.
The port that the frontend should be bound to. Only used for local development.
Only used for local development. The https object is passed to webpack in order to enable using https on localhost.
1 nested properties
Parent object containing certificate and the private key
2 nested properties
Https Certificate private key. Use $file to load in a file
Https Certificate. Use $file to load in a file
Information about support of this Backstage instance and how to contact the integrator team.
2 nested properties
The primary support url.
A list of categorized support item groupings.
3 nested properties
7 nested properties
Google Analytics tracking ID, e.g. UA-000000-0
URL to Google Analytics analytics.js script Defaults to fetching from GA source (eg. https://www.google-analytics.com/analytics.js)
Controls how the identityApi is used when sending data to GA:
disabled: (Default) Explicitly prevents a user's identity from being used when capturing events in GA.optional: Pageviews and hits are forwarded to GA as they happen and only include user identity metadata once known. Guarantees that hits are captured for all sessions, even if no sign in occurs, but may result in dropped hits in User ID views.required: All pageviews and hits are deferred until an identity is known. Guarantees that all data sent to GA correlates to a user identity, but prevents GA from receiving events for sessions in which a user does not sign in. AnidentityApiinstance must be passed during instantiation when set to this value.
Controls whether to send virtual pageviews on search events.
Can be used to enable Site Search in GA.
Whether or not to log analytics debug statements to the console. Defaults to false.
Prevents events from actually being sent when set to true. Defaults to false.
Configuration informing how Analytics Context and Event Attributes metadata will be captured in Google Analytics.
7 nested properties
Google Analytics measurement ID, e.g. G-000000-0
Controls how the identityApi is used when sending data to GA:
disabled: (Default) Explicitly prevents a user's identity from being used when capturing events in GA.optional: Pageviews and hits are forwarded to GA as they happen and only include user identity metadata once known. Guarantees that hits are captured for all sessions, even if no sign in occurs, but may result in dropped hits in User ID views.required: All pageviews and hits are deferred until an identity is known. Guarantees that all data sent to GA correlates to a user identity, but prevents GA from receiving events for sessions in which a user does not sign in. AnidentityApiinstance must be passed during instantiation when set to this value.
Whether to log analytics debug statements to the console. Defaults to false.
Prevents events from actually being sent when set to true. Defaults to false.
Content grouping definition Feature available in Google Analytics 4 More information https://support.google.com/analytics/answer/11523339?hl=en Data can be grouped by pluginId, routeRef Takes 24 hours before metrics shows up in GA dashboard Specifies the dimension to be used for content grouping Can be one of pluginId, extension or routeRef
Configuration informing how Analytics Context and Event Attributes metadata will be captured in Google Analytics. Contexts that will be sent as parameters in the event. context-name will be prefixed by c_, for example, pluginId will be c_pluginId in the event.
Attributes that will be sent as parameters in the event attribute-name will be prefixed by a_, for example , testAttribute will be c_testAttribute in the event.
6 nested properties
Data ingestion endpoint to use, either bam.eu01.nr-data.net (EU) or bam.nr-data.net (US)
New Relic Account ID, e.g. 1234567
New Relic Application ID, e.g. 987654321
New Relic License Key, e.g. NRJS-12a3456bc78de9123f4
Whether to enabled distributed tracing, defaults to false
Whether to enabled tracing of cookies, defaults to false
The name of the app package (in most Backstage repositories, this is the
"name" field in packages/app/package.json) that content should be served
from. The same app package should be added as a dependency to the backend
package in order for it to be accessible at runtime.
In a typical setup with a single app package, this will default to 'app'.
Disables the configuration injection. This can be useful if you're running in an environment with a read-only filesystem, or for some other reason don't want configuration to be injected.
Note that this will cause the configuration used when building the app bundle to be used, unless a separate configuration loading strategy is set up.
This also disables configuration injection though APP_CONFIG_ environment variables.
By default the app backend plugin will cache previously deployed static assets in the database.
If you disable this, it is recommended to set a staticFallbackHandler instead.
1 nested properties
1 nested properties
1 nested properties
2 nested properties
The address of the Nomad API. See: https://developer.hashicorp.com/nomad/api-docs#addressing-and-ports
The token to call the Nomad API with. See: https://developer.hashicorp.com/nomad/api-docs#authentication
Configuration that provides information on available configured authentication providers.
5 nested properties
The available auth-provider options and attributes
13 nested properties
12 nested properties
2 nested properties
1 nested properties
Configuration for the Google Cloud Platform Identity-Aware Proxy (IAP) auth provider.
The 'environment' attribute added as an optional parameter to have configurable environment value for auth.providers.
default value: 'development'
optional values: 'development' | 'production'
1 nested properties
The secret attribute of session object.
JWS "alg" (Algorithm) Header Parameter value. Defaults to ES256.
Must match one of the algorithms defined for IdentityClient.
When setting a different algorithm, check if the key field
of the signing_keys table can fit the length of the generated keys.
If not, add a knex migration file in the migrations folder.
More info on supported algorithms: https://github.com/panva/jose
To control how to store JWK data in auth-backend
2 nested properties
7 nested properties
The host to connect to
The port to connect to
Whether to use SSL when connecting.
The Google Cloud Project ID
Local file containing the Service Account credentials. You can omit this value to automatically read from GOOGLE_APPLICATION_CREDENTIALS env which is useful for local development.
The path to use for the collection. Defaults to 'sessions'
Timeout used for database operations. Defaults to 10000ms
Generic backend configuration.
9 nested properties
Backend configuration for when request authentication is enabled
1 nested properties
Keys shared by all backends for signing and validating backend tokens.
The public absolute root URL that the backend is reachable at, from the browser's perspective.
Address that the backend should listen to.
HTTPS configuration for the backend. If omitted the backend will serve HTTP.
Setting this to true will cause self-signed certificates to be generated, which
can be useful for local development or other non-production scenarios.
Database connection configuration, select base database type using the client field
8 nested properties
Default database client to use
Base database connection string, or object with individual connection properties
Database name prefix override
Whether to ensure the given database exists by creating it if it does not. Defaults to true if unspecified.
How plugins databases are managed/divided in the provided database instance.
database -> Plugins are each given their own database to manage their schemas/tables.
schema -> Plugins will be given their own schema (in the specified/default database)
to manage their tables.
NOTE: Currently only supported by the pg client.
Configures the ownership of newly created schemas in pg databases.
Arbitrary config object to pass to knex when initializing (https://knexjs.org/#Installation-client). Most notable is the debug and asyncStackTraces booleans
Plugin specific database configuration and client override
Cache connection configuration, select cache type using the store field
8 nested properties
Configuration related to URL reading, used for example for reading catalog info files, scaffolder templates, and techdocs content.
1 nested properties
A list of targets to allow outgoing requests to. Users will be able to make requests on behalf of the backend to the targets that are allowed by this list.
Content Security Policy options.
The keys are the plain policy ID, e.g. "upgrade-insecure-requests". The values are on the format that the helmet library expects them, as an array of strings. There is also the special value false, which means to remove the default value that Backstage puts in place for that policy.
Discovery options.
1 nested properties
Endpoints
A list of target baseUrls and the associated plugins.
Configuration that provides information about the organization that the app is for.
1 nested properties
The name of the organization that the app belongs to.
This config was used by the HomepageTimer but has been replaced by the HeaderWorldClock in the home plugin
1 nested properties
Enable redirect authentication flow type, instead of a popup for authentication.
Configuration for integrations towards various external repository provider systems
10 nested properties
Integration configuration for Azure
Integration configuration for Bitbucket
Integration configuration for Bitbucket Cloud
Integration configuration for Bitbucket Server
Integration configuration for Gerrit
Integration configuration for GitHub
Integration configuration for GitLab
Integration configuration for Google Cloud Storage
2 nested properties
Service account email used to authenticate requests.
Service account private key used to authenticate requests.
Integration configuration for AWS S3 Service
Integration configuration for Gitea
Configuration for access to AWS accounts
3 nested properties
Defaults for retrieving AWS account credentials
4 nested properties
The IAM role to assume to retrieve temporary AWS credentials
The AWS partition of the IAM role, e.g. "aws", "aws-cn"
The STS regional endpoint to use when retrieving temporary AWS credentials, e.g. "ap-northeast-1"
The unique identifier needed to assume the role to retrieve temporary AWS credentials
Main account to use for retrieving AWS account credentials
4 nested properties
The access key ID for a set of static AWS credentials
The secret access key for a set of static AWS credentials
The configuration profile from a credentials file at ~/.aws/credentials and a configuration file at ~/.aws/config.
The STS regional endpoint to use for the main account, e.g. "ap-northeast-1"
Configuration for retrieving AWS accounts credentials
Configuration options for the Airbrake plugin
1 nested properties
The API Key to authenticate requests. More details on how to get this here: https://airbrake.io/docs/api/#authentication
Configurations for the Apache Airflow plugin
1 nested properties
The base url of the Apache Airflow installation.
Configuration options for the azure-devops-backend plugin
3 nested properties
The hostname of the given Azure instance
Token used to authenticate requests.
The organization of the given Azure instance
Configuration options for the catalog plugin.
8 nested properties
Rules to apply to all catalog entities, from any location.
An undefined list of matchers means match all, an empty list of matchers means match none.
This is commonly used to put in what amounts to an allowlist of kinds that regular users of Backstage are permitted to register locations for. This can be used to stop them from registering yaml files describing for example a Group entity called "admin" that they make themselves members of, or similar.
Readonly defines whether the catalog allows writes after startup.
Setting 'readonly=false' allows users to register their own components. This is the default value.
Setting 'readonly=true' configures catalog to only allow reads. This can be used in combination with static locations to only serve operator provided locations. Effectively this removes the ability to register new components to a running backstage instance.
A set of static locations that the catalog shall always keep itself up-to-date with. This is commonly used for large, permanent integrations that are defined by the Backstage operators at an organization, rather than individual things that users register dynamically.
These have (optional) rules of their own. These override what the global rules above specify. This way, you can prevent everybody from register e.g. User and Group entities, except for one or a few static locations that have those two kinds explicitly allowed.
For example:
rules:
- allow: [Component, API, Template, Location]
locations:
- type: url
target: <https://github.com/org/repo/blob/master/users.yaml>
rules:
- allow: [User, Group]
- type: url
target: <https://github.com/org/repo/blob/master/systems.yaml>
rules:
- allow: [System]
The strategy to use for entities that are orphaned, i.e. no longer have any other entities or providers referencing them. The default value is "keep".
The interval at which the catalog should process its entities.
List of processor-specific options and attributes
4 nested properties
AwsOrganizationCloudAccountProcessor configuration
1 nested properties
GithubMultiOrgReaderProcessor configuration
1 nested properties
The configuration parameters for each GitHub org to process.
LdapOrgReaderProcessor configuration
1 nested properties
The configuration parameters for each single LDAP provider.
MicrosoftGraphOrgReaderProcessor configuration
1 nested properties
The configuration parameters for each single Microsoft Graph provider.
List of provider-specific options and attributes
11 nested properties
AwsS3EntityProvider configuration
Uses "default" as default id for the single config variant.
AzureDevopsEntityProvider configuration
BitbucketCloudEntityProvider configuration
Uses "default" as default id for the single config variant.
BitbucketServerEntityProvider configuration
Uses "default" as default id for the single config variant.
GCPCatalogModuleConfig configuration
1 nested properties
Config for GKE clusters
GerritEntityProvider configuration
Maps provider id with configuration.
GithubEntityProvider configuration
Uses "default" as default id for the single config variant.
Configuration for catalogModuleGithubOrgEntityProvider
GitlabDiscoveryEntityProvider configuration
MicrosoftGraphOrgEntityProvider configuration.
PuppetDB Entity Provider configuration. Uses "default" as default ID for the single config variant.
List of import flow specific options and attributes
2 nested properties
Catalog entity descriptor filename, defaults to "catalog-info.yaml"
A branch name used in pull request when registering existing component via UI Valid git refname required, see: https://git-scm.com/docs/git-check-ref-format Defaults to "backstage-integration"
LdapOrgEntityProvider / LdapOrgReaderProcessor configuration
1 nested properties
The configuration parameters for each single LDAP provider.
Configuration options for the CodeScene plugin
1 nested properties
The base url of the CodeScene installation.
6 nested properties
2 nested properties
10 nested properties
DevTools configuration.
2 nested properties
External dependency configuration.
1 nested properties
The list of endpoints to check.
Info configuration
1 nested properties
A list of package prefixes that DevTools will use for filtering all available dependencies (default is ["@backstage"])
dynatrace config
1 nested properties
base url for links
2 nested properties
1 nested properties
Topics for which a route has to be registered at which we can receive events via HTTP POST requests (i.e. received from webhooks).
3 nested properties
events-backend-module-aws-sqs plugin configuration.
1 nested properties
Configuration for AwsSqsConsumingEventPublisher.
events-backend-module-github plugin configuration.
1 nested properties
Secret token for webhook requests used to verify signatures.
See https://docs.github.com/en/developers/webhooks-and-events/webhooks/securing-your-webhooks for more details.
events-backend-module-gitlab plugin configuration.
1 nested properties
Secret token for webhook requests used to verify tokens.
See https://docs.gitlab.com/ee/user/project/integrations/webhooks.html#validate-payloads-by-using-a-secret-token for more details.
1 nested properties
Tools to be used for the explore tool provider.
2 nested properties
The organization id in fossa.
The base url to use for external links (from Backstage to Fossa).
Configurations for the GoCD plugin
1 nested properties
The base url of the GoCD installation.
2 nested properties
Domain used by users to access iLert web UI. Example: https://my-app.ilert.com/
Path to use for requests via the proxy, defaults to /ilert/api
4 nested properties
Default instance baseUrl, can be specified on a named instance called "default"
Default instance username, can be specified on a named instance called "default"
Default Instance apiKey, can be specified on a named instance called "default"
2 nested properties
Client ID used to Backstage uses to identify when connecting to the Kafka cluster.
5 nested properties
1 nested properties
(Optional) API Version Overrides If set, the specified api version will be used to make requests for the corresponding object. If running a legacy Kubernetes version, you may use this to override the default api versions that are not supported in your cluster.
13 nested properties
Configuration options for the linguist plugin
7 nested properties
Refresh generated language breakdown
linguist-js options
Options for the tags processor
4 nested properties
Determines how many bytes of a language should be in a repo for it to be added as an entity tag. Defaults to 0.
The types of linguist languages that should be processed. Can be any of "programming", "data", "markup", "prose". Defaults to ["programming"].
A custom mapping of linguist languages to how they should be rendered as entity tags. If a language is mapped to '' it will not be included as a tag.
How long to cache entity languages for in memory. Used to avoid constant db hits during processing. Defaults to 30 minutes.
Configurations for the OpenCost plugin
1 nested properties
The base URL for the OpenCost API
Configuration options for the periskop plugin
1 nested properties
Integration configuration for the periskop servers
Configuration for the PagerDuty plugin
1 nested properties
Optional Events Base URL to override the default.
Configuration options for Backstage permissions and authorization
1 nested properties
Whether authorization is enabled in Backstage. Defaults to false, which means authorization requests will be automatically allowed without invoking the authorization policy.
1 nested properties
(Optional) The title that will shown in the UI; Defaults toPlaylist if undefined.
3 nested properties
Rather than failing to start up, the proxy backend will instead just warn on invalid endpoints.
Revive request bodies that have already been consumed by earlier middleware.
A list of forwarding-proxies. Each key is a route to match, below the prefix that the proxy plugin is mounted on. It must start with a '/'.
Configuration options for the rollbar plugin
2 nested properties
The Rollbar organization name. This can be omitted by using the rollbar.com/project-slug annotation.
The authentication token for accessing the Rollbar API
Configuration options for the scaffolder plugin
3 nested properties
The commit author info used when new components are created.
2 nested properties
The commit message used when new components are created.
Sets the number of concurrent tasks that can be run at any given time on the TaskWorker.
Defaults to 10.
Set to 0 to disable task workers altogether.
Configuration options for the Confluence to Markdown action
2 nested properties
The base URL for accessing the Confluence API
5 nested properties
Authentication method - basic, bearer, username/password
Token used for the basic and bearer auth methods
Email used with the token for the basic auth method
Username used with the Username/Password auth method
Password used with the Username/Password auth method
Configuration options for the search plugin
6 nested properties
Sets the maximum max page limit size. Defaults to 100.
Options related to the search integration with the Backstage permissions system
1 nested properties
Limits the amount of time the search backend will spend retrieving and authorizing results from the search engine when permissions are enabled. When the latency of the query endpoint reaches this threshold, the results obtained up until that point will be returned, even if the page is incomplete.
This limit is only expected to be hit for broad queries from users with extremely restrictive visibility, or for very high page offsets.
An object representing the default search query configuration. By configuring and modifying the values of this object, you can customize the default values of the search queries and define how it behaves by default.
1 nested properties
A number indicating the maximum number of results to be returned per page during pagination.
3 nested properties
Configuration options for @backstage/plugin-search-backend-module-catalog
4 nested properties
A templating string with placeholders, to form the final location of the entity.
Defaults to '/catalog/:namespace/:kind/:name'
A filter expression passed to the catalog client, to select what entities to collate.
Defaults to no filter, ie indexing all entities.
The number of entities to process at a time. Keep this at a reasonable number to avoid overloading either the catalog or the search backend.
Defaults to 500
The schedule for how often to run the collation job.
Configuration options for @backstage/plugin-search-backend-module-explore
1 nested properties
The schedule for how often to run the collation job.
Configuration options for @backstage/plugin-search-backend-module-techdocs
4 nested properties
The schedule for how often to run the collation job.
A templating string with placeholders, to form the final location of the entity.
Defaults to '/docs/:namespace/:kind/:name/:path'.
An abstract value that controls the concurrency level of the collation process. Increasing this value will both increase the number of entities fetched at a time from the catalog, as well as how many things are being processed concurrently.
Defaults to 10.
Defaults to false.
Options for ElasticSearch
4 nested properties
Batch size for elastic search indexing tasks. Defaults to 1000.
Options for configuring highlight settings See https://www.elastic.co/guide/en/elasticsearch/reference/7.17/highlighting.html
3 nested properties
The size of the highlighted fragment in characters. Defaults to 1000.
Number of result fragments to extract. Fragments will be concatenated with fragmentDelimiter. Defaults to 1.
Delimiter string used to concatenate fragments. Defaults to " ... ".
Elasticsearch specific index template bodies
Miscellaneous options for the client
Options for PG
2 nested properties
Options for configuring highlight settings See https://www.postgresql.org/docs/current/textsearch-controls.html#TEXTSEARCH-HEADLINE
7 nested properties
Used to enable to disable the highlight feature. The default value is true
Used to set the longest headlines to output. The default value is 35.
Used to set the shortest headlines to output. The default value is 15.
Words of this length or less will be dropped at the start and end of a headline, unless they are query terms. The default value of three (3) eliminates common English articles.
If true the whole document will be used as the headline, ignoring the preceding three parameters. The default is false.
Maximum number of text fragments to display. The default value of zero selects a non-fragment-based headline generation method. A value greater than zero selects fragment-based headline generation (see the linked documentation above for more details).
Delimiter string used to concatenate fragments. Defaults to " ... ".
Batch size to use when indexing
Configuration options for the sentry plugin
1 nested properties
The 'organization' attribute
Optional configurations for the SonarQube plugin
4 nested properties
The base url of the sonarqube installation. Defaults to https://sonarcloud.io.
The external url of the sonarqube installation. Use this if you want to use a different url for the frontend than the backend.
The api key to access the sonarqube instance under baseUrl.
The optional sonarqube instances.
Splunk On Call Plugin specific configs
1 nested properties
Configuration options for the stack overflow plugin
4 nested properties
The base url of the Stack Overflow API used for the plugin
The API key to authenticate to Stack Overflow API
The name of the team for a Stack Overflow for Teams account
The API Access Token to authenticate to Stack Overflow API
1 nested properties
StackStorm Web UI url Used in links to StackStorm web UI
Configuration options for the techdocs plugin
6 nested properties
Documentation building process depends on the builder attr
Allows fallback to case-sensitive triplets in case of migration issues.
1 nested properties
Allows iframe tag only for listed hosts
Example:
allowedIframeHosts: ["example.com"]
this will allow all iframes with the host example.com in the src attribute
Techdocs generator information
4 nested properties
Where to run the techdocs (mkdocs) generator
Override the default techdocs docker image
Pull the latest docker image
Override behavior specific to mkdocs.
2 nested properties
(Optional and not recommended) Configures the techdocs generator to
attempt to ensure an index.md exists falling back to using
List of mkdocs plugins which should be added as default to all mkdocs.yml files.
Techdocs publisher information
2 nested properties
The cache time-to-live for TechDocs sites (in milliseconds). Set this to a non-zero value to cache TechDocs sites and assets as they are read from storage.
Note: you must also configure backend.cache appropriately as well,
and to pass a PluginCacheManager instance to TechDocs Backend's
createRouter method in your backend.
The time (in milliseconds) that the TechDocs backend will wait for a cache service to respond before continuing on as though the cached object was not found (e.g. when the cache sercice is unavailable).
Defaults to 1000 milliseconds.
5 nested properties
The baseUrl for your Vault instance.
The publicUrl for your Vault instance (Optional).
The token used by Backstage to access Vault.
The secret engine name where in vault. Defaults to secrets.
The version of the K/V API. Defaults to 2.
Extra configuration for score card plugin
2 nested properties
The public absolute root URL with json file defining the score card entries.
The template for the link to the wiki, e.g. "https://TBD/XXX/_wiki/wikis/XXX.wiki/{id}"
Configuration options for the travisci plugin
1 nested properties
The 'baseUrl' attribute. It should point to the address of the travis portal. If not provided, frontend plugin will use 'https://travis-ci.com/'