backstage
1app:2experimental:3packages: 'all' # ✨4
5routes:6bindings:7catalog.viewTechDoc: techdocs.docRoot8catalog.createComponent: catalog-import.importPage9org.catalogIndex: catalog.catalogIndex10
11extensions:12# - apis.plugin.graphiql.browse.gitlab: true13- graphiql-endpoint:graphiql/gitlab: true14
15# Entity page cards16- entity-card:catalog/about17- entity-card:catalog/labels18- entity-card:catalog/links:19config:20filter: kind:component has:links21- entity-card:linguist/languages22- entity-card:catalog-graph/relations:23config:24height: 30025- entity-card:api-docs/has-apis26- entity-card:api-docs/consumed-apis27- entity-card:api-docs/provided-apis28- entity-card:api-docs/providing-components29- entity-card:api-docs/consuming-components30
31# - entity-card:azure-devops/readme32# Entity page content33- entity-content:api-docs/definition34- entity-content:api-docs/apis35- entity-content:techdocs36# - entity-content:azure-devops/pipelines37# - entity-content:azure-devops/pull-requests38# - entity-content:azure-devops/git-tags39
40# Org Plugin41- entity-card:org/group-profile42- entity-card:org/members-list43- entity-card:org/ownership44- entity-card:org/user-profile45
46# scmAuthExtension: >-47# createScmAuthExtension({48# id: 'apis.scmAuth.addons.ghe',49# factory({ bind }) {50# bind.scmAuthAddon({51# baseUrl: 'https://github.spotify.net',52# api: githubAuthApiRef,53# })54# }55# })56
57# externalRouteRefs:58# bind(catalogPlugin.externalRoutes, {59# createComponent: scaffolderPlugin.routes.root,60# viewTechDoc: techdocsPlugin.routes.docRoot,61# createFromTemplate: scaffolderPlugin.routes.selectedTemplate,62# });63# bind(apiDocsPlugin.externalRoutes, {64# registerApi: catalogImportPlugin.routes.importPage,65# });66# bind(scaffolderPlugin.externalRoutes, {67# registerComponent: catalogImportPlugin.routes.importPage,68# viewTechDoc: techdocsPlugin.routes.docRoot,69# });70# bind(orgPlugin.externalRoutes, {71# catalogIndex: catalogPlugin.routes.catalogIndex,72# });73
74# extensions:75# - plugin.catalog:76# config:77# externalRoutes:78# createComponent: plugin.scaffolder.page79# viewTechDoc: plugin.techdocs.docRootPage80# createFromTemplate: plugin.scaffolder.templatePage81# - graphiql.page:82# config:83# path: /84# - apis.auth.providers.github:85# config:86# provider: ghe87
88# - core.signInPage:89# props:90# provider:91# id: google92# title: Google93# message: Sign In using Google94# apiRef: googleAuthApiRef # ???95
96# - core.nav:97# config:98# logo: assets/logo.png99# layout:100# - label: Search101# icon: search102# to: /search103# items:104# - point: search105# - type: divider106# - label: Menu107# icon: menu108# items:109# - label: Home110# icon: home111# to: /catalog112# - label: Create...113# icon: create114# to: /create115# - type: divider116# - type: scroll-wrapper117# items:118# - label: Tech Radar119# icon: map120# to: /tech-radar121# - label: GraphiQL122# icon: graphiql123# to: /graphiql124# - type: divider125# - point: shortcuts126# - type: space127# - type: divider128# - label: Settings129# icon: avatar130# to: /settings131# items:132# - point: settings133# - core.nav/search: '@backstage/plugin-search#SidebarSearchModal'134# - core.nav/shortcuts:135# use: '@backstage/plugin-shortcuts#Shortcuts'136# config:137# allowExternalLinks: true138# - core.nav/settings: '@backstage/plugin-user-settings#SidebarSettings'139
140# - core.pages.index:141# at:142# point: core.routes143# config:144# path: /145# use: 'react-router-dom#Navigate'146# config:147# to: /catalog148
149# - scaffolder.page:150# config:151# groups:152# - title: Recommended153# filter:154# entity.metadata.tags: recommended155# - scaffolder.page/fields: '@backstage/plugin-scaffolder#LowerCaseValuePickerFieldExtension'156# - scaffolder.page/layout: '@backstage/plugin-scaffolder#TwoColumnLayout'157
158# - search.page/content: 'app#customSearchPage' # custom search page from somewhere159
160# - user-settings.page.routes.advanced:161# at:162# point: user-settings.page/routes163# config:164# title: Advanced165# path: /advanced166# use: '@backstage/plugin-user-settings#AdvancedSettings'167
168# - entity.card.orphanWarning169# - entity.card.processingErrors170# - entity.card.about171# - entity.card.catalogGraph172# - entity.card.pagerDuty173# - entity.card.links174# - entity.card.labels175# - entity.card.githubInsightsLanguages176# - entity.card.githubInsightsReleases177# - entity.card.githubInsightsReadme:178# config:179# maxHeight: 350 # Throwing this config in to have an example, but in practice rely on default180# - entity.card.subcomponentsCard181# - entity.card.userProfile182# - entity.card.ownership183# - entity.card.likeDislikeRatings184# - entity.content.dependsOnComponents185# - entity.content.codeInsights186# - entity.content.todo187# - entity.content.feedbackResponse188