## Arbitrary app-config for backwards compatible UI configuration - now with dynamic plugins dynamicPlugins: frontend: # backstage.plugin-azure-devops: # mountPoints: # - mountPoint: entity.page.ci/cards # importName: EntityAzurePipelinesContent # config: # layout: # gridColumn: "1 / -1" # if: # allOf: # - isAzureDevOpsAvailable # - mountPoint: entity.page.pull-requests/cards # importName: EntityAzurePullRequestsContent # config: # layout: # gridColumn: "1 / -1" # if: # allOf: # - isAzureDevOpsAvailable # backstage.plugin-dynatrace: # mountPoints: # - mountPoint: entity.page.monitoring/cards # importName: DynatraceTab # config: # layout: # gridColumn: "1 / -1" # if: # allOf: # - isDynatraceAvailable backstage.plugin-github-actions: mountPoints: - mountPoint: entity.page.ci/cards importName: EntityGithubActionsContent config: layout: gridColumn: "1 / -1" if: allOf: - isGithubActionsAvailable # backstage.plugin-github-issues: # mountPoints: # - mountPoint: entity.page.issues/cards # importName: GithubIssuesCard # config: # layout: # gridColumn: "1 / -1" # if: # allOf: # - hasAnnotation: github.com/project-slug backstage.plugin-jenkins: mountPoints: - mountPoint: entity.page.ci/cards importName: EntityJenkinsContent config: layout: gridColumn: "1 / -1" if: allOf: - isJenkinsAvailable backstage.plugin-kubernetes: mountPoints: - mountPoint: entity.page.kubernetes/cards importName: EntityKubernetesContent config: layout: gridColumn: "1 / -1" if: anyOf: - hasAnnotation: backstage.io/kubernetes-id - hasAnnotation: backstage.io/kubernetes-namespace # backstage.plugin-lighthouse: # appIcons: # - name: lighthouse # importName: LighthouseIcon # dynamicRoutes: # - path: /lighthouse # importName: LighthousePage # menuItem: # icon: lighthouse # text: Lighthouse # mountPoints: # - mountPoint: entity.page.overview/cards # importName: EntityLastLighthouseAuditCard # config: # layout: # gridColumnEnd: # md: "span 6" # xs: "span 12" # if: # allOf: # - isLighthouseAvailable pagerduty.backstage-plugin: mountPoints: - mountPoint: entity.page.overview/cards importName: EntityPagerDutyCard config: layout: gridColumnEnd: md: "span 6" xs: "span 12" if: allOf: - isPluginApplicableToEntity # backstage.plugin-sonarqube: # mountPoints: # - mountPoint: entity.page.overview/cards # importName: EntitySonarQubeCard # config: # layout: # gridColumnEnd: # lg: "span 4" # md: "span 6" # xs: "span 12" # if: # allOf: # - isSonarQubeAvailable # immobiliarelabs.backstage-plugin-gitlab: # mountPoints: # - mountPoint: entity.page.overview/cards # importName: EntityGitlabMergeRequestStatsCard # config: # layout: # gridColumnEnd: # lg: "span 4" # md: "span 6" # xs: "span 12" # if: # allOf: # - isGitlabAvailable # - mountPoint: entity.page.ci/cards # importName: EntityGitlabPipelinesTable # config: # layout: # gridColumn: "1 / -1" # if: # allOf: # - isGitlabAvailable # - mountPoint: entity.page.issues/cards # importName: EntityGitlabIssuesTable # config: # layout: # gridColumn: "1 / -1" # if: # allOf: # - isGitlabAvailable # - mountPoint: entity.page.pull-requests/cards # importName: EntityGitlabMergeRequestsTable # config: # layout: # gridColumn: "1 / -1" # if: # allOf: # - isGitlabAvailable # janus-idp.backstage-plugin-acr: # mountPoints: # - mountPoint: entity.page.image-registry/cards # importName: AcrPage # config: # layout: # gridColumn: 1 / -1 # if: # anyOf: # - isAcrAvailable # janus-idp.backstage-plugin-jfrog-artifactory: # mountPoints: # - mountPoint: entity.page.image-registry/cards # importName: JfrogArtifactoryPage # config: # layout: # gridColumn: 1 / -1 # if: # anyOf: # - isJfrogArtifactoryAvailable # janus-idp.backstage-plugin-nexus-repository-manager: # mountPoints: # - mountPoint: entity.page.image-registry/cards # importName: NexusRepositoryManagerPage # config: # layout: # gridColumn: 1 / -1 # if: # anyOf: # - isNexusRepositoryManagerAvailable # janus-idp.backstage-plugin-ocm: # appIcons: # - name: ocmIcon # importName: OcmIcon # dynamicRoutes: # - path: /ocm # importName: OcmPage # menuItem: # icon: ocmIcon # text: Clusters # mountPoints: # - mountPoint: entity.page.overview/context # importName: ClusterContextProvider # - mountPoint: entity.page.overview/cards # importName: ClusterAvailableResourceCard # config: # layout: # gridColumnEnd: # lg: "span 4" # md: "span 6" # xs: "span 12" # if: # allOf: # - isKind: resource # - isType: kubernetes-cluster # - mountPoint: entity.page.overview/cards # importName: ClusterInfoCard # config: # layout: # gridColumnEnd: # lg: "span 4" # md: "span 6" # xs: "span 12" # if: # allOf: # - isKind: resource # - isType: kubernetes-cluster # janus-idp.backstage-plugin-quay: # mountPoints: # - mountPoint: entity.page.image-registry/cards # importName: QuayPage # config: # layout: # gridColumn: 1 / -1 # if: # anyOf: # - isQuayAvailable janus-idp.backstage-plugin-tekton: mountPoints: - mountPoint: entity.page.ci/cards importName: TektonCI config: layout: gridColumn: "1 / -1" if: allOf: - isTektonCIAvailable janus-idp.backstage-plugin-topology: mountPoints: - mountPoint: entity.page.topology/cards importName: TopologyPage config: layout: gridColumn: "1 / -1" height: 75vh if: anyOf: - hasAnnotation: backstage.io/kubernetes-id - hasAnnotation: backstage.io/kubernetes-namespace roadiehq.backstage-plugin-argo-cd: mountPoints: - mountPoint: entity.page.overview/cards importName: EntityArgoCDOverviewCard config: layout: gridColumnEnd: lg: "span 8" xs: "span 12" if: allOf: - isArgocdAvailable - mountPoint: entity.page.cd/cards importName: EntityArgoCDHistoryCard config: layout: gridColumn: "1 / -1" if: allOf: - isArgocdAvailable # roadiehq.backstage-plugin-datadog: # mountPoints: # - mountPoint: entity.page.monitoring/cards # importName: EntityDatadogContent # config: # layout: # gridColumn: "1 / -1" # if: # allOf: # - isDatadogAvailable roadiehq.backstage-plugin-github-insights: mountPoints: - mountPoint: entity.page.overview/cards importName: EntityGithubInsightsComplianceCard config: layout: gridColumnEnd: lg: "span 4" md: "span 6" xs: "span 12" if: allOf: - isGithubInsightsAvailable # roadiehq.backstage-plugin-github-pull-requests: # mountPoints: # - mountPoint: entity.page.overview/cards # importName: EntityGithubPullRequestsOverviewCard # config: # layout: # gridColumnEnd: # lg: "span 4" # md: "span 6" # xs: "span 12" # if: # allOf: # - isGithubPullRequestsAvailable # - mountPoint: entity.page.pull-requests/cards # importName: EntityGithubPullRequestsContent # config: # layout: # gridColumn: "1 / -1" # if: # allOf: # - isGithubPullRequestsAvailable # roadiehq.backstage-plugin-jira: # mountPoints: # - mountPoint: entity.page.issues/cards # importName: EntityJiraOverviewCard # config: # layout: # gridColumn: "1 / -1" # if: # allOf: # - isJiraAvailable # roadiehq.backstage-plugin-security-insights: # mountPoints: # - mountPoint: entity.page.overview/cards # importName: EntityDependabotAlertsCard # config: # layout: # gridColumnEnd: # lg: "span 4" # md: "span 6" # xs: "span 12" # if: # allOf: # - isSecurityInsightsAvailable backstage.plugin-techdocs: routeBindings: targets: - importName: techdocsPlugin bindings: - bindTarget: catalogPlugin.externalRoutes bindMap: viewTechDoc: techdocsPlugin.routes.docRoot - bindTarget: scaffolderPlugin.externalRoutes bindMap: viewTechDoc: techdocsPlugin.routes.docRoot dynamicRoutes: - path: /docs importName: TechDocsIndexPage menuItem: icon: docs text: Docs - path: /docs/:namespace/:kind/:name/* importName: TechDocsReaderPage mountPoints: - mountPoint: entity.page.docs/cards importName: EntityTechdocsContent config: layout: gridColumn: "1 / -1" if: allOf: - isTechDocsAvailable - mountPoint: search.page.results importName: TechDocsSearchResultListItem - mountPoint: search.page.filters importName: TechdocsSearchFilter - mountPoint: search.page.types importName: techdocsSearchType config: props: name: Documentation icon: docs # backstage.plugin-tech-radar: # apiFactories: # - importName: TechRadarApi # appIcons: # - name: techRadar # importName: TechRadarIcon # dynamicRoutes: # - path: /tech-radar # importName: TechRadarPage # menuItem: # icon: techRadar # text: Tech Radar # config: # props: # width: 1500 # height: 800 # janus-idp.backstage-plugin-analytics-provider-segment: # apiFactories: # - importName: SegmentAnalyticsApi