c390108944
Move logic for generating URLs for the view, edit and source links of catalog entities from the catalog frontend into the backend
404 lines
11 KiB
YAML
404 lines
11 KiB
YAML
app:
|
|
title: Backstage Example App
|
|
baseUrl: http://localhost:3000
|
|
googleAnalyticsTrackingId: # UA-000000-0
|
|
support:
|
|
url: https://github.com/backstage/backstage/issues # Used by common ErrorPage
|
|
items: # Used by common SupportButton component
|
|
- title: Issues
|
|
icon: github
|
|
links:
|
|
- url: https://github.com/backstage/backstage/issues
|
|
title: GitHub Issues
|
|
- title: Discord Chatroom
|
|
icon: chat
|
|
links:
|
|
- url: https://discord.gg/MUpMjP2
|
|
title: '#backstage'
|
|
|
|
backend:
|
|
baseUrl: http://localhost:7000
|
|
listen:
|
|
port: 7000
|
|
database:
|
|
client: sqlite3
|
|
connection: ':memory:'
|
|
cors:
|
|
origin: http://localhost:3000
|
|
methods: [GET, POST, PUT, DELETE]
|
|
credentials: true
|
|
csp:
|
|
connect-src: ["'self'", 'http:', 'https:']
|
|
reading:
|
|
allow:
|
|
- host: example.com
|
|
- host: '*.mozilla.org'
|
|
# workingDirectory: /tmp # Use this to configure a working directory for the scaffolder, defaults to the OS temp-dir
|
|
|
|
# See README.md in the proxy-backend plugin for information on the configuration format
|
|
proxy:
|
|
'/circleci/api':
|
|
target: https://circleci.com/api/v1.1
|
|
headers:
|
|
Circle-Token:
|
|
$env: CIRCLECI_AUTH_TOKEN
|
|
|
|
'/jenkins/api':
|
|
target: http://localhost:8080
|
|
headers:
|
|
Authorization:
|
|
$env: JENKINS_BASIC_AUTH_HEADER
|
|
|
|
'/travisci/api':
|
|
target: https://api.travis-ci.com
|
|
changeOrigin: true
|
|
headers:
|
|
Authorization:
|
|
$env: TRAVISCI_AUTH_TOKEN
|
|
travis-api-version: '3'
|
|
|
|
'/newrelic/apm/api':
|
|
target: https://api.newrelic.com/v2
|
|
headers:
|
|
X-Api-Key:
|
|
$env: NEW_RELIC_REST_API_KEY
|
|
|
|
'/pagerduty':
|
|
target: https://api.pagerduty.com
|
|
headers:
|
|
Authorization:
|
|
$env: PAGERDUTY_TOKEN
|
|
|
|
'/buildkite/api':
|
|
target: https://api.buildkite.com/v2/
|
|
headers:
|
|
Authorization:
|
|
$env: BUILDKITE_TOKEN
|
|
|
|
'/sentry/api':
|
|
target: https://sentry.io/api/
|
|
allowedMethods: ['GET']
|
|
headers:
|
|
Authorization:
|
|
$env: SENTRY_TOKEN
|
|
|
|
organization:
|
|
name: My Company
|
|
|
|
# Reference documentation http://backstage.io/docs/features/techdocs/configuration
|
|
# Note: After experimenting with basic setup, use CI/CD to generate docs
|
|
# and an external cloud storage when deploying TechDocs for production use-case.
|
|
# https://backstage.io/docs/features/techdocs/how-to-guides#how-to-migrate-from-techdocs-basic-to-recommended-deployment-approach
|
|
techdocs:
|
|
builder: 'local' # Alternatives - 'external'
|
|
generators:
|
|
techdocs: 'docker' # Alternatives - 'local'
|
|
publisher:
|
|
type: 'local' # Alternatives - 'googleGcs' or 'awsS3' or 'azureBlobStorage' or 'openStackSwift'. Read documentation for using alternatives.
|
|
|
|
sentry:
|
|
organization: my-company
|
|
|
|
rollbar:
|
|
organization: my-company
|
|
# NOTE: The rollbar-backend & accountToken key may be deprecated in the future (replaced by a proxy config)
|
|
accountToken: my-rollbar-account-token
|
|
|
|
lighthouse:
|
|
baseUrl: http://localhost:3003
|
|
|
|
kubernetes:
|
|
serviceLocatorMethod:
|
|
type: 'multiTenant'
|
|
clusterLocatorMethods:
|
|
- type: 'config'
|
|
clusters: []
|
|
|
|
kafka:
|
|
clientId: backstage
|
|
clusters:
|
|
- name: cluster
|
|
brokers:
|
|
- localhost:9092
|
|
|
|
integrations:
|
|
github:
|
|
- host: github.com
|
|
token:
|
|
$env: GITHUB_TOKEN
|
|
### Example for how to add your GitHub Enterprise instance using the API:
|
|
# - host: ghe.example.net
|
|
# apiBaseUrl: https://ghe.example.net/api/v3
|
|
# token:
|
|
# $env: GHE_TOKEN
|
|
### Example for how to add your GitHub Enterprise instance using raw HTTP fetches (token is optional):
|
|
# - host: ghe.example.net
|
|
# rawBaseUrl: https://ghe.example.net/raw
|
|
# token:
|
|
# $env: GHE_TOKEN
|
|
gitlab:
|
|
- host: gitlab.com
|
|
token:
|
|
$env: GITLAB_TOKEN
|
|
bitbucket:
|
|
- host: bitbucket.org
|
|
username:
|
|
$env: BITBUCKET_USERNAME
|
|
appPassword:
|
|
$env: BITBUCKET_APP_PASSWORD
|
|
azure:
|
|
- host: dev.azure.com
|
|
token:
|
|
$env: AZURE_TOKEN
|
|
|
|
catalog:
|
|
rules:
|
|
- allow:
|
|
- Component
|
|
- API
|
|
- Resource
|
|
- Group
|
|
- User
|
|
- Template
|
|
- System
|
|
- Domain
|
|
- Location
|
|
|
|
processors:
|
|
githubOrg:
|
|
providers:
|
|
- target: https://github.com
|
|
token:
|
|
$env: GITHUB_TOKEN
|
|
#### Example for how to add your GitHub Enterprise instance using the API:
|
|
# - target: https://ghe.example.net
|
|
# apiBaseUrl: https://ghe.example.net/api
|
|
# token:
|
|
# $env: GHE_TOKEN
|
|
ldapOrg:
|
|
### Example for how to add your enterprise LDAP server
|
|
# providers:
|
|
# - target: ldaps://ds.example.net
|
|
# bind:
|
|
# dn: uid=ldap-reader-user,ou=people,ou=example,dc=example,dc=net
|
|
# secret:
|
|
# $env: LDAP_SECRET
|
|
# users:
|
|
# dn: ou=people,ou=example,dc=example,dc=net
|
|
# options:
|
|
# filter: (uid=*)
|
|
# map:
|
|
# description: l
|
|
# groups:
|
|
# dn: ou=access,ou=groups,ou=example,dc=example,dc=net
|
|
# options:
|
|
# filter: (&(objectClass=some-group-class)(!(groupType=email)))
|
|
microsoftGraphOrg:
|
|
### Example for how to add your Microsoft Graph tenant
|
|
#providers:
|
|
# - target: https://graph.microsoft.com/v1.0
|
|
# authority: https://login.microsoftonline.com
|
|
# tenantId:
|
|
# $env: MICROSOFT_GRAPH_TENANT_ID
|
|
# clientId:
|
|
# $env: MICROSOFT_GRAPH_CLIENT_ID
|
|
# clientSecret:
|
|
# $env: MICROSOFT_GRAPH_CLIENT_SECRET_TOKEN
|
|
# userFilter: accountEnabled eq true and userType eq 'member'
|
|
# groupFilter: securityEnabled eq false and mailEnabled eq true and groupTypes/any(c:c+eq+'Unified')
|
|
|
|
locations:
|
|
# Add a location here to ingest it, for example from a URL:
|
|
#
|
|
# - type: url
|
|
# target: https://github.com/backstage/backstage/blob/master/packages/catalog-model/examples/all-components.yaml
|
|
#
|
|
# For local development you can use a file location instead:
|
|
#
|
|
# - type: file
|
|
# target: ../catalog-model/examples/all-components.yaml
|
|
#
|
|
# File locations are relative to the current working directory of the
|
|
# backend, for example packages/backend/.
|
|
|
|
# Backstage example components
|
|
- type: file
|
|
target: ../catalog-model/examples/all-components.yaml
|
|
# Example component for github-actions and TechDocs
|
|
- type: file
|
|
target: ../../plugins/github-actions/examples/sample.yaml
|
|
# Example component for TechDocs
|
|
- type: file
|
|
target: ../../plugins/techdocs-backend/examples/documented-component/catalog-info.yaml
|
|
# Backstage example APIs
|
|
- type: file
|
|
target: ../catalog-model/examples/all-apis.yaml
|
|
# Backstage example resources
|
|
- type: file
|
|
target: ../catalog-model/examples/all-resources.yaml
|
|
# Backstage example systems
|
|
- type: file
|
|
target: ../catalog-model/examples/all-systems.yaml
|
|
# Backstage example domains
|
|
- type: file
|
|
target: ../catalog-model/examples/all-domains.yaml
|
|
# Backstage example templates
|
|
- type: file
|
|
target: ../../plugins/scaffolder-backend/sample-templates/all-templates.yaml
|
|
# Backstage example groups and users
|
|
- type: file
|
|
target: ../catalog-model/examples/acme-corp.yaml
|
|
|
|
scaffolder:
|
|
github:
|
|
token:
|
|
$env: GITHUB_TOKEN
|
|
visibility: public # or 'internal' or 'private'
|
|
gitlab:
|
|
api:
|
|
baseUrl: https://gitlab.com
|
|
token:
|
|
$env: GITLAB_TOKEN
|
|
visibility: public # or 'internal' or 'private'
|
|
azure:
|
|
baseUrl: https://dev.azure.com/{your-organization}
|
|
api:
|
|
token:
|
|
$env: AZURE_TOKEN
|
|
bitbucket:
|
|
api:
|
|
host: https://bitbucket.org
|
|
username:
|
|
$env: BITBUCKET_USERNAME
|
|
token:
|
|
$env: BITBUCKET_TOKEN
|
|
visibility: public # or or 'private'
|
|
|
|
auth:
|
|
environment: development
|
|
### Providing an auth.session.secret will enable session support in the auth-backend
|
|
# session:
|
|
# secret: custom session secret
|
|
providers:
|
|
google:
|
|
development:
|
|
clientId:
|
|
$env: AUTH_GOOGLE_CLIENT_ID
|
|
clientSecret:
|
|
$env: AUTH_GOOGLE_CLIENT_SECRET
|
|
github:
|
|
development:
|
|
clientId:
|
|
$env: AUTH_GITHUB_CLIENT_ID
|
|
clientSecret:
|
|
$env: AUTH_GITHUB_CLIENT_SECRET
|
|
enterpriseInstanceUrl:
|
|
$env: AUTH_GITHUB_ENTERPRISE_INSTANCE_URL
|
|
gitlab:
|
|
development:
|
|
clientId:
|
|
$env: AUTH_GITLAB_CLIENT_ID
|
|
clientSecret:
|
|
$env: AUTH_GITLAB_CLIENT_SECRET
|
|
audience:
|
|
$env: GITLAB_BASE_URL
|
|
saml:
|
|
entryPoint: 'http://localhost:7001/'
|
|
issuer: 'passport-saml'
|
|
okta:
|
|
development:
|
|
clientId:
|
|
$env: AUTH_OKTA_CLIENT_ID
|
|
clientSecret:
|
|
$env: AUTH_OKTA_CLIENT_SECRET
|
|
audience:
|
|
$env: AUTH_OKTA_AUDIENCE
|
|
oauth2:
|
|
development:
|
|
clientId:
|
|
$env: AUTH_OAUTH2_CLIENT_ID
|
|
clientSecret:
|
|
$env: AUTH_OAUTH2_CLIENT_SECRET
|
|
authorizationUrl:
|
|
$env: AUTH_OAUTH2_AUTH_URL
|
|
tokenUrl:
|
|
$env: AUTH_OAUTH2_TOKEN_URL
|
|
###
|
|
# provide a list of scopes as needed for your OAuth2 Server:
|
|
#
|
|
# scope: saml-login-selector openid profile email
|
|
oidc:
|
|
development:
|
|
metadataUrl:
|
|
$env: AUTH_OIDC_METADATA_URL
|
|
clientId:
|
|
$env: AUTH_OIDC_CLIENT_ID
|
|
clientSecret:
|
|
$env: AUTH_OIDC_CLIENT_SECRET
|
|
authorizationUrl:
|
|
$env: AUTH_OIDC_AUTH_URL
|
|
tokenUrl:
|
|
$env: AUTH_OIDC_TOKEN_URL
|
|
tokenSignedResponseAlg:
|
|
$env: AUTH_OIDC_TOKEN_SIGNED_RESPONSE_ALG
|
|
auth0:
|
|
development:
|
|
clientId:
|
|
$env: AUTH_AUTH0_CLIENT_ID
|
|
clientSecret:
|
|
$env: AUTH_AUTH0_CLIENT_SECRET
|
|
domain:
|
|
$env: AUTH_AUTH0_DOMAIN
|
|
microsoft:
|
|
development:
|
|
clientId:
|
|
$env: AUTH_MICROSOFT_CLIENT_ID
|
|
clientSecret:
|
|
$env: AUTH_MICROSOFT_CLIENT_SECRET
|
|
tenantId:
|
|
$env: AUTH_MICROSOFT_TENANT_ID
|
|
onelogin:
|
|
development:
|
|
clientId:
|
|
$env: AUTH_ONELOGIN_CLIENT_ID
|
|
clientSecret:
|
|
$env: AUTH_ONELOGIN_CLIENT_SECRET
|
|
issuer:
|
|
$env: AUTH_ONELOGIN_ISSUER
|
|
costInsights:
|
|
engineerCost: 200000
|
|
products:
|
|
computeEngine:
|
|
name: Compute Engine
|
|
icon: compute
|
|
cloudDataflow:
|
|
name: Cloud Dataflow
|
|
icon: data
|
|
cloudStorage:
|
|
name: Cloud Storage
|
|
icon: storage
|
|
bigQuery:
|
|
name: BigQuery
|
|
icon: search
|
|
events:
|
|
name: Events
|
|
icon: data
|
|
metrics:
|
|
DAU:
|
|
name: Daily Active Users
|
|
default: true
|
|
MSC:
|
|
name: Monthly Subscribers
|
|
homepage:
|
|
clocks:
|
|
- label: UTC
|
|
timezone: UTC
|
|
- label: NYC
|
|
timezone: 'America/New_York'
|
|
- label: STO
|
|
timezone: 'Europe/Stockholm'
|
|
- label: TYO
|
|
timezone: 'Asia/Tokyo'
|
|
pagerduty:
|
|
eventsBaseUrl: 'https://events.pagerduty.com/v2'
|