├── .backstage
└── home-page.md
├── .changeset
├── README.md
├── config.json
├── gold-melons-brush.md
├── heavy-experts-train.md
├── ten-ants-end.md
└── tiny-beers-throw.md
├── .dockerignore
├── .eslintrc.js
├── .github
├── CODEOWNERS
├── ISSUE_TEMPLATE
│ ├── bug_template.md
│ └── feature_template.md
├── PULL_REQUEST_TEMPLATE.md
└── workflows
│ ├── ISSUE_TEMPLATE
│ ├── bug_template.md
│ └── feature-template.md
│ ├── automate_stale.yml
│ ├── changeset.yml
│ ├── main.yml
│ ├── publish.yml
│ ├── pull-request.yml
│ └── weekly-check-versions.yml
├── .gitignore
├── .husky
└── pre-commit
├── .prettierignore
├── .yarn
├── plugins
│ └── @yarnpkg
│ │ └── plugin-backstage.cjs
└── releases
│ └── yarn-4.9.2.cjs
├── .yarnrc.yml
├── ADOPTERS.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── OWNERS.md
├── README.md
├── SECURITY.md
├── app-config.production.yaml
├── app-config.yaml
├── backstage.json
├── catalog-info.yaml
├── entities
├── templates
│ ├── template-appendFile.yaml
│ ├── template-argocd.yaml
│ ├── template-backstage-http-request-demo.yaml
│ ├── template-component-validator.yaml
│ ├── template-ecr-create.yaml
│ ├── template-json.yaml
│ ├── template-jsonata.yaml
│ ├── template-parseFile.yaml
│ ├── template-replaceInFile.yaml
│ ├── template-s3-cp.yaml
│ ├── template-secrets-create.yaml
│ ├── template-sleep.yaml
│ ├── template-writeFile.yaml
│ ├── template-yaml.yaml
│ └── template-zip.yaml
└── test-entity.yaml
├── jest.config.js
├── jest.setup.js
├── package.json
├── packages
├── app
│ ├── .eslintrc.js
│ ├── CHANGELOG.md
│ ├── e2e
│ │ ├── argocd.test.ts
│ │ ├── aws-lambda.test.ts
│ │ ├── bugsnag.test.ts
│ │ ├── buildkite.test.ts
│ │ ├── datadog.test.ts
│ │ ├── fixtures
│ │ │ ├── AWSLambda
│ │ │ │ ├── AWSCredentials.json
│ │ │ │ └── AWSLambdaResponse.json
│ │ │ ├── ArgoCD
│ │ │ │ ├── applications-test-app.json
│ │ │ │ └── deploy-history-data.json
│ │ │ ├── Bugsnag
│ │ │ │ ├── errors.json
│ │ │ │ ├── organisations.json
│ │ │ │ ├── projects.json
│ │ │ │ └── trends.json
│ │ │ ├── buildkite
│ │ │ │ ├── builds.json
│ │ │ │ └── pipeline.json
│ │ │ ├── datadog
│ │ │ │ ├── dashboard.html
│ │ │ │ └── datadogdashboard.json
│ │ │ ├── githubInsights
│ │ │ │ ├── compliance.json
│ │ │ │ ├── contributors.json
│ │ │ │ ├── languages.json
│ │ │ │ ├── readme.json
│ │ │ │ └── releases.json
│ │ │ ├── githubLogin
│ │ │ │ └── login.json
│ │ │ ├── githubPRs
│ │ │ │ └── pull-requests.json
│ │ │ ├── jira
│ │ │ │ ├── activitystream.xml
│ │ │ │ ├── jqlQueryResult.json
│ │ │ │ ├── project.json
│ │ │ │ ├── searchresult.json
│ │ │ │ └── statuses.json
│ │ │ ├── prometheus
│ │ │ │ ├── alerts.json
│ │ │ │ ├── graphs.json
│ │ │ │ └── graphs2.json
│ │ │ ├── securityInsights
│ │ │ │ ├── alerts.json
│ │ │ │ └── graphql.json
│ │ │ └── travisCi
│ │ │ │ ├── build.json
│ │ │ │ └── builds.json
│ │ ├── github-insights.test.ts
│ │ ├── github-pull-requests.test.ts
│ │ ├── helpers
│ │ │ ├── auth.setup.ts
│ │ │ └── auth.ts
│ │ ├── jira.test.ts
│ │ ├── prometheus.test.ts
│ │ ├── scaffolder-http-request.test.ts
│ │ ├── security-insights.test.ts
│ │ └── travis-ci.test.ts
│ ├── package.json
│ ├── public
│ │ ├── android-chrome-192x192.png
│ │ ├── apple-touch-icon.png
│ │ ├── favicon-16x16.png
│ │ ├── favicon-32x32.png
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── manifest.json
│ │ ├── robots.txt
│ │ └── safari-pinned-tab.svg
│ └── src
│ │ ├── App.test.tsx
│ │ ├── App.tsx
│ │ ├── apis.ts
│ │ ├── components
│ │ ├── Root
│ │ │ ├── LogoFull.tsx
│ │ │ ├── LogoIcon.tsx
│ │ │ ├── Root.tsx
│ │ │ └── index.ts
│ │ ├── catalog
│ │ │ └── EntityPage.tsx
│ │ └── home
│ │ │ └── HomePage.tsx
│ │ ├── index.tsx
│ │ └── setupTests.ts
└── backend
│ ├── .eslintrc.js
│ ├── CHANGELOG.md
│ ├── Dockerfile
│ ├── README.md
│ ├── package.json
│ └── src
│ ├── index.ts
│ └── plugins
│ └── roadiehq-local-catalog.ts
├── playwright.config.ts
├── plugins
├── backend
│ ├── backstage-aws-backend
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── config.d.ts
│ │ ├── package.json
│ │ └── src
│ │ │ ├── index.ts
│ │ │ ├── plugin.ts
│ │ │ ├── service
│ │ │ ├── router.test.ts
│ │ │ └── router.ts
│ │ │ ├── setupTests.ts
│ │ │ └── types.ts
│ ├── backstage-plugin-argo-cd-backend
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── catalog-info.yaml
│ │ ├── config.d.ts
│ │ ├── dev
│ │ │ ├── README.md
│ │ │ └── index.ts
│ │ ├── images
│ │ │ └── azure-argo.png
│ │ ├── package.json
│ │ └── src
│ │ │ ├── index.ts
│ │ │ ├── plugin.ts
│ │ │ ├── refs
│ │ │ └── argocdService.ref.ts
│ │ │ ├── service
│ │ │ ├── argocd.service.ts
│ │ │ ├── argocd.test.ts
│ │ │ ├── argocdTestResponses.ts
│ │ │ ├── router.test.ts
│ │ │ ├── router.ts
│ │ │ ├── timer.services.ts
│ │ │ └── types.ts
│ │ │ ├── setupTests.ts
│ │ │ └── utils
│ │ │ └── getArgoConfig.ts
│ ├── backstage-plugin-aws-auth
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── catalog-info.yaml
│ │ ├── package.json
│ │ └── src
│ │ │ ├── index.ts
│ │ │ └── service
│ │ │ ├── aws-api.test.ts
│ │ │ ├── aws-api.ts
│ │ │ ├── generateTemporaryCredentials.ts
│ │ │ └── router.ts
│ ├── catalog-backend-module-aws
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── config.d.ts
│ │ ├── package.json
│ │ └── src
│ │ │ ├── annotations.ts
│ │ │ ├── index.ts
│ │ │ ├── processors
│ │ │ ├── AWSCatalogProcessor.ts
│ │ │ ├── AWSIAMRoleProcessor.ts
│ │ │ └── index.ts
│ │ │ ├── providers
│ │ │ ├── AWSDynamoDbTableDataProvider.example.yaml.njs
│ │ │ ├── AWSDynamoDbTableDataProvider.test.ts
│ │ │ ├── AWSDynamoDbTableDataProvider.ts
│ │ │ ├── AWSDynamoDbTableProvider.example.yaml.njs
│ │ │ ├── AWSDynamoDbTableProvider.test.ts
│ │ │ ├── AWSDynamoDbTableProvider.ts
│ │ │ ├── AWSEBSVolumeProvider.example.yaml.njs
│ │ │ ├── AWSEBSVolumeProvider.test.ts
│ │ │ ├── AWSEBSVolumeProvider.ts
│ │ │ ├── AWSEC2Provider.example.yaml.njs
│ │ │ ├── AWSEC2Provider.test.ts
│ │ │ ├── AWSEC2Provider.ts
│ │ │ ├── AWSECRRepositoryEntityProvider.example.yaml.njs
│ │ │ ├── AWSECRRepositoryEntityProvider.test.ts
│ │ │ ├── AWSECRRepositoryEntityProvider.ts
│ │ │ ├── AWSEKSClusterProvider.example.yaml.njs
│ │ │ ├── AWSEKSClusterProvider.test.ts
│ │ │ ├── AWSEKSClusterProvider.ts
│ │ │ ├── AWSElastiCacheEntityProvider.example.yaml.njs
│ │ │ ├── AWSElastiCacheEntityProvider.test.ts
│ │ │ ├── AWSElastiCacheEntityProvider.ts
│ │ │ ├── AWSEntityProvider.ts
│ │ │ ├── AWSIAMRoleProvider.example.yaml.njs
│ │ │ ├── AWSIAMRoleProvider.test.ts
│ │ │ ├── AWSIAMRoleProvider.ts
│ │ │ ├── AWSIAMUserProvider.example.yaml.njs
│ │ │ ├── AWSIAMUserProvider.test.ts
│ │ │ ├── AWSIAMUserProvider.ts
│ │ │ ├── AWSLambdaFunctionProvider.example.yaml.njs
│ │ │ ├── AWSLambdaFunctionProvider.test.ts
│ │ │ ├── AWSLambdaFunctionProvider.ts
│ │ │ ├── AWSLoadBalancerProvider.example.yaml.njs
│ │ │ ├── AWSLoadBalancerProvider.test.ts
│ │ │ ├── AWSLoadBalancerProvider.ts
│ │ │ ├── AWSOpenSearchEntityProvider.example.yaml.njs
│ │ │ ├── AWSOpenSearchEntityProvider.test.ts
│ │ │ ├── AWSOpenSearchEntityProvider.ts
│ │ │ ├── AWSOrganizationAccountsProvider.example.yaml.njs
│ │ │ ├── AWSOrganizationAccountsProvider.test.ts
│ │ │ ├── AWSOrganizationAccountsProvider.ts
│ │ │ ├── AWSRDSProvider.example.yaml.njs
│ │ │ ├── AWSRDSProvider.test.ts
│ │ │ ├── AWSRDSProvider.ts
│ │ │ ├── AWSS3BucketProvider.example.yaml.njs
│ │ │ ├── AWSS3BucketProvider.test.ts
│ │ │ ├── AWSS3BucketProvider.ts
│ │ │ ├── AWSSNSTopicProvider.example.yaml.njs
│ │ │ ├── AWSSNSTopicProvider.test.ts
│ │ │ ├── AWSSNSTopicProvider.ts
│ │ │ ├── AWSSQSEntityProvider.example.yaml.njs
│ │ │ ├── AWSSQSEntityProvider.test.ts
│ │ │ ├── AWSSQSEntityProvider.ts
│ │ │ ├── AWSSecurityGroupProvider.example.yaml.njs
│ │ │ ├── AWSSecurityGroupProvider.test.ts
│ │ │ ├── AWSSecurityGroupProvider.ts
│ │ │ ├── AWSSubnetProvider.example.yaml.njs
│ │ │ ├── AWSSubnetProvider.test.ts
│ │ │ ├── AWSSubnetProvider.ts
│ │ │ ├── AWSVPCProvider.example.yaml.njs
│ │ │ ├── AWSVPCProvider.test.ts
│ │ │ ├── AWSVPCProvider.ts
│ │ │ └── index.ts
│ │ │ ├── setupTests.ts
│ │ │ ├── types.ts
│ │ │ └── utils
│ │ │ ├── arnToName.ts
│ │ │ ├── columnMapper.test.ts
│ │ │ ├── columnMapper.ts
│ │ │ ├── tags.test.ts
│ │ │ ├── tags.ts
│ │ │ └── timer.ts
│ ├── catalog-backend-module-gravatar
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── config.d.ts
│ │ ├── package.json
│ │ └── src
│ │ │ ├── index.ts
│ │ │ ├── processors
│ │ │ ├── GravatarProcessor.ts
│ │ │ └── index.ts
│ │ │ └── setupTests.ts
│ ├── catalog-backend-module-okta
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── config.d.ts
│ │ ├── package.json
│ │ └── src
│ │ │ ├── entity-provider-modules.ts
│ │ │ ├── extensions.ts
│ │ │ ├── group-entity-provider.ts
│ │ │ ├── index.ts
│ │ │ ├── module.ts
│ │ │ ├── new-backend.ts
│ │ │ ├── org-entity-provider.ts
│ │ │ ├── providers
│ │ │ ├── GroupTree.test.ts
│ │ │ ├── GroupTree.ts
│ │ │ ├── OktaEntityProvider.test.ts
│ │ │ ├── OktaEntityProvider.ts
│ │ │ ├── OktaGroupEntityProvider.test.ts
│ │ │ ├── OktaGroupEntityProvider.ts
│ │ │ ├── OktaOrgEntityProvider.test.ts
│ │ │ ├── OktaOrgEntityProvider.ts
│ │ │ ├── OktaUserEntityProvider.test.ts
│ │ │ ├── OktaUserEntityProvider.ts
│ │ │ ├── accountConfig.ts
│ │ │ ├── getOktaGroups.ts
│ │ │ ├── getParentGroup.ts
│ │ │ ├── groupEntityFromOktaGroup.test.ts
│ │ │ ├── groupEntityFromOktaGroup.ts
│ │ │ ├── groupNamingStrategies
│ │ │ │ ├── ProfileFieldGroupNamingStrategy.test.ts
│ │ │ │ ├── ProfileFieldGroupNamingStrategy.ts
│ │ │ │ ├── groupNamingStrategyFactory.ts
│ │ │ │ ├── idGroupNamingStrategy.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── kebabCaseGroupNamingStrategy.ts
│ │ │ │ ├── profileNameGroupNamingStrategy.ts
│ │ │ │ └── types.ts
│ │ │ ├── index.ts
│ │ │ ├── types.ts
│ │ │ ├── userEntityFromOktaUser.ts
│ │ │ └── userNamingStrategies
│ │ │ │ ├── idUserNamingStrategy.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── kebabCaseEmailUserNamingStrategy.ts
│ │ │ │ ├── slugifyEmailUserNamingStrategy.ts
│ │ │ │ ├── stripEmailDomainUserNamingStrategy.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── userNamingStrategyFactory.ts
│ │ │ ├── setupTests.ts
│ │ │ ├── test-utls.ts
│ │ │ ├── types.ts
│ │ │ └── user-entity-provider.ts
│ ├── glean-backend
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── config.d.ts
│ │ ├── package.json
│ │ └── src
│ │ │ ├── client
│ │ │ ├── GleanIndexClient.test.ts
│ │ │ ├── GleanIndexClient.ts
│ │ │ ├── TechDocsClient.test.ts
│ │ │ ├── TechDocsClient.ts
│ │ │ ├── fixtures
│ │ │ │ └── staticTechDocsHtml.ts
│ │ │ └── types.ts
│ │ │ ├── config.ts
│ │ │ ├── index.ts
│ │ │ ├── plugin.test.ts
│ │ │ ├── plugin.ts
│ │ │ └── setupTests.ts
│ ├── rag-ai-backend-embeddings-aws
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── config.d.ts
│ │ ├── package.json
│ │ └── src
│ │ │ ├── BedrockCohereEmbeddings.ts
│ │ │ ├── RoadieBedrockAugmenter.ts
│ │ │ ├── index.ts
│ │ │ ├── module.ts
│ │ │ └── setupTests.ts
│ ├── rag-ai-backend-embeddings-openai
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── config.d.ts
│ │ ├── package.json
│ │ └── src
│ │ │ ├── RoadieOpenAiAugmenter.ts
│ │ │ ├── index.ts
│ │ │ └── setupTests.ts
│ ├── rag-ai-backend-retrieval-augmenter
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── config.d.ts
│ │ ├── package.json
│ │ └── src
│ │ │ ├── defaultInitializer.ts
│ │ │ ├── index.ts
│ │ │ ├── indexing
│ │ │ ├── DefaultVectorAugmentationIndexer.ts
│ │ │ ├── index.ts
│ │ │ └── types.ts
│ │ │ ├── retrieval
│ │ │ ├── DefaultRetrievalPipeline.ts
│ │ │ ├── index.ts
│ │ │ ├── postProcessors
│ │ │ │ └── CombiningPostProcessor.ts
│ │ │ ├── retrievers
│ │ │ │ ├── SearchClient.test.ts
│ │ │ │ ├── SearchClient.ts
│ │ │ │ ├── SearchRetriever.ts
│ │ │ │ ├── VectorEmbeddingsRetriever.ts
│ │ │ │ └── index.ts
│ │ │ └── routers
│ │ │ │ ├── SourceBasedRetrievalRouter.ts
│ │ │ │ └── index.ts
│ │ │ └── setupTests.ts
│ ├── rag-ai-backend
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── config.d.ts
│ │ ├── docs
│ │ │ ├── data-flow-diagram.png
│ │ │ └── question-flow.png
│ │ ├── package.json
│ │ └── src
│ │ │ ├── index.ts
│ │ │ ├── plugin.ts
│ │ │ ├── service
│ │ │ ├── LlmService.ts
│ │ │ ├── RagAiController.ts
│ │ │ ├── index.ts
│ │ │ ├── prompts.ts
│ │ │ ├── router.ts
│ │ │ └── types.ts
│ │ │ └── setupTests.ts
│ ├── rag-ai-node
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── package.json
│ │ └── src
│ │ │ ├── extensions.ts
│ │ │ ├── index.ts
│ │ │ ├── setupTests.ts
│ │ │ └── types.ts
│ ├── rag-ai-storage-pgvector
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── config.d.ts
│ │ ├── migrations
│ │ │ └── 20231216153432_init_vector_embeddings_store.js
│ │ ├── package.json
│ │ └── src
│ │ │ ├── database
│ │ │ └── migrations.ts
│ │ │ ├── index.ts
│ │ │ ├── service
│ │ │ ├── RoadiePgVectorStore.ts
│ │ │ └── index.ts
│ │ │ └── setupTests.ts
│ └── wiz-backend
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── config.d.ts
│ │ ├── package.json
│ │ └── src
│ │ ├── index.ts
│ │ ├── plugin.ts
│ │ ├── service
│ │ ├── WizClient.ts
│ │ ├── index.ts
│ │ └── router.ts
│ │ └── setupTests.ts
├── frontend
│ ├── backstage-plugin-argo-cd
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── catalog-info.yaml
│ │ ├── config.d.ts
│ │ ├── dev
│ │ │ └── index.tsx
│ │ ├── docs
│ │ │ ├── argo-cd-plugin-history-card.png
│ │ │ ├── argo-cd-plugin-overview-card-details.png
│ │ │ ├── argo-cd-plugin-overview-card.png
│ │ │ ├── argo-cd-plugin.webp
│ │ │ ├── index.md
│ │ │ └── releasing.md
│ │ ├── mkdocs.yml
│ │ ├── package.json
│ │ ├── rollup.config.js
│ │ └── src
│ │ │ ├── Router.tsx
│ │ │ ├── alpha.ts
│ │ │ ├── alpha
│ │ │ ├── apis.tsx
│ │ │ ├── entityCards.test.tsx
│ │ │ ├── entityCards.tsx
│ │ │ ├── index.ts
│ │ │ ├── pages.tsx
│ │ │ └── plugin.tsx
│ │ │ ├── api
│ │ │ ├── index.test.ts
│ │ │ └── index.ts
│ │ │ ├── components
│ │ │ ├── ArgoCDDetailsCard.tsx
│ │ │ ├── ArgoCDHistoryCard.tsx
│ │ │ ├── ArgoCDHistoryTable.tsx
│ │ │ ├── DetailsDrawer.tsx
│ │ │ ├── useAppDetails.ts
│ │ │ └── useArgoCDAppData.ts
│ │ │ ├── conditions.ts
│ │ │ ├── index.ts
│ │ │ ├── mocks
│ │ │ └── mocks.ts
│ │ │ ├── plugin.test.tsx
│ │ │ ├── plugin.ts
│ │ │ ├── setupTests.ts
│ │ │ └── types.ts
│ ├── backstage-plugin-aws-lambda
│ │ ├── .eslintrc.js
│ │ ├── .npmrc
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── catalog-info.yaml
│ │ ├── dev
│ │ │ └── index.tsx
│ │ ├── docs
│ │ │ └── lambda-widget.png
│ │ ├── package.json
│ │ ├── rollup.config.js
│ │ └── src
│ │ │ ├── api
│ │ │ ├── AWSLambdaApi.ts
│ │ │ ├── AWSLambdaClient.ts
│ │ │ └── index.ts
│ │ │ ├── components
│ │ │ ├── AWSLambdaOverview
│ │ │ │ ├── AWSLambdaOverview.test.tsx
│ │ │ │ └── AWSLambdaOverview.tsx
│ │ │ └── ErrorBoundary.tsx
│ │ │ ├── hooks
│ │ │ ├── useLambda.ts
│ │ │ └── useServiceEntityAnnotations.ts
│ │ │ ├── index.ts
│ │ │ ├── mocks
│ │ │ └── mocks.ts
│ │ │ ├── plugin.test.ts
│ │ │ ├── plugin.ts
│ │ │ ├── setupTests.ts
│ │ │ ├── state
│ │ │ ├── AppState.tsx
│ │ │ ├── index.ts
│ │ │ ├── types.ts
│ │ │ ├── useAsyncPolling.ts
│ │ │ └── useSettings.ts
│ │ │ └── types.ts
│ ├── backstage-plugin-aws
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── package.json
│ │ └── src
│ │ │ ├── api
│ │ │ ├── AwsApi.ts
│ │ │ ├── AwsClient.test.ts
│ │ │ ├── AwsClient.ts
│ │ │ └── index.ts
│ │ │ ├── components
│ │ │ ├── EKSClusterCard
│ │ │ │ ├── EKSClusterCard.test.tsx
│ │ │ │ ├── EKSClusterCard.tsx
│ │ │ │ └── index.ts
│ │ │ ├── IAMRoleCard
│ │ │ │ ├── IAMRoleCard.test.tsx
│ │ │ │ ├── IAMRoleCard.tsx
│ │ │ │ └── index.ts
│ │ │ ├── IAMUserCard
│ │ │ │ ├── IAMUserCard.test.tsx
│ │ │ │ ├── IAMUserCard.tsx
│ │ │ │ └── index.ts
│ │ │ ├── LambdaFunctionCard
│ │ │ │ ├── LambdaFunctionCard.test.tsx
│ │ │ │ ├── LambdaFunctionCard.tsx
│ │ │ │ └── index.ts
│ │ │ └── S3BucketCard
│ │ │ │ ├── S3BucketCard.test.tsx
│ │ │ │ ├── S3BucketCard.tsx
│ │ │ │ └── index.ts
│ │ │ ├── constants.ts
│ │ │ ├── index.ts
│ │ │ ├── plugin.test.ts
│ │ │ ├── plugin.ts
│ │ │ ├── routes.ts
│ │ │ └── setupTests.ts
│ ├── backstage-plugin-bitbucket-pullrequest
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── DEPRECATED.md
│ │ ├── README.md
│ │ ├── dev
│ │ │ └── index.tsx
│ │ ├── docs
│ │ │ ├── bitbucketprimg.png
│ │ │ ├── index.md
│ │ │ └── releasing.md
│ │ ├── package.json
│ │ └── src
│ │ │ ├── api
│ │ │ └── BitbucketApi.ts
│ │ │ ├── components
│ │ │ ├── PullRequestList.test.tsx
│ │ │ ├── PullRequestList.tsx
│ │ │ ├── Router.tsx
│ │ │ └── StatusFilter.tsx
│ │ │ ├── index.ts
│ │ │ ├── plugin.test.ts
│ │ │ ├── plugin.ts
│ │ │ ├── responseStubs.ts
│ │ │ ├── routes.ts
│ │ │ ├── setupTests.ts
│ │ │ └── utils
│ │ │ └── isBITBUCKETSlugSet.ts
│ ├── backstage-plugin-bugsnag
│ │ ├── .eslintrc.js
│ │ ├── .npmrc
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── catalog-info.yaml
│ │ ├── config.d.ts
│ │ ├── dev
│ │ │ └── index.tsx
│ │ ├── docs
│ │ │ └── backstage-bugsnag-plugin.png
│ │ ├── package.json
│ │ ├── rollup.config.js
│ │ └── src
│ │ │ ├── api
│ │ │ ├── BugsnagApi.ts
│ │ │ ├── BugsnagClient.ts
│ │ │ ├── index.ts
│ │ │ └── types.ts
│ │ │ ├── components
│ │ │ ├── ErrorsOverviewComponent
│ │ │ │ ├── ErrorsOverview.tsx
│ │ │ │ └── index.ts
│ │ │ └── ErrorsTableComponent
│ │ │ │ ├── ErrorsTable.test.tsx
│ │ │ │ ├── ErrorsTable.tsx
│ │ │ │ └── index.ts
│ │ │ ├── conditions.ts
│ │ │ ├── hooks
│ │ │ └── useBugsnagData.ts
│ │ │ ├── index.ts
│ │ │ ├── mock
│ │ │ └── bugsnag-mocks.ts
│ │ │ ├── plugin.test.ts
│ │ │ ├── plugin.ts
│ │ │ ├── routes.ts
│ │ │ └── setupTests.ts
│ ├── backstage-plugin-buildkite
│ │ ├── .eslintrc.js
│ │ ├── .gitignore
│ │ ├── .npmrc
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── catalog-info.yaml
│ │ ├── dev
│ │ │ └── index.tsx
│ │ ├── docs
│ │ │ └── buildkite-plugin.png
│ │ ├── package.json
│ │ ├── plugin.yml
│ │ ├── rollup.config.js
│ │ └── src
│ │ │ ├── api
│ │ │ └── index.ts
│ │ │ ├── components
│ │ │ ├── BuildKiteBuildView
│ │ │ │ ├── BuildKiteBuildView.test.tsx
│ │ │ │ ├── BuildKiteBuildView.tsx
│ │ │ │ ├── components
│ │ │ │ │ ├── ActionOutput.tsx
│ │ │ │ │ └── BuildkiteBuildStep.tsx
│ │ │ │ └── index.ts
│ │ │ ├── BuildKiteBuildsTable
│ │ │ │ ├── BuildKiteBuildsTable.test.tsx
│ │ │ │ ├── BuildKiteBuildsTable.tsx
│ │ │ │ ├── components
│ │ │ │ │ └── BuildKiteRunStatus.tsx
│ │ │ │ └── index.ts
│ │ │ ├── Router.tsx
│ │ │ ├── types.ts
│ │ │ ├── useBuilds.ts
│ │ │ ├── useLog.ts
│ │ │ ├── useProjectEntity.ts
│ │ │ ├── useSingleBuild.ts
│ │ │ └── utils.ts
│ │ │ ├── consts.ts
│ │ │ ├── index.ts
│ │ │ ├── mocks
│ │ │ └── mocks.ts
│ │ │ ├── plugin.test.ts
│ │ │ ├── plugin.ts
│ │ │ └── setupTests.ts
│ ├── backstage-plugin-cloudsmith
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── homepage-cloudsmith.png
│ │ ├── package.json
│ │ └── src
│ │ │ ├── api
│ │ │ ├── CloudsmithApi.ts
│ │ │ ├── CloudsmithClient.test.ts
│ │ │ ├── CloudsmithClient.ts
│ │ │ ├── index.ts
│ │ │ └── mocks
│ │ │ │ └── mocks.ts
│ │ │ ├── components
│ │ │ ├── CloudsmithPackageListCard
│ │ │ │ ├── Content.tsx
│ │ │ │ ├── index.ts
│ │ │ │ └── types.ts
│ │ │ ├── CloudsmithQuotaCard
│ │ │ │ ├── Content.test.tsx
│ │ │ │ ├── Content.tsx
│ │ │ │ ├── UsageGauge.tsx
│ │ │ │ ├── index.ts
│ │ │ │ └── types.ts
│ │ │ ├── CloudsmithRepositoryAuditLogCard
│ │ │ │ ├── Content.test.tsx
│ │ │ │ ├── Content.tsx
│ │ │ │ ├── index.ts
│ │ │ │ └── types.ts
│ │ │ ├── CloudsmithRepositorySecurityCard
│ │ │ │ ├── Content.test.tsx
│ │ │ │ ├── Content.tsx
│ │ │ │ ├── index.ts
│ │ │ │ └── types.ts
│ │ │ └── CloudsmithStatsCard
│ │ │ │ ├── Content.test.tsx
│ │ │ │ ├── Content.tsx
│ │ │ │ ├── index.ts
│ │ │ │ └── types.ts
│ │ │ ├── hooks
│ │ │ └── useCloudsmithApi.ts
│ │ │ ├── index.ts
│ │ │ ├── plugin.test.ts
│ │ │ ├── plugin.ts
│ │ │ ├── routes.ts
│ │ │ └── setupTests.ts
│ ├── backstage-plugin-datadog
│ │ ├── .eslintrc.js
│ │ ├── .gitignore
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── catalog-info.yaml
│ │ ├── dev
│ │ │ └── index.tsx
│ │ ├── docs
│ │ │ ├── datadog-widget.png
│ │ │ ├── dd-backstage-tab.png
│ │ │ ├── dd-dashboard-2.png
│ │ │ ├── dd-dashboard-share.png
│ │ │ ├── dd-dashboard.png
│ │ │ ├── dd-graph-overview.png
│ │ │ └── dd-graph-share.png
│ │ ├── package.json
│ │ ├── rollup.config.js
│ │ └── src
│ │ │ ├── Router.tsx
│ │ │ ├── alpha.ts
│ │ │ ├── alpha
│ │ │ ├── apis.ts
│ │ │ ├── entityCards.test.tsx
│ │ │ ├── entityCards.tsx
│ │ │ ├── entityContent.test.tsx
│ │ │ ├── entityContent.tsx
│ │ │ └── index.ts
│ │ │ ├── api
│ │ │ └── index.ts
│ │ │ ├── components
│ │ │ ├── DatadogDashboardPage.tsx
│ │ │ ├── ErrorBoundary.tsx
│ │ │ ├── GraphWidget.tsx
│ │ │ └── useDatadogAppData.ts
│ │ │ ├── index.ts
│ │ │ ├── mocks
│ │ │ └── mocks.ts
│ │ │ ├── plugin.test.tsx
│ │ │ ├── plugin.ts
│ │ │ ├── setupTests.ts
│ │ │ └── types.ts
│ ├── backstage-plugin-github-insights
│ │ ├── .eslintrc.js
│ │ ├── .npmrc
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── __mocks__
│ │ │ └── zustand.js
│ │ ├── app-config.yaml
│ │ ├── catalog-info.yaml
│ │ ├── dev
│ │ │ └── index.tsx
│ │ ├── docs
│ │ │ ├── code-insights-plugin.png
│ │ │ ├── compliance-report-widget.png
│ │ │ ├── contributors-widget.png
│ │ │ ├── environments-widget.png
│ │ │ ├── languages-widget.png
│ │ │ ├── readme-widget.png
│ │ │ └── releases-widget.png
│ │ ├── package.json
│ │ └── src
│ │ │ ├── apis
│ │ │ ├── GithubApi.ts
│ │ │ ├── GithubClient.ts
│ │ │ ├── githubApiRef.ts
│ │ │ └── index.ts
│ │ │ ├── components
│ │ │ ├── InsightsPage
│ │ │ │ ├── InsightsPage.test.tsx
│ │ │ │ ├── InsightsPage.tsx
│ │ │ │ └── index.ts
│ │ │ ├── Widgets
│ │ │ │ ├── ComplianceCard
│ │ │ │ │ ├── ComplianceCard.test.tsx
│ │ │ │ │ ├── ComplianceCard.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── ContributorsCard
│ │ │ │ │ ├── ContributorsCard.test.tsx
│ │ │ │ │ ├── ContributorsCard.tsx
│ │ │ │ │ ├── components
│ │ │ │ │ │ ├── Contributor
│ │ │ │ │ │ │ ├── Contributor.test.tsx
│ │ │ │ │ │ │ ├── Contributor.tsx
│ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ ├── ContributorTooltipContent
│ │ │ │ │ │ │ ├── ContributorTooltipContent.tsx
│ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ └── ContributorsList
│ │ │ │ │ │ │ ├── ContributorsList.tsx
│ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── EnvironmentsCard
│ │ │ │ │ ├── EnvironmentsCard.test.tsx
│ │ │ │ │ ├── EnvironmentsCard.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── LanguagesCard
│ │ │ │ │ ├── LanguagesCard.test.tsx
│ │ │ │ │ ├── LanguagesCard.tsx
│ │ │ │ │ ├── colors.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── MarkdownContent
│ │ │ │ │ ├── MarkdownContent.test.tsx
│ │ │ │ │ ├── MarkdownContent.tsx
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── types.ts
│ │ │ │ ├── ReadMeCard
│ │ │ │ │ ├── ReadMeCard.tsx
│ │ │ │ │ ├── ReadmeCard.test.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── ReleasesCard
│ │ │ │ │ ├── ReleasesCard.test.tsx
│ │ │ │ │ ├── ReleasesCard.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ └── index.ts
│ │ │ ├── store.ts
│ │ │ ├── types.ts
│ │ │ └── utils
│ │ │ │ ├── githubUtils.ts
│ │ │ │ ├── isGithubInsightsAvailable.ts
│ │ │ │ └── styles.ts
│ │ │ ├── hooks
│ │ │ ├── useComplianceHooks.ts
│ │ │ ├── useContributor.ts
│ │ │ ├── useEntityGithubScmIntegration.ts
│ │ │ ├── useProjectEntity.ts
│ │ │ └── useRequest.ts
│ │ │ ├── index.ts
│ │ │ ├── mocks
│ │ │ ├── mocks.ts
│ │ │ └── scmIntegrationsApiMock.ts
│ │ │ ├── plugin.test.ts
│ │ │ ├── plugin.ts
│ │ │ ├── routes.ts
│ │ │ └── setupTests.ts
│ ├── backstage-plugin-github-pull-requests
│ │ ├── .eslintrc.js
│ │ ├── .npmrc
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── app-config.yaml
│ │ ├── catalog-info.yaml
│ │ ├── dev
│ │ │ └── index.tsx
│ │ ├── docs
│ │ │ ├── github-pullrequests-widget.png
│ │ │ ├── homepage-components.png
│ │ │ ├── index.md
│ │ │ ├── list-of-pull-requests-and-stats-tab-view.png
│ │ │ ├── list-of-pull-requests-and-stats.png
│ │ │ ├── list-of-team-assigned-prs.png
│ │ │ └── releasing.md
│ │ ├── mkdocs.yml
│ │ ├── package.json
│ │ ├── rollup.config.js
│ │ └── src
│ │ │ ├── api
│ │ │ ├── GithubPullRequestsApi.ts
│ │ │ ├── GithubPullRequestsClient.ts
│ │ │ └── index.ts
│ │ │ ├── components
│ │ │ ├── GroupPullRequestsCard
│ │ │ │ ├── Content.test.tsx
│ │ │ │ ├── Content.tsx
│ │ │ │ └── index.ts
│ │ │ ├── Home
│ │ │ │ ├── RequestedReviewsCard
│ │ │ │ │ ├── Content.test.tsx
│ │ │ │ │ ├── Content.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ └── YourOpenPullRequestsCard
│ │ │ │ │ ├── Content.test.tsx
│ │ │ │ │ ├── Content.tsx
│ │ │ │ │ └── index.ts
│ │ │ ├── Icons.tsx
│ │ │ ├── PullRequestsListView
│ │ │ │ ├── PullRequestListView.test.tsx
│ │ │ │ ├── PullRequestsListView.tsx
│ │ │ │ └── index.ts
│ │ │ ├── PullRequestsPage
│ │ │ │ ├── PullRequestsPage.tsx
│ │ │ │ └── index.ts
│ │ │ ├── PullRequestsStatsCard
│ │ │ │ ├── PullRequestsStatsCard.test.tsx
│ │ │ │ ├── PullRequestsStatsCard.tsx
│ │ │ │ ├── components
│ │ │ │ │ └── TooltipContent.tsx
│ │ │ │ └── index.ts
│ │ │ ├── PullRequestsTable
│ │ │ │ ├── PullRequestsTable.test.tsx
│ │ │ │ ├── PullRequestsTable.tsx
│ │ │ │ └── index.ts
│ │ │ ├── Router.tsx
│ │ │ ├── useGithubSearchPullRequest.tsx
│ │ │ ├── usePullRequests.ts
│ │ │ └── usePullRequestsStatistics.ts
│ │ │ ├── index.ts
│ │ │ ├── mocks
│ │ │ ├── githubAuthApi.ts
│ │ │ ├── githubPullRequestsApiMock.ts
│ │ │ ├── handlers.ts
│ │ │ ├── mocks.ts
│ │ │ └── scmIntegrationsApiMock.ts
│ │ │ ├── plugin.test.ts
│ │ │ ├── plugin.ts
│ │ │ ├── setupTests.ts
│ │ │ ├── types.ts
│ │ │ └── utils
│ │ │ ├── githubUtils.ts
│ │ │ ├── isGithubSlugSet.ts
│ │ │ └── isRoadieBackstageDefaultFilterSet.ts
│ ├── backstage-plugin-iframe
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── app-config.yaml
│ │ ├── catalog-info.yaml
│ │ ├── config.d.ts
│ │ ├── dev
│ │ │ └── index.tsx
│ │ ├── package.json
│ │ ├── rollup.config.js
│ │ └── src
│ │ │ ├── components
│ │ │ ├── ErrorComponent.tsx
│ │ │ ├── HomePageCard.test.tsx
│ │ │ ├── HomePageCard.tsx
│ │ │ ├── IFrameComponent.test.tsx
│ │ │ ├── IFrameComponent.tsx
│ │ │ ├── IFrameContent.test.tsx
│ │ │ ├── IFrameContent.tsx
│ │ │ ├── IFramePage.tsx
│ │ │ ├── index.ts
│ │ │ ├── types.ts
│ │ │ └── utils
│ │ │ │ └── helpers.ts
│ │ │ ├── index.ts
│ │ │ ├── plugin.test.ts
│ │ │ └── plugin.ts
│ ├── backstage-plugin-jira
│ │ ├── .changeset
│ │ │ └── silent-pots-sip.md
│ │ ├── .eslintrc.js
│ │ ├── .gitignore
│ │ ├── .npmrc
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── catalog-info.yaml
│ │ ├── config.d.ts
│ │ ├── dev
│ │ │ └── index.tsx
│ │ ├── docs
│ │ │ ├── index.md
│ │ │ ├── jira-plugin-issues-view.png
│ │ │ ├── jira-plugin.gif
│ │ │ ├── my-jira-tickets-card.jpg
│ │ │ └── releasing.md
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── api
│ │ │ │ ├── index.test.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── strategies
│ │ │ │ │ ├── base.ts
│ │ │ │ │ ├── cloud
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── types.ts
│ │ │ │ │ ├── datacenter
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── types.ts
│ │ │ │ │ ├── factory.ts
│ │ │ │ │ └── index.ts
│ │ │ ├── components
│ │ │ │ ├── DraggableCard.tsx
│ │ │ │ ├── EntityJiraActivityStreamCard
│ │ │ │ │ ├── ActivityStream.tsx
│ │ │ │ │ ├── EntityJiraActivityStreamCard.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── EntityJiraQueryCard
│ │ │ │ │ ├── EntityJiraQueryCard.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── Home
│ │ │ │ │ └── MyJiraTicketsCard
│ │ │ │ │ │ ├── Content.test.tsx
│ │ │ │ │ │ ├── Content.tsx
│ │ │ │ │ │ └── index.ts
│ │ │ │ ├── IssuesTable
│ │ │ │ │ ├── IssuesTable.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── JiraOverviewCard
│ │ │ │ │ ├── JiraCard.test.tsx
│ │ │ │ │ ├── JiraOverviewCard.tsx
│ │ │ │ │ ├── components
│ │ │ │ │ │ ├── Selectors.tsx
│ │ │ │ │ │ └── Status.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── JiraQueryCard
│ │ │ │ │ ├── JiraQueryCard.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ └── Router.tsx
│ │ │ ├── constants.ts
│ │ │ ├── hooks
│ │ │ │ ├── index.ts
│ │ │ │ ├── useActivityStream.ts
│ │ │ │ ├── useEmptyIssueTypeFilter.ts
│ │ │ │ ├── useProjectEntity.ts
│ │ │ │ ├── useProjectInfo.ts
│ │ │ │ ├── useStatuses.ts
│ │ │ │ ├── useTemplateParser.ts
│ │ │ │ ├── useUserInfo.ts
│ │ │ │ └── utils.ts
│ │ │ ├── index.ts
│ │ │ ├── plugin.test.ts
│ │ │ ├── plugin.ts
│ │ │ ├── responseStubs.ts
│ │ │ ├── setupTests.ts
│ │ │ └── types.ts
│ │ └── techdocs.yml
│ ├── backstage-plugin-launchdarkly
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── card-screenshot.png
│ │ ├── package.json
│ │ └── src
│ │ │ ├── components
│ │ │ ├── EntityLaunchdarklyCard
│ │ │ │ ├── EntityLaunchdarklyCard.tsx
│ │ │ │ └── index.ts
│ │ │ ├── EntityLaunchdarklyContextOverviewCard
│ │ │ │ ├── EntityLaunchdarklyContextOverviewCard.tsx
│ │ │ │ ├── FlagDetailsPanel.tsx
│ │ │ │ ├── FlagVariationValueRenderer.tsx
│ │ │ │ └── index.ts
│ │ │ └── EntityLaunchdarklyProjectOverviewContent
│ │ │ │ ├── EntityLaunchdarklyProjectOverviewContent.tsx
│ │ │ │ └── index.ts
│ │ │ ├── constants.ts
│ │ │ ├── hooks
│ │ │ ├── useLaunchdarklyContextFlags.ts
│ │ │ ├── useLaunchdarklyMultiEnvironmentFlags.ts
│ │ │ └── useLaunchdarklyProjectFlags.ts
│ │ │ ├── index.ts
│ │ │ ├── plugin.test.ts
│ │ │ ├── plugin.ts
│ │ │ ├── routes.ts
│ │ │ └── setupTests.ts
│ ├── backstage-plugin-prometheus
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── catalog-info.yaml
│ │ ├── config.d.ts
│ │ ├── dev
│ │ │ └── index.tsx
│ │ ├── docs
│ │ │ ├── prom_alert.png
│ │ │ ├── prom_alert_filtered.png
│ │ │ ├── prom_areagraph_widget.png
│ │ │ ├── prom_entity_content.png
│ │ │ ├── prom_graph.png
│ │ │ ├── prom_graph_hover.png
│ │ │ └── prom_graph_query.png
│ │ ├── package.json
│ │ └── src
│ │ │ ├── api
│ │ │ └── index.ts
│ │ │ ├── components
│ │ │ ├── CustomTooltip.tsx
│ │ │ ├── PrometheusAlertStatus
│ │ │ │ ├── PrometheusAlertEntityWrapper.test.tsx
│ │ │ │ ├── PrometheusAlertEntityWrapper.tsx
│ │ │ │ ├── PrometheusAlertStatus.tsx
│ │ │ │ └── index.ts
│ │ │ ├── PrometheusContentWrapper.tsx
│ │ │ ├── PrometheusGraph
│ │ │ │ ├── PrometheusGraph.tsx
│ │ │ │ ├── PrometheusGraphEntityWrapper.test.tsx
│ │ │ │ ├── PrometheusGraphEntityWrapper.tsx
│ │ │ │ └── index.ts
│ │ │ └── util.ts
│ │ │ ├── conditions.ts
│ │ │ ├── hooks
│ │ │ ├── usePrometheus.test.ts
│ │ │ └── usePrometheus.ts
│ │ │ ├── index.ts
│ │ │ ├── mocks
│ │ │ ├── mockAlertResponse.json
│ │ │ └── mockQueryResponse.json
│ │ │ ├── plugin.test.ts
│ │ │ ├── plugin.ts
│ │ │ ├── setupTests.ts
│ │ │ └── types.ts
│ ├── backstage-plugin-security-insights
│ │ ├── .eslintrc.js
│ │ ├── .gitignore
│ │ ├── .npmrc
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── app-config.yaml
│ │ ├── catalog-info.yaml
│ │ ├── config.d.ts
│ │ ├── dev
│ │ │ └── index.tsx
│ │ ├── docs
│ │ │ ├── backstage-plugin-security-widget-1.png
│ │ │ ├── backstage-plugin-security-widget.png
│ │ │ ├── roadie-backstage-dependabot-alerts.png
│ │ │ ├── roadie-backstage-dependabot-widget.png
│ │ │ └── roadie-backstage-security-plugin.jpg
│ │ ├── package.json
│ │ ├── rollup.config.js
│ │ └── src
│ │ │ ├── components
│ │ │ ├── DependabotAlertsTable
│ │ │ │ ├── DependabotAlertsTable.test.tsx
│ │ │ │ ├── DependabotAlertsTable.tsx
│ │ │ │ └── index.ts
│ │ │ ├── DependabotAlertsWidget
│ │ │ │ ├── DependabotAlertsWidget.test.tsx
│ │ │ │ ├── DependabotAlertsWidget.tsx
│ │ │ │ └── index.ts
│ │ │ ├── GithubDependabotTab
│ │ │ │ ├── GithubDependabotTab.tsx
│ │ │ │ └── index.ts
│ │ │ ├── Router.tsx
│ │ │ ├── SecurityInsightsTab
│ │ │ │ ├── SecurityInsightsTab.tsx
│ │ │ │ └── index.ts
│ │ │ ├── SecurityInsightsTable
│ │ │ │ ├── SecurityInsightsTable.tsx
│ │ │ │ ├── components
│ │ │ │ │ └── StateFilterComponent
│ │ │ │ │ │ ├── StateFilterComponent.tsx
│ │ │ │ │ │ └── index.ts
│ │ │ │ └── index.ts
│ │ │ ├── SecurityInsightsWidget
│ │ │ │ ├── SecurityInsightsWidget.test.tsx
│ │ │ │ ├── SecurityInsightsWidget.tsx
│ │ │ │ └── index.ts
│ │ │ ├── UpdateSeverityStatusModal
│ │ │ │ ├── UpdateSeverityStatusModal.tsx
│ │ │ │ └── index.ts
│ │ │ ├── useGitHubConfig.test.tsx
│ │ │ ├── useGitHubConfig.ts
│ │ │ ├── useProjectEntity.ts
│ │ │ ├── useProjectName.ts
│ │ │ ├── useUrl.test.tsx
│ │ │ ├── useUrl.ts
│ │ │ └── utils.tsx
│ │ │ ├── index.ts
│ │ │ ├── mocks
│ │ │ └── mocks.ts
│ │ │ ├── plugin.test.ts
│ │ │ ├── plugin.ts
│ │ │ ├── setupTests.ts
│ │ │ └── types.ts
│ ├── backstage-plugin-shortcut
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── dev
│ │ │ └── index.tsx
│ │ ├── docs
│ │ │ └── shortcut.png
│ │ ├── package.json
│ │ └── src
│ │ │ ├── api
│ │ │ ├── ShortcutClient.ts
│ │ │ ├── index.ts
│ │ │ └── types.ts
│ │ │ ├── components
│ │ │ ├── ComponentExtensions
│ │ │ │ └── EntityStoriesCard.tsx
│ │ │ └── Home
│ │ │ │ ├── StoriesCardHomepage.test.tsx
│ │ │ │ ├── StoriesCardHomepage.tsx
│ │ │ │ └── index.ts
│ │ │ ├── constants.ts
│ │ │ ├── hooks
│ │ │ └── useShortcutData.ts
│ │ │ ├── index.ts
│ │ │ ├── isShortcutAvailable.ts
│ │ │ ├── mocks
│ │ │ ├── handlers.ts
│ │ │ └── mocks.ts
│ │ │ ├── plugin.test.ts
│ │ │ ├── plugin.ts
│ │ │ ├── routes.ts
│ │ │ └── setupTests.ts
│ ├── backstage-plugin-travis-ci
│ │ ├── .eslintrc.js
│ │ ├── .gitignore
│ │ ├── .npmrc
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── SECURITY.md
│ │ ├── catalog-info.yaml
│ │ ├── config.d.ts
│ │ ├── dev
│ │ │ └── index.tsx
│ │ ├── docs
│ │ │ └── travis-ci-plugin-1642x1027.png
│ │ ├── package.json
│ │ ├── rollup.config.js
│ │ └── src
│ │ │ ├── Router.tsx
│ │ │ ├── api
│ │ │ ├── constants.ts
│ │ │ └── index.ts
│ │ │ ├── components
│ │ │ ├── BuildsPage
│ │ │ │ ├── BuildsPage.tsx
│ │ │ │ ├── index.ts
│ │ │ │ └── lib
│ │ │ │ │ ├── Builds
│ │ │ │ │ ├── Builds.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ │ └── CITable
│ │ │ │ │ ├── CITable.tsx
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── travisIcon.tsx
│ │ │ ├── ContextProvider.tsx
│ │ │ ├── LastBuildCard.test.tsx
│ │ │ ├── LastBuildCard.tsx
│ │ │ ├── RecentTravisCIBuildsWidget.tsx
│ │ │ └── TravisCiBuildsPage.tsx
│ │ │ ├── hooks
│ │ │ ├── useAsyncPolling.ts
│ │ │ ├── useBuild.ts
│ │ │ ├── useBuilds.ts
│ │ │ ├── useSettings.ts
│ │ │ └── useTravisRepoData.ts
│ │ │ ├── index.ts
│ │ │ ├── mocks
│ │ │ └── mocks.ts
│ │ │ ├── plugin.test.ts
│ │ │ ├── plugin.ts
│ │ │ └── setupTests.ts
│ ├── backstage-plugin-wiz
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── config.d.ts
│ │ ├── dev
│ │ │ └── index.tsx
│ │ ├── docs
│ │ │ ├── issues-chart.png
│ │ │ ├── issues-widget.png
│ │ │ ├── missing-annotation.png
│ │ │ ├── severity-graph.png
│ │ │ ├── wiz-expanded-issues.png
│ │ │ └── wiz-issues.png
│ │ ├── package.json
│ │ └── src
│ │ │ ├── api
│ │ │ ├── WizAPI.ts
│ │ │ ├── WizClient.ts
│ │ │ └── index.ts
│ │ │ ├── assets
│ │ │ └── wiz-logo.png
│ │ │ ├── components
│ │ │ ├── EntityIssuesChart
│ │ │ │ ├── EntityIssuesChart.tsx
│ │ │ │ ├── IssuesChart.tsx
│ │ │ │ ├── LineChart.tsx
│ │ │ │ └── index.ts
│ │ │ ├── EntitySeverityChart
│ │ │ │ ├── BarChart.tsx
│ │ │ │ ├── EntitySeverityChart.tsx
│ │ │ │ ├── SeverityChart.tsx
│ │ │ │ └── index.ts
│ │ │ ├── Issues
│ │ │ │ ├── Issues.tsx
│ │ │ │ ├── index.ts
│ │ │ │ └── types.ts
│ │ │ ├── IssuesContext.tsx
│ │ │ ├── IssuesWidget
│ │ │ │ ├── EntityIssuesWidget.tsx
│ │ │ │ ├── IssuesWidget.tsx
│ │ │ │ └── index.ts
│ │ │ ├── Router.tsx
│ │ │ └── constants.ts
│ │ │ ├── index.ts
│ │ │ ├── plugin.test.ts
│ │ │ ├── plugin.ts
│ │ │ ├── routes.ts
│ │ │ ├── setupTests.ts
│ │ │ └── style.ts
│ ├── github-auth-utils-react
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── catalog-info.yaml
│ │ ├── package.json
│ │ └── src
│ │ │ ├── components
│ │ │ ├── GitHubAuthorizationWrapper.tsx
│ │ │ ├── GitHubNotAuthorized.tsx
│ │ │ └── index.ts
│ │ │ ├── hooks
│ │ │ └── useGithubLoggedIn.ts
│ │ │ ├── index.test.ts
│ │ │ └── index.ts
│ └── rag-ai
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── config.d.ts
│ │ ├── dev
│ │ └── index.tsx
│ │ ├── docs
│ │ ├── api-spec-query.png
│ │ ├── empty-modal.png
│ │ ├── petstore-rag-openapi-example.gif
│ │ └── simple-q-a.png
│ │ ├── package.json
│ │ └── src
│ │ ├── api
│ │ ├── client.ts
│ │ ├── index.ts
│ │ └── ragApi.ts
│ │ ├── components
│ │ ├── CodeHighlighter.tsx
│ │ └── RagModal
│ │ │ ├── EmbeddingsView.tsx
│ │ │ ├── QuestionBox.tsx
│ │ │ ├── RagModal.tsx
│ │ │ ├── ResultRenderer.tsx
│ │ │ ├── SidebarRagModal.tsx
│ │ │ ├── Thinking.tsx
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ ├── plugin.test.ts
│ │ ├── plugin.ts
│ │ ├── routes.ts
│ │ ├── setupTests.ts
│ │ └── types.ts
├── home
│ ├── backstage-plugin-home-markdown
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── catalog-info.yaml
│ │ ├── docs
│ │ │ └── home-page-markdown.png
│ │ ├── package.json
│ │ ├── rollup.config.js
│ │ └── src
│ │ │ ├── MarkdownCard
│ │ │ ├── Content.test.tsx
│ │ │ ├── Content.tsx
│ │ │ ├── index.ts
│ │ │ └── types.ts
│ │ │ ├── apis
│ │ │ ├── GithubApi.ts
│ │ │ ├── GithubClient.ts
│ │ │ ├── githubApiRef.ts
│ │ │ └── index.ts
│ │ │ ├── index.ts
│ │ │ ├── plugin.ts
│ │ │ ├── routes.ts
│ │ │ └── setupTests.ts
│ └── backstage-plugin-home-rss
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── catalog-info.yaml
│ │ ├── package.json
│ │ ├── rollup.config.js
│ │ └── src
│ │ ├── RSSCard
│ │ ├── Content.test.tsx
│ │ ├── Content.tsx
│ │ ├── index.ts
│ │ └── types.ts
│ │ ├── index.ts
│ │ ├── plugin.ts
│ │ ├── routes.ts
│ │ └── setupTests.ts
├── roadie-backstage-entity-validator
│ ├── .eslintrc.js
│ ├── CHANGELOG.md
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── index.ts
│ │ ├── relativeSpaceValidation.ts
│ │ ├── schemas
│ │ │ ├── annotations.schema.json
│ │ │ ├── product.schema.json
│ │ │ └── repository.schema.json
│ │ ├── validator.test.ts
│ │ └── validator.ts
│ ├── test.sh
│ └── types.d.ts
├── scaffolder-actions
│ ├── scaffolder-backend-argocd
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── catalog-info.yaml
│ │ ├── package.json
│ │ └── src
│ │ │ ├── actions
│ │ │ ├── index.ts
│ │ │ └── run
│ │ │ │ ├── argocd.test.ts
│ │ │ │ ├── argocd.ts
│ │ │ │ └── index.ts
│ │ │ ├── index.ts
│ │ │ └── module.ts
│ ├── scaffolder-backend-module-aws
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── catalog-info.yaml
│ │ ├── package.json
│ │ └── src
│ │ │ ├── actions
│ │ │ ├── ecr
│ │ │ │ ├── create.test.ts
│ │ │ │ ├── create.ts
│ │ │ │ └── index.ts
│ │ │ ├── index.ts
│ │ │ ├── s3
│ │ │ │ ├── cp.test.ts
│ │ │ │ ├── cp.ts
│ │ │ │ └── index.ts
│ │ │ └── secrets-manager
│ │ │ │ ├── create.test.ts
│ │ │ │ ├── create.ts
│ │ │ │ └── index.ts
│ │ │ ├── index.ts
│ │ │ └── module.ts
│ ├── scaffolder-backend-module-http-request
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── api-report.md
│ │ ├── catalog-info.yaml
│ │ ├── package.json
│ │ └── src
│ │ │ ├── actions
│ │ │ ├── index.ts
│ │ │ └── run
│ │ │ │ ├── backstageRequest.test.ts
│ │ │ │ ├── backstageRequest.ts
│ │ │ │ ├── helpers.test.ts
│ │ │ │ ├── helpers.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── types.ts
│ │ │ ├── index.ts
│ │ │ ├── module.ts
│ │ │ ├── new-backend.ts
│ │ │ └── setupTests.ts
│ └── scaffolder-backend-module-utils
│ │ ├── .eslintrc.js
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── catalog-info.yaml
│ │ ├── package.json
│ │ ├── setupTests.ts
│ │ └── src
│ │ ├── actions
│ │ ├── fs
│ │ │ ├── appendFile.test.ts
│ │ │ ├── appendFile.ts
│ │ │ ├── index.ts
│ │ │ ├── parseFile.test.ts
│ │ │ ├── parseFile.ts
│ │ │ ├── replaceInFile.test.ts
│ │ │ ├── replaceInFile.ts
│ │ │ ├── writeFile.test.ts
│ │ │ └── writeFile.ts
│ │ ├── index.ts
│ │ ├── jsonata
│ │ │ ├── index.ts
│ │ │ ├── json.test.ts
│ │ │ ├── json.ts
│ │ │ ├── jsonata.test.ts
│ │ │ ├── jsonata.ts
│ │ │ ├── yaml.test.ts
│ │ │ └── yaml.ts
│ │ ├── merge
│ │ │ ├── index.ts
│ │ │ ├── merge.test.ts
│ │ │ └── merge.ts
│ │ ├── serialize
│ │ │ ├── index.ts
│ │ │ ├── json.test.ts
│ │ │ ├── json.ts
│ │ │ ├── yaml.test.ts
│ │ │ └── yaml.ts
│ │ ├── sleep.test.ts
│ │ ├── sleep.ts
│ │ ├── zip.test.ts
│ │ └── zip.ts
│ │ ├── index.ts
│ │ ├── module.ts
│ │ ├── new-backend.ts
│ │ └── types.ts
└── scaffolder-field-extensions
│ └── scaffolder-frontend-module-http-request-field
│ ├── .eslintrc.js
│ ├── CHANGELOG.md
│ ├── README.md
│ ├── images
│ ├── dropdown_sample_closed.png
│ └── dropdown_sample_opened.png
│ ├── package.json
│ └── src
│ ├── components
│ └── SelectFieldFromApi
│ │ ├── SelectFieldFromApi.test.tsx
│ │ ├── SelectFieldFromApi.tsx
│ │ ├── index.ts
│ │ └── schema.ts
│ ├── hooks
│ └── useOauthSignIn.ts
│ ├── index.ts
│ ├── plugin.ts
│ ├── setupTests.ts
│ └── types.ts
├── scripts
├── check-if-release.js
├── copyright-header.txt
├── create-github-release.js
└── create-release-tag.js
├── tsconfig.json
└── yarn.lock
/.backstage/home-page.md:
--------------------------------------------------------------------------------
1 | # Awesome home page
2 |
3 | Company links
4 |
5 | New
6 |
7 | Issues
8 |
9 | Pull requests
10 |
11 | Discord
12 |
13 | 
14 |
15 | 
16 |
--------------------------------------------------------------------------------
/.changeset/README.md:
--------------------------------------------------------------------------------
1 | # Changesets
2 |
3 | Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
4 | with multi-package repos, or single-package repos to help you version and publish your code. You can
5 | find the full documentation for it [in our repository](https://github.com/changesets/changesets)
6 |
7 | We have a quick list of common questions to get you started engaging with this project in
8 | [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
9 |
--------------------------------------------------------------------------------
/.changeset/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://unpkg.com/@changesets/config@1.6.2/schema.json",
3 | "changelog": "@changesets/cli/changelog",
4 | "commit": false,
5 | "linked": [],
6 | "access": "restricted",
7 | "baseBranch": "main",
8 | "updateInternalDependencies": "patch",
9 | "ignore": []
10 | }
11 |
--------------------------------------------------------------------------------
/.changeset/gold-melons-brush.md:
--------------------------------------------------------------------------------
1 | ---
2 | '@roadiehq/backstage-plugin-argo-cd-backend': patch
3 | ---
4 |
5 | Use test-utils from backstage bundle.
6 |
--------------------------------------------------------------------------------
/.changeset/heavy-experts-train.md:
--------------------------------------------------------------------------------
1 | ---
2 | '@roadiehq/backstage-plugin-github-pull-requests': patch
3 | ---
4 |
5 | - Fix an issue that the GitHub Pull Requests Statistics ignores internal issues and shows undefined instead of an error message to the user.
6 | - Fix an issue that the GitHub Pull Requests Statistics card shows undefined (or an error) if a Pull Request without commits is consumed.
7 |
--------------------------------------------------------------------------------
/.changeset/ten-ants-end.md:
--------------------------------------------------------------------------------
1 | ---
2 | '@roadiehq/backstage-plugin-argo-cd-backend': patch
3 | ---
4 |
5 | Fixed the error that occurred when the provided Argo CD URL contained trailing slash
6 |
--------------------------------------------------------------------------------
/.changeset/tiny-beers-throw.md:
--------------------------------------------------------------------------------
1 | ---
2 | '@roadiehq/backstage-plugin-glean-backend': patch
3 | ---
4 |
5 | Remove backend-common dependency.
6 |
--------------------------------------------------------------------------------
/.dockerignore:
--------------------------------------------------------------------------------
1 | .git
2 | node_modules
3 | packages
4 | !packages/backend/dist
5 | plugins
6 | .yarn/cache
7 | .yarn/install-state.gz
8 |
--------------------------------------------------------------------------------
/.github/CODEOWNERS:
--------------------------------------------------------------------------------
1 | * @RoadieHQ/engineering
2 |
3 | # Argo CD Backend:
4 |
5 | /plugins/backend/backstage-plugin-argo-cd-backend @RoadieHQ/engineering @karlhaworth
6 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_template.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: 'Feature Request'
3 | about: 'Suggest new features and changes'
4 | labels: kind/enhancement
5 | ---
6 |
7 |
8 |
9 | ## Feature Suggestion
10 |
11 |
12 |
13 | ## Possible Implementation
14 |
15 |
16 |
17 | ## Context
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | #### :heavy_check_mark: Checklist
4 |
5 | - [ ] Added tests for new functionality and regression tests for bug fixes
6 | - [ ] Added changeset (run `yarn changeset` in the root)
7 | - [ ] Screenshots of before and after attached (for UI changes)
8 | - [ ] Added or updated documentation (if applicable)
9 |
--------------------------------------------------------------------------------
/.husky/pre-commit:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | . "$(dirname -- "$0")/_/husky.sh"
3 |
4 | yarn lint-staged
5 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | .yarn
2 | dist
3 | microsite
4 | coverage
5 | *.hbs
6 | templates
7 | api-report.md
8 | cli-report.md
9 | plugins/scaffolder-backend/sample-templates
10 | .vscode
11 | dist-types
12 |
13 | # reduce the barrier for adopters to add themselves
14 | ADOPTERS.md
15 |
16 | *.njs
17 |
--------------------------------------------------------------------------------
/.yarnrc.yml:
--------------------------------------------------------------------------------
1 | compressionLevel: mixed
2 |
3 | nodeLinker: node-modules
4 |
5 | plugins:
6 | - checksum: 3f0f3e2debfccaa85999007e42aed55409ba895e71bf2cfde4cf49210472b17d007dfefdffd38fc3685ceadaa842b5673cac68252766aec50b37837c8b086dfb
7 | path: .yarn/plugins/@yarnpkg/plugin-backstage.cjs
8 | spec: 'https://versions.backstage.io/v1/releases/1.40.2/yarn-plugin'
9 |
10 | yarnPath: .yarn/releases/yarn-4.9.2.cjs
11 |
--------------------------------------------------------------------------------
/OWNERS.md:
--------------------------------------------------------------------------------
1 | - See [CONTRIBUTING.md](CONTRIBUTING.md) for general contribution guidelines.
2 |
3 | # Maintainers
4 |
5 | - Irma Solakovic ([Irma12](https://github.com/Irma12))
6 | - Jussi Hallila ([Xantier](https://github.com/Xantier))
7 | - Brian Fletcher ([punkle](https://github.com/punkle))
8 |
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | ## Supported Versions
4 |
5 | | Version | Supported |
6 | | ------- | ------------------ |
7 | | 0.x | :white_check_mark: |
8 |
9 | ## Reporting a Vulnerability
10 |
11 | Please report security issues via security@roadie.io
12 |
--------------------------------------------------------------------------------
/app-config.production.yaml:
--------------------------------------------------------------------------------
1 | app:
2 | # Should be the same as backend.baseUrl when using the `app-backend` plugin
3 | baseUrl: http://localhost:7007
4 |
5 | backend:
6 | baseUrl: http://localhost:7007
7 | listen:
8 | port: 7007
9 |
--------------------------------------------------------------------------------
/backstage.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "1.40.2"
3 | }
4 |
--------------------------------------------------------------------------------
/catalog-info.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: backstage.io/v1alpha1
2 | kind: Component
3 | metadata:
4 | name: roadie-backstage-plugins
5 | description: An example of a Backstage application.
6 | title: Roadie Backstage Plugins
7 | spec:
8 | type: website
9 | owner: group:open-source
10 | lifecycle: production
11 |
12 | ---
13 | apiVersion: backstage.io/v1alpha1
14 | kind: Location
15 | metadata:
16 | name: roadie-backstage-plugins
17 | spec:
18 | targets:
19 | - ./plugins/**/catalog-info.yaml
20 | - ./utils/**/catalog-info.yaml
21 |
--------------------------------------------------------------------------------
/jest.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | // setupTestFrameworkScriptFile has been deprecated in
3 | // favor of setupFilesAfterEnv in jest 24
4 | setupFilesAfterEnv: ['./jest.setup.js'],
5 | verbose: true,
6 | };
7 |
--------------------------------------------------------------------------------
/jest.setup.js:
--------------------------------------------------------------------------------
1 | jest.setTimeout(30000);
2 |
--------------------------------------------------------------------------------
/packages/app/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
2 |
--------------------------------------------------------------------------------
/packages/app/e2e/fixtures/AWSLambda/AWSCredentials.json:
--------------------------------------------------------------------------------
1 | {
2 | "AccessKeyId": "test-key-id",
3 | "SecretAccessKey": "test-access-key",
4 | "SessionToken": "FwoGZXIvYXdztest1234==",
5 | "Expiration": "2024-11-12T21:19:39.000Z"
6 | }
7 |
--------------------------------------------------------------------------------
/packages/app/e2e/fixtures/ArgoCD/deploy-history-data.json:
--------------------------------------------------------------------------------
1 | {
2 | "author": "test-user",
3 | "date": "2023-03-20T18:44:10Z",
4 | "message": "Update README.md"
5 | }
6 |
--------------------------------------------------------------------------------
/packages/app/e2e/fixtures/Bugsnag/organisations.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "id": "129876sdfgh",
4 | "name": "RoadieHQTest",
5 | "slug": "roadie-test-organisation"
6 | }
7 | ]
8 |
--------------------------------------------------------------------------------
/packages/app/e2e/fixtures/Bugsnag/projects.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "id": "0987qwert!!",
4 | "api_key": "qwerty12345",
5 | "name": "Test bugsnag application",
6 | "slug": "test-bugsnag-app"
7 | }
8 | ]
9 |
--------------------------------------------------------------------------------
/packages/app/e2e/fixtures/Bugsnag/trends.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "from": "2021-09-05T09:17:17.384804Z",
4 | "to": "2021-09-15T09:17:17.384804Z",
5 | "events_count": 6
6 | },
7 | {
8 | "from": "2021-09-05T09:17:17.384804Z",
9 | "to": "2021-09-15T09:17:17.384804Z",
10 | "events_count": 3
11 | },
12 | {
13 | "from": "2021-09-05T09:17:17.384804Z",
14 | "to": "2021-09-15T09:17:17.384804Z",
15 | "events_count": 3
16 | },
17 | {
18 | "from": "2021-09-05T09:17:17.384804Z",
19 | "to": "2021-09-15T09:17:17.384804Z",
20 | "events_count": 2
21 | }
22 | ]
23 |
--------------------------------------------------------------------------------
/packages/app/e2e/fixtures/buildkite/pipeline.json:
--------------------------------------------------------------------------------
1 | {
2 | "default_branch": "foo"
3 | }
4 |
--------------------------------------------------------------------------------
/packages/app/e2e/fixtures/datadog/dashboard.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Test Dashboard
5 |
6 |
7 |
8 |
9 |
Test Dashboard Roadie
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/app/e2e/fixtures/datadog/datadogdashboard.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/packages/app/e2e/fixtures/githubInsights/compliance.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/packages/app/e2e/fixtures/githubInsights/languages.json:
--------------------------------------------------------------------------------
1 | {
2 | "data": {
3 | "JavaScript": 5229,
4 | "Dockerfile": 187
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/packages/app/e2e/fixtures/githubLogin/login.json:
--------------------------------------------------------------------------------
1 | {
2 | "backstageIdentity": {
3 | "idToken": "test-id-token",
4 | "id": "foobar",
5 | "token": "test-token",
6 | "identity": {
7 | "type": "user",
8 | "userEntityRef": "user:default/foobar",
9 | "ownershipEntityRefs": ["user:default/foobar"]
10 | }
11 | },
12 | "providerInfo": {
13 | "accessToken": "foo",
14 | "scope": "read:user repo read:org",
15 | "expiresInSeconds": 3600
16 | },
17 | "profile": {
18 | "email": "foo@bar.com",
19 | "picture": "awesomepicture",
20 | "displayName": "Foo Bar"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/packages/app/e2e/fixtures/jira/searchresult.json:
--------------------------------------------------------------------------------
1 | {
2 | "startAt": 0,
3 | "maxResults": 50,
4 | "total": 2,
5 | "issues": [
6 | {
7 | "self": "https://backstage-test.atlassian.net/rest/api/latest/status/10003",
8 | "id": "10003",
9 | "key": "10003",
10 | "fields": {
11 | "issuetype": {
12 | "id": 1,
13 | "name": "Task",
14 | "iconUrl": "http://example.com/avatar.jpg"
15 | }
16 | }
17 | },
18 | {
19 | "self": "https://backstage-test.atlassian.net/rest/api/latest/status/10003",
20 | "id": "10004",
21 | "key": "10004",
22 | "fields": {
23 | "issuetype": {
24 | "id": 3,
25 | "name": "New Feature",
26 | "iconUrl": "http://example.com/avatar.jpg"
27 | }
28 | }
29 | }
30 | ]
31 | }
32 |
--------------------------------------------------------------------------------
/packages/app/e2e/fixtures/prometheus/graphs.json:
--------------------------------------------------------------------------------
1 | {
2 | "status": "success",
3 | "data": {
4 | "resultType": "matrix",
5 | "result": [
6 | {
7 | "metric": {
8 | "__name__": "node_memory_Active_bytes",
9 | "instance": "test-instance"
10 | },
11 | "values": [
12 | [1633001642.261, "6461119616"],
13 | [1633001656.261, "6444519616"]
14 | ]
15 | }
16 | ]
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/packages/app/e2e/fixtures/prometheus/graphs2.json:
--------------------------------------------------------------------------------
1 | {
2 | "status": "success",
3 | "data": {
4 | "resultType": "matrix",
5 | "result": [
6 | {
7 | "metric": {
8 | "__name__": "memUsage",
9 | "component": "node-exporter"
10 | },
11 | "values": [
12 | [1633001642.261, "6115519616"],
13 | [1633001656.261, "6995519616"]
14 | ]
15 | }
16 | ]
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/packages/app/e2e/fixtures/securityInsights/alerts.json:
--------------------------------------------------------------------------------
1 | []
2 |
--------------------------------------------------------------------------------
/packages/app/public/android-chrome-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/packages/app/public/android-chrome-192x192.png
--------------------------------------------------------------------------------
/packages/app/public/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/packages/app/public/apple-touch-icon.png
--------------------------------------------------------------------------------
/packages/app/public/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/packages/app/public/favicon-16x16.png
--------------------------------------------------------------------------------
/packages/app/public/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/packages/app/public/favicon-32x32.png
--------------------------------------------------------------------------------
/packages/app/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/packages/app/public/favicon.ico
--------------------------------------------------------------------------------
/packages/app/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "Backstage",
3 | "name": "Backstage",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "48x48",
8 | "type": "image/png"
9 | }
10 | ],
11 | "start_url": "./index.html",
12 | "display": "standalone",
13 | "theme_color": "#000000",
14 | "background_color": "#ffffff"
15 | }
16 |
--------------------------------------------------------------------------------
/packages/app/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 |
--------------------------------------------------------------------------------
/packages/app/src/components/Root/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2020 Spotify AB
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | // eslint-disable-next-line notice/notice
18 | export { Root } from './Root';
19 |
--------------------------------------------------------------------------------
/packages/app/src/index.tsx:
--------------------------------------------------------------------------------
1 | // eslint-disable-next-line notice/notice
2 | import '@backstage/cli/asset-types';
3 | import ReactDOM from 'react-dom';
4 | import App from './App';
5 |
6 | ReactDOM.render(, document.getElementById('root'));
7 |
--------------------------------------------------------------------------------
/packages/app/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | // eslint-disable-next-line notice/notice
2 | import '@testing-library/jest-dom';
3 |
4 | Object.defineProperty(global, 'TransformStream', {
5 | value: require('node:stream/web').TransformStream,
6 | writable: true,
7 | });
8 |
--------------------------------------------------------------------------------
/packages/backend/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
2 |
--------------------------------------------------------------------------------
/plugins/backend/backstage-aws-backend/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, {
2 | rules: {
3 | 'notice/notice': 'off',
4 | '@typescript-eslint/camelcase': 0,
5 | 'no-console': [0],
6 | },
7 | });
8 |
--------------------------------------------------------------------------------
/plugins/backend/backstage-aws-backend/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export * from './service/router';
18 | export { awsBackendPlugin as default } from './plugin';
19 |
--------------------------------------------------------------------------------
/plugins/backend/backstage-aws-backend/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export {};
18 |
--------------------------------------------------------------------------------
/plugins/backend/backstage-plugin-argo-cd-backend/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, {
2 | rules: {
3 | 'notice/notice': 'off',
4 | '@typescript-eslint/camelcase': 0,
5 | 'no-console': [0],
6 | },
7 | });
8 |
--------------------------------------------------------------------------------
/plugins/backend/backstage-plugin-argo-cd-backend/dev/README.md:
--------------------------------------------------------------------------------
1 | # Local Development
2 |
3 | You can run `yarn start` in the root of this plugin and the standalone server will start on port 7007. To bypass authentication requirements you can disable the default auth policy in your local app config (`backend` -> `auth` -> `dangerouslyDisableDefaultAuthPolicy: true`), or you can temprorarily set the http router auth policy on the plugin to `unauthenticated` (`httpRouter.addAuthPolicy()`).
4 |
5 | You can also change the port if needed by setting the `backend` -> `listen` -> `port` configuration in your local yaml.
6 |
--------------------------------------------------------------------------------
/plugins/backend/backstage-plugin-argo-cd-backend/dev/index.ts:
--------------------------------------------------------------------------------
1 | import { createBackend } from '@backstage/backend-defaults';
2 |
3 | const backend = createBackend();
4 | backend.start();
5 |
--------------------------------------------------------------------------------
/plugins/backend/backstage-plugin-argo-cd-backend/images/azure-argo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/backend/backstage-plugin-argo-cd-backend/images/azure-argo.png
--------------------------------------------------------------------------------
/plugins/backend/backstage-plugin-argo-cd-backend/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './service/router';
2 | export * from './refs/argocdService.ref';
3 | export { ArgoService } from './service/argocd.service';
4 | export { ArgoCDPlugin as default } from './plugin';
5 |
--------------------------------------------------------------------------------
/plugins/backend/backstage-plugin-argo-cd-backend/src/refs/argocdService.ref.ts:
--------------------------------------------------------------------------------
1 | import {
2 | coreServices,
3 | createServiceFactory,
4 | createServiceRef,
5 | } from '@backstage/backend-plugin-api';
6 | import { ArgoService } from '../service/argocd.service';
7 | import { ArgoServiceApi } from '../service/types';
8 |
9 | export const argocdServiceRef = createServiceRef({
10 | id: 'argocd-service-backend',
11 | defaultFactory: async service =>
12 | createServiceFactory({
13 | service,
14 | deps: {
15 | config: coreServices.rootConfig,
16 | logger: coreServices.logger,
17 | },
18 | factory: deps => ArgoService.fromConfig(deps),
19 | }),
20 | });
21 |
--------------------------------------------------------------------------------
/plugins/backend/backstage-plugin-argo-cd-backend/src/service/timer.services.ts:
--------------------------------------------------------------------------------
1 | export function timer(ms: number) {
2 | return new Promise(resolve => setTimeout(resolve, ms));
3 | }
4 |
--------------------------------------------------------------------------------
/plugins/backend/backstage-plugin-argo-cd-backend/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | import fetchMock from 'jest-fetch-mock';
2 |
3 | jest.setMock('cross-fetch', fetchMock);
4 |
5 | export {};
6 |
--------------------------------------------------------------------------------
/plugins/backend/backstage-plugin-argo-cd-backend/src/utils/getArgoConfig.ts:
--------------------------------------------------------------------------------
1 | import { InstanceConfig } from '../service/types';
2 |
3 | export const getArgoConfigByInstanceName = ({
4 | argoConfigs,
5 | argoInstanceName,
6 | }: {
7 | argoConfigs: InstanceConfig[];
8 | argoInstanceName: string;
9 | }) => {
10 | const matchedArgoConfig = argoConfigs.find(
11 | configs => configs.name === argoInstanceName,
12 | );
13 | return matchedArgoConfig;
14 | };
15 |
--------------------------------------------------------------------------------
/plugins/backend/backstage-plugin-aws-auth/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
2 |
--------------------------------------------------------------------------------
/plugins/backend/backstage-plugin-aws-auth/catalog-info.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: backstage.io/v1alpha1
2 | kind: Component
3 | metadata:
4 | name: backstage-plugin-aws-auth
5 | title: Backstage Plugin AWS Auth
6 | description: |
7 | Backstage plugin to authenticate other plugins with AWS IAM.
8 | annotations:
9 | github.com/project-slug: roadiehq/backstage-plugin-aws-auth
10 | tags:
11 | - plugin
12 | - oss
13 | spec:
14 | type: library
15 | owner: group:roadie
16 | lifecycle: experimental
17 |
--------------------------------------------------------------------------------
/plugins/backend/backstage-plugin-aws-auth/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export * from './service/router';
17 |
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/.eslintrc.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
18 |
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export * from './providers';
18 | export * from './processors';
19 |
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/processors/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { AWSIAMRoleProcessor } from './AWSIAMRoleProcessor';
18 |
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/providers/AWSDynamoDbTableDataProvider.example.yaml.njs:
--------------------------------------------------------------------------------
1 | kind: Resource
2 | apiVersion: backstage.io/v1beta1
3 | metadata:
4 | name: {{ data.TableArn | to_entity_name }}
5 | annotations:
6 | amazon.com/dynamo-db-table-arn: {{ data.TableArn }}
7 | title: {{ data.TableName }}
8 | labels:
9 | {% for tag in tags %}
10 | {{ tag.Key }}: {{ tag.Value | replace(":", "-") | replace("/", "-") }}
11 | {% endfor %}
12 | spec:
13 | type: dynamo-db-table
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/providers/AWSDynamoDbTableProvider.example.yaml.njs:
--------------------------------------------------------------------------------
1 | kind: Resource
2 | apiVersion: backstage.io/v1beta1
3 | metadata:
4 | name: {{ data.TableArn | to_entity_name }}
5 | annotations:
6 | amazon.com/dynamo-db-table-arn: {{ data.TableArn }}
7 | title: {{ data.TableName }}
8 | labels:
9 | something: {{ tags['something'] | replace("/", "-") | replace("/", "-") | replace(":", "-") }}
10 | spec:
11 | type: dynamo-db-table
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/providers/AWSEBSVolumeProvider.example.yaml.njs:
--------------------------------------------------------------------------------
1 | kind: Resource
2 | apiVersion: backstage.io/v1beta1
3 | metadata:
4 | name: {{ data.VolumeId | to_entity_name }}
5 | annotations:
6 | amazonaws.com/ebs-volume-id: {{ data.VolumeId }}
7 | backstage.io/view-url: https://eu-west-1.console.aws.amazon.com/ec2/home?region=eu-west-1#VolumeDetails:volumeId={{ data.VolumeId }}
8 | title: {{ data.VolumeId }}
9 | labels:
10 | {% for tag in data.Tags %}
11 | {{ tag.Key }}: {{ tag.Value | replace(":", "-") | replace("/", "-") }}
12 | {% endfor %}
13 | spec:
14 | owner: unknown
15 | type: ebs-volume
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/providers/AWSEC2Provider.example.yaml.njs:
--------------------------------------------------------------------------------
1 | kind: Resource
2 | apiVersion: backstage.io/v1beta1
3 | metadata:
4 | name: {{ data.InstanceId }}
5 | title: {{ data.InstanceId }}
6 | annotations:
7 | amazon.com/ec2-instance-id: {{ data.InstanceId }}
8 | backstage.io/view-url: https://eu-west-1.console.aws.amazon.com/ec2/v2/home
9 | spec:
10 | type: ec2-instance
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/providers/AWSECRRepositoryEntityProvider.example.yaml.njs:
--------------------------------------------------------------------------------
1 | kind: Resource
2 | apiVersion: backstage.io/v1beta1
3 | metadata:
4 | name: {{ data.repositoryName }}
5 | tagImmutability: {{ data.imageTagMutability }}
6 | encryption: {{ data.encryptionConfiguration.encryptionType }}
7 | createdAt: {{ data.createdAt }}
8 | uri: {{ data.repositoryUri }}
9 | annotations:
10 | amazonaws.com/ecr-repository-arn: {{ data.repositoryArn }}
11 | title: {{ data.repositoryName }}
12 | spec:
13 | type: ecr-repository
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/providers/AWSElastiCacheEntityProvider.example.yaml.njs:
--------------------------------------------------------------------------------
1 | kind: Resource
2 | apiVersion: backstage.io/v1beta1
3 | metadata:
4 | name: {{ data.CacheClusterId }}
5 | title: {{ data.CacheClusterId }}
6 | engineVersion: {{ data.EngineVersion }}
7 | engine: {{ data.Engine }}
8 | annotations:
9 | "amazon.com/elasticache-cluster-arn": {{ data.ARN }}
10 | spec:
11 | type: elasticache-cluster
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/providers/AWSIAMRoleProvider.example.yaml.njs:
--------------------------------------------------------------------------------
1 | kind: Resource
2 | apiVersion: backstage.io/v1beta1
3 | metadata:
4 | name: {{ data.RoleName | to_entity_name }}
5 | annotations:
6 | amazon.com/iam-role-arn: {{ data.Arn }}
7 | title: {{ data.RoleName }}
8 | labels:
9 | {% if data.Tags %}
10 | {% for tag in data.Tags %}
11 | {{ tag.Key }}: {{ tag.Value | replace(":", "-") | replace("/", "-") }}
12 | {% endfor %}
13 | {% endif %}
14 | spec:
15 | type: aws-role
16 | owner: {{ accountId }}
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/providers/AWSIAMUserProvider.example.yaml.njs:
--------------------------------------------------------------------------------
1 | kind: User
2 | apiVersion: backstage.io/v1beta1
3 | metadata:
4 | name: {{ data.UserId | to_entity_name }}
5 | annotations:
6 | amazon.com/eks-cluster-arn: {{ data.Arn }}
7 | kubernetes.io/auth-provider: aws
8 | kubernetes.io/x-k8s-aws-id: {{ data.UserName }}
9 | title: {{ data.UserName }}
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/providers/AWSLambdaFunctionProvider.example.yaml.njs:
--------------------------------------------------------------------------------
1 | kind: Resource
2 | apiVersion: backstage.io/v1beta1
3 | metadata:
4 | name: {{ data.FunctionArn | to_entity_name }}
5 | annotations:
6 | amazon.com/lambda-function-arn: {{ data.FunctionArn }}
7 | backstage.io/view-url: "https://{{ region }}.console.aws.amazon.com/lambda/home?region={{ region }}#/functions/{{ data.FunctionName }}"
8 | title: {{ data.FunctionName }}
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/providers/AWSLoadBalancerProvider.example.yaml.njs:
--------------------------------------------------------------------------------
1 | kind: Resource
2 | apiVersion: backstage.io/v1beta1
3 | metadata:
4 | annotations:
5 | amazonaws.com/load-balancer-arn: {{ data.LoadBalancerArn }}
6 | amazonaws.com/load-balancer-dns-name: {{ data.DNSName }}
7 | backstage.io/view-url: https://{{ region }}.console.aws.amazon.com/ec2/home?region={{ region }}#LoadBalancers:loadBalancerId={{ data.LoadBalancerId }};sort=loadBalancerName
8 | title: {{ data.LoadBalancerName }}
9 | name: {{ data.LoadBalancerName }}
10 | dnsName: {{ data.DNSName }}
11 | scheme: {{ data.Scheme }}
12 | type: {{ data.Type }}
13 | state: {{ data.State.Code }}
14 | vpcId: {{ data.VpcId }}
15 | spec:
16 | type: load-balancer
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/providers/AWSOpenSearchEntityProvider.example.yaml.njs:
--------------------------------------------------------------------------------
1 | kind: Resource
2 | apiVersion: backstage.io/v1beta1
3 | metadata:
4 | name: {{ data.DomainName }}
5 | annotations:
6 | amazon.com/open-search-domain-arn: {{ data.ARN }}
7 | title: {{ data.DomainName }}
8 | storageType: EBS-{{ data.EBSOptions.VolumeType }}
9 | endpoint: {{ data.Endpoint }}
10 | engineVersion: {{ data.EngineVersion }}
11 | spec:
12 | type: opensearch-domain
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/providers/AWSOrganizationAccountsProvider.example.yaml.njs:
--------------------------------------------------------------------------------
1 | kind: Resource
2 | apiVersion: backstage.io/v1beta1
3 | metadata:
4 | name: {{ data.Arn | to_entity_name }}
5 | annotations: {}
6 | title: {{ data.Name }}
7 | joinedMethod: {{ data.JoinedMethod}}
8 | status: {{ data.Status}}
9 | spec:
10 | type: "aws-account"
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/providers/AWSRDSProvider.example.yaml.njs:
--------------------------------------------------------------------------------
1 | kind: Resource
2 | apiVersion: backstage.io/v1beta1
3 | metadata:
4 | name: {{ data.DBInstanceIdentifier }}
5 | annotations:
6 | amazon.com/rds-instance-arn: {{ data.DBInstanceArn }}
7 | backstage.io/view-url: https://console.aws.amazon.com/rds/home?region={{ region }}#database:id={{ data.DBInstanceIdentifier }}
8 | title: {{ data.DBInstanceIdentifier }}
9 | dbInstanceClass: {{ data.DBInstanceClass }}
10 | spec:
11 | type: rds-instance
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/providers/AWSS3BucketProvider.example.yaml.njs:
--------------------------------------------------------------------------------
1 | kind: Resource
2 | apiVersion: backstage.io/v1beta1
3 | metadata:
4 | name: {{ data.Name | to_entity_name }}
5 | annotations:
6 | amazonaws.com/s3-bucket-arn: arn:aws:s3:::{{ data.Name }}
7 | title: {{ data.Name }}
8 | labels:
9 | region: {{ region }}
10 | accountId: {{ accountId }}
11 | spec:
12 | type: s3-bucket
13 | owner: unknown
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/providers/AWSSNSTopicProvider.example.yaml.njs:
--------------------------------------------------------------------------------
1 | kind: Resource
2 | apiVersion: backstage.io/v1beta1
3 | metadata:
4 | name: {{ data.TopicArn | split(":") | last }}
5 | annotations:
6 | backstage.io/view-url: "https://console.aws.amazon.com/sns/v3/home?region={{ region }}#/topic/{{ data.TopicArn }}"
7 | title: {{ data.TopicArn | split(":") | last }}
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/providers/AWSSQSEntityProvider.example.yaml.njs:
--------------------------------------------------------------------------------
1 | kind: Resource
2 | apiVersion: backstage.io/v1beta1
3 | metadata:
4 | name: {{ data.QueueArn | split(":") | last }}
5 | title: {{ data.QueueArn | split(":") | last }}
6 | queueArn: {{ data.QueueArn }}
7 | annotations:
8 | amazon.com/sqs-queue-arn: {{ data.QueueArn }}
9 | labels:
10 | aws-sqs-region: {{ region }}
11 | spec:
12 | type: 'sqs-queue'
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/providers/AWSSecurityGroupProvider.example.yaml.njs:
--------------------------------------------------------------------------------
1 | kind: Resource
2 | apiVersion: backstage.io/v1beta1
3 | metadata:
4 | name: {{ data.GroupId }}
5 | title: {{ data.GroupName }}
6 | description: {{ data.Description }}
7 | vpcId: {{ data.VpcId }}
8 | groupName: {{ data.GroupName }}
9 | ingressRules: tcp:80 from 0.0.0.0/0; tcp:443 from sg-87654321
10 | egressRules: All:All to 0.0.0.0/0
11 | labels:
12 | Environment: production--staging
13 | annotations:
14 | amazonaws.com/security-group-id: {{ data.GroupId }}
15 | backstage.io/view-url: https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroup:groupId={{ data.GroupId }}
16 | spec:
17 | owner: unknown
18 | type: security-group
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/providers/AWSSubnetProvider.example.yaml.njs:
--------------------------------------------------------------------------------
1 | kind: Resource
2 | apiVersion: backstage.io/v1beta1
3 | metadata:
4 | name: {{ data.SubnetId }}
5 | annotations:
6 | amazonaws.com/subnet-id: {{ data.SubnetId }}
7 | backstage.io/view-url: https://{{ region }}.console.aws.amazon.com/vpc/home?region={{ region }}#SubnetDetails:subnetId={{ data.SubnetId }}
8 | vpcId: {{ data.VpcId }}
9 | state: {{ data.State }}
10 | defaultForAz: {{ data.DefaultForAz }}
11 | cidrBlock: {{ data.CidrBlock }}
12 | availableIpAddressCount: {{ data.AvailableIpAddressCount }}
13 | availabilityZone: {{ data.AvailabilityZone }}
14 | mapPublicIpOnLaunch: {{ data.MapPublicIpOnLaunch }}
15 | labels:
16 | Environment: production--staging
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/providers/AWSVPCProvider.example.yaml.njs:
--------------------------------------------------------------------------------
1 | kind: Resource
2 | apiVersion: backstage.io/v1beta1
3 | metadata:
4 | name: {{ data.VpcId }}
5 | annotations:
6 | amazonaws.com/vpc-id: {{ data.VpcId }}
7 | title: {{ data.VpcId }}
8 | state: {{ data.State }}
9 | spec:
10 | type: vpc
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-aws/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | import '@testing-library/jest-dom';
17 |
18 | export {};
19 |
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-gravatar/.eslintrc.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
18 |
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-gravatar/config.d.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export interface Config {}
18 |
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-gravatar/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export * from './processors';
18 |
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-gravatar/src/processors/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export { GravatarProcessor } from './GravatarProcessor';
17 |
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-gravatar/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export {};
18 |
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-okta/.eslintrc.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
18 |
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-okta/src/group-entity-provider.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export { oktaGroupEntityProviderModule as default } from './entity-provider-modules';
17 |
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-okta/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export * from './providers';
18 |
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-okta/src/org-entity-provider.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export { oktaOrgEntityProviderModule as default } from './entity-provider-modules';
17 |
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-okta/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export {};
18 |
--------------------------------------------------------------------------------
/plugins/backend/catalog-backend-module-okta/src/user-entity-provider.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export { oktaUserEntityProviderModule as default } from './entity-provider-modules';
17 |
--------------------------------------------------------------------------------
/plugins/backend/glean-backend/.eslintrc.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
18 |
--------------------------------------------------------------------------------
/plugins/backend/glean-backend/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # @roadiehq/backstage-plugin-glean-backend
2 |
3 | ## 1.0.1
4 |
5 | ### Patch Changes
6 |
7 | - fd1e7e6: Remove private flag from the plugin to publish
8 |
9 | ## 1.0.0
10 |
11 | ### Major Changes
12 |
13 | - 481af91: Release Glean plugin.
14 |
--------------------------------------------------------------------------------
/plugins/backend/glean-backend/README.md:
--------------------------------------------------------------------------------
1 | # Glean Backend
2 |
3 | Welcome to the Glean backend plugin!
4 |
5 | This backend plugin is used to make our Backstage content available in
6 | [Glean](https://glean.com/) — our internal search engine.
7 |
8 | ## Getting started
9 |
10 | This plugin has been added to the main backend app in this repository, meaning
11 | you'll be able to access it by running `yarn start-backend` in the root
12 | directory, and then make requests to
13 | [http://localhost:7007/api/glean](http://localhost:7007/api/glean).
14 |
--------------------------------------------------------------------------------
/plugins/backend/glean-backend/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2025 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export { gleanPlugin as default } from './plugin';
17 |
--------------------------------------------------------------------------------
/plugins/backend/glean-backend/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2025 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export {};
18 |
--------------------------------------------------------------------------------
/plugins/backend/rag-ai-backend-embeddings-aws/.eslintrc.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
18 |
--------------------------------------------------------------------------------
/plugins/backend/rag-ai-backend-embeddings-aws/src/module.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2025 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
--------------------------------------------------------------------------------
/plugins/backend/rag-ai-backend-embeddings-aws/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export {};
18 |
--------------------------------------------------------------------------------
/plugins/backend/rag-ai-backend-embeddings-openai/.eslintrc.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
18 |
--------------------------------------------------------------------------------
/plugins/backend/rag-ai-backend-embeddings-openai/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export {};
18 |
--------------------------------------------------------------------------------
/plugins/backend/rag-ai-backend-retrieval-augmenter/.eslintrc.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
18 |
--------------------------------------------------------------------------------
/plugins/backend/rag-ai-backend-retrieval-augmenter/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export * from './indexing';
18 | export * from './retrieval';
19 | export * from './defaultInitializer';
20 |
--------------------------------------------------------------------------------
/plugins/backend/rag-ai-backend-retrieval-augmenter/src/retrieval/routers/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export { SourceBasedRetrievalRouter } from './SourceBasedRetrievalRouter';
17 |
--------------------------------------------------------------------------------
/plugins/backend/rag-ai-backend-retrieval-augmenter/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export {};
18 |
--------------------------------------------------------------------------------
/plugins/backend/rag-ai-backend/.eslintrc.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
18 |
--------------------------------------------------------------------------------
/plugins/backend/rag-ai-backend/docs/data-flow-diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/backend/rag-ai-backend/docs/data-flow-diagram.png
--------------------------------------------------------------------------------
/plugins/backend/rag-ai-backend/docs/question-flow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/backend/rag-ai-backend/docs/question-flow.png
--------------------------------------------------------------------------------
/plugins/backend/rag-ai-backend/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export * from './service';
18 | export { ragAiPlugin as default } from './plugin';
19 |
--------------------------------------------------------------------------------
/plugins/backend/rag-ai-backend/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export {};
18 |
--------------------------------------------------------------------------------
/plugins/backend/rag-ai-node/.eslintrc.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
18 |
--------------------------------------------------------------------------------
/plugins/backend/rag-ai-node/README.md:
--------------------------------------------------------------------------------
1 |
2 |

3 |
4 |
5 | > ⚠️ **Reference Implementation Only**
6 | > The rag-ai plugin and its modules are a reference implementation provided for demonstration and educational purposes.
7 | > We provide minimal support for these components and do not actively maintain or update them.
8 |
9 | ---
10 |
11 | # @roadiehq/rag-ai-node
12 |
13 | This package contains types and interfaces to support RAG AI backend modules.
14 |
15 | ---
16 |
17 | Roadie gives you a hassle-free, fully customisable SaaS Backstage. Find out more here: [https://roadie.io](https://roadie.io).
18 |
--------------------------------------------------------------------------------
/plugins/backend/rag-ai-node/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export * from './types';
17 | export * from './extensions';
18 |
--------------------------------------------------------------------------------
/plugins/backend/rag-ai-node/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export {};
18 |
--------------------------------------------------------------------------------
/plugins/backend/rag-ai-storage-pgvector/.eslintrc.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
18 |
--------------------------------------------------------------------------------
/plugins/backend/rag-ai-storage-pgvector/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export * from './service';
18 |
--------------------------------------------------------------------------------
/plugins/backend/rag-ai-storage-pgvector/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export {};
18 |
--------------------------------------------------------------------------------
/plugins/backend/wiz-backend/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
2 |
--------------------------------------------------------------------------------
/plugins/backend/wiz-backend/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export * from './service';
17 | export { wizPlugin as default } from './plugin';
18 |
--------------------------------------------------------------------------------
/plugins/backend/wiz-backend/src/service/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export * from './WizClient';
17 | export * from './router';
18 |
--------------------------------------------------------------------------------
/plugins/backend/wiz-backend/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export {};
17 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-argo-cd/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, {
2 | rules: {
3 | 'notice/notice': 'off',
4 | '@typescript-eslint/camelcase': 0,
5 | 'no-console': [0],
6 | },
7 | });
8 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-argo-cd/docs/argo-cd-plugin-history-card.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-argo-cd/docs/argo-cd-plugin-history-card.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-argo-cd/docs/argo-cd-plugin-overview-card-details.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-argo-cd/docs/argo-cd-plugin-overview-card-details.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-argo-cd/docs/argo-cd-plugin-overview-card.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-argo-cd/docs/argo-cd-plugin-overview-card.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-argo-cd/docs/argo-cd-plugin.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-argo-cd/docs/argo-cd-plugin.webp
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-argo-cd/docs/index.md:
--------------------------------------------------------------------------------
1 | Docs go here
2 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-argo-cd/docs/releasing.md:
--------------------------------------------------------------------------------
1 | # How to release
2 |
3 | This plugin uses the [npm-publish-action](https://github.com/marketplace/actions/publish-to-npm) GutHub Action to automate releases. It expects commits to be titled in a very specific way.
4 |
5 | To publish a new version,
6 |
7 | 1. Manually bump the version in the `package.json` file.
8 | 2. Commit the version bump the exact title: "Release 1.2.3".
9 |
10 | Do **not** use `yarn version --new-version [version]`. Doing so will automatically add a commit
11 | and tag which will then clash with the commit and tag that the automation creates.
12 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-argo-cd/mkdocs.yml:
--------------------------------------------------------------------------------
1 | site_name: 'backstage-plugin-argo-cd'
2 |
3 | nav:
4 | - Home: index.md
5 | - Releasing: releasing.md
6 |
7 | plugins:
8 | - techdocs-core
9 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-argo-cd/src/alpha.ts:
--------------------------------------------------------------------------------
1 | export * from './alpha/index';
2 | export { default } from './alpha/index';
3 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-argo-cd/src/alpha/entityCards.tsx:
--------------------------------------------------------------------------------
1 | import { EntityCardBlueprint } from '@backstage/plugin-catalog-react/alpha';
2 |
3 | /**
4 | * @alpha
5 | */
6 | export const entityArgoCDOverviewCard = EntityCardBlueprint.make({
7 | name: 'overviewCard',
8 | params: {
9 | filter: 'kind:component',
10 | loader: () =>
11 | import('../components/ArgoCDDetailsCard').then(m => (
12 |
13 | )),
14 | },
15 | });
16 |
17 | /**
18 | * @alpha
19 | */
20 | export const entityArgoCDHistoryCard: any = EntityCardBlueprint.make({
21 | name: 'historyCard',
22 | params: {
23 | filter: 'kind:component',
24 | loader: () =>
25 | import('../components/ArgoCDHistoryCard').then(m => (
26 |
27 | )),
28 | },
29 | });
30 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-argo-cd/src/alpha/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './plugin';
2 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-argo-cd/src/conditions.ts:
--------------------------------------------------------------------------------
1 | import { Entity } from '@backstage/catalog-model';
2 | import {
3 | ARGOCD_ANNOTATION_APP_NAME,
4 | ARGOCD_ANNOTATION_APP_SELECTOR,
5 | ARGOCD_ANNOTATION_PROJECT_NAME,
6 | } from './components/useArgoCDAppData';
7 |
8 | export const isArgocdAvailable = (entity: Entity) =>
9 | Boolean(entity?.metadata.annotations?.[ARGOCD_ANNOTATION_APP_NAME]) ||
10 | Boolean(entity?.metadata.annotations?.[ARGOCD_ANNOTATION_APP_SELECTOR]) ||
11 | Boolean(entity?.metadata.annotations?.[ARGOCD_ANNOTATION_PROJECT_NAME]);
12 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-argo-cd/src/index.ts:
--------------------------------------------------------------------------------
1 | export {
2 | argocdPlugin as plugin,
3 | argocdPlugin,
4 | EntityArgoCDContent,
5 | EntityArgoCDOverviewCard,
6 | EntityArgoCDHistoryCard,
7 | } from './plugin';
8 | export * from './api';
9 | export { isArgocdAvailable } from './conditions';
10 | export {
11 | ARGOCD_ANNOTATION_APP_NAME,
12 | ARGOCD_ANNOTATION_APP_SELECTOR,
13 | ARGOCD_ANNOTATION_APP_NAMESPACE,
14 | ARGOCD_ANNOTATION_PROJECT_NAME,
15 | ARGOCD_ANNOTATION_PROXY_URL,
16 | } from './components/useArgoCDAppData';
17 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-aws-lambda/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, {
2 | rules: {
3 | 'notice/notice': 'off',
4 | },
5 | });
6 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-aws-lambda/.npmrc:
--------------------------------------------------------------------------------
1 | registry=https://registry.npmjs.org/
2 | engine-strict=true
3 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-aws-lambda/docs/lambda-widget.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-aws-lambda/docs/lambda-widget.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-aws-lambda/src/api/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export * from './AWSLambdaApi';
18 | export * from './AWSLambdaClient';
19 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-aws-lambda/src/state/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export * from './AppState';
18 | export * from './useSettings';
19 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-aws-lambda/src/types.ts:
--------------------------------------------------------------------------------
1 | export type LambdaData = {
2 | region: string;
3 | functionName: string;
4 | codeSize: number;
5 | description: string;
6 | lastModifiedDate: string;
7 | runtime: string;
8 | memory: number;
9 | state: string;
10 | lastUpdateStatus: string;
11 | lastUpdateStatusReason: string;
12 | };
13 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-aws/.eslintrc.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-aws/README.md:
--------------------------------------------------------------------------------
1 | # backstage-plugin-aws
2 |
3 | To use this plugin, you will need to add the cards to the entity page in the frontend app.
4 |
5 | Edit the `packages/app/src/components/catalog/EntityPage.tsx` and add the imports
6 |
7 | ```typescript jsx
8 | import {
9 | S3BucketCard,
10 | LambdaFunctionCard,
11 | IAMUserCard,
12 | } from '@roadiehq/backstage-plugin-aws';
13 | ```
14 |
15 | Then add the following components:
16 |
17 | ```typescript jsx
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | ```
28 |
29 | ---
30 |
31 | Roadie gives you a hassle-free, fully customisable SaaS Backstage. Find out more here: [https://roadie.io](https://roadie.io).
32 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-aws/src/components/EKSClusterCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { EKSClusterCard } from './EKSClusterCard';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-aws/src/components/IAMRoleCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { IAMRoleCard } from './IAMRoleCard';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-aws/src/components/IAMUserCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { IAMUserCard } from './IAMUserCard';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-aws/src/components/LambdaFunctionCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { LambdaFunctionCard } from './LambdaFunctionCard';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-aws/src/components/S3BucketCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { S3BucketCard } from './S3BucketCard';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-aws/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export * from './plugin';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-aws/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import '@testing-library/jest-dom';
18 | import 'cross-fetch/polyfill';
19 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-bitbucket-pullrequest/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
2 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-bitbucket-pullrequest/docs/bitbucketprimg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-bitbucket-pullrequest/docs/bitbucketprimg.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-bitbucket-pullrequest/docs/index.md:
--------------------------------------------------------------------------------
1 | Docs go here
2 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-bitbucket-pullrequest/docs/releasing.md:
--------------------------------------------------------------------------------
1 | # How to release
2 |
3 | This plugin uses the [npm-publish-action](https://github.com/marketplace/actions/publish-to-npm) GutHub Action to automate releases. It expects commits to be titled in a very specific way.
4 |
5 | To publish a new version,
6 |
7 | 1. Manually bump the version in the `package.json` file.
8 | 2. Commit the version bump the exact title: "Release 1.2.3".
9 |
10 | Do **not** use `yarn version --new-version [version]`. Doing so will automatically add a commit
11 | and tag which will then clash with the commit and tag that the automation creates.
12 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-bitbucket-pullrequest/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export { bitbucketPlugin, EntityBitbucketPullRequestsContent } from './plugin';
17 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-bugsnag/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
2 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-bugsnag/.npmrc:
--------------------------------------------------------------------------------
1 | registry=https://registry.npmjs.org/
2 | engine-strict=true
3 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-bugsnag/docs/backstage-bugsnag-plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-bugsnag/docs/backstage-bugsnag-plugin.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-bugsnag/src/api/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export * from './BugsnagApi';
18 | export * from './BugsnagClient';
19 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-bugsnag/src/components/ErrorsOverviewComponent/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { ErrorsOverview } from './ErrorsOverview';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-bugsnag/src/components/ErrorsTableComponent/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { ErrorsTable } from './ErrorsTable';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-bugsnag/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import '@testing-library/jest-dom';
18 | import 'cross-fetch/polyfill';
19 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-buildkite/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, {
2 | rules: {
3 | 'notice/notice': 'off',
4 | },
5 | });
6 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-buildkite/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://registry.npmjs.org/
2 | engine-strict=true
3 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-buildkite/dev/index.tsx:
--------------------------------------------------------------------------------
1 | import { createDevApp } from '@backstage/dev-utils';
2 | import { buildkitePlugin } from '../src';
3 |
4 | createDevApp().registerPlugin(buildkitePlugin).render();
5 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-buildkite/docs/buildkite-plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-buildkite/docs/buildkite-plugin.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-buildkite/plugin.yml:
--------------------------------------------------------------------------------
1 | name: Buildkite Backstage plugin
2 | description: View recent builds for your Backstage service catalog components.
3 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-buildkite/src/components/BuildKiteBuildView/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { default } from './BuildKiteBuildView';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-buildkite/src/components/BuildKiteBuildsTable/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { default } from './BuildKiteBuildsTable';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-cloudsmith/.eslintrc.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-cloudsmith/homepage-cloudsmith.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-cloudsmith/homepage-cloudsmith.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-cloudsmith/src/components/CloudsmithPackageListCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { Content } from './Content';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-cloudsmith/src/components/CloudsmithQuotaCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { Content } from './Content';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-cloudsmith/src/components/CloudsmithRepositoryAuditLogCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { Content } from './Content';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-cloudsmith/src/components/CloudsmithRepositorySecurityCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { Content } from './Content';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-cloudsmith/src/components/CloudsmithStatsCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { Content } from './Content';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-cloudsmith/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export * from './plugin';
18 | export { cloudsmithPlugin } from './plugin';
19 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-cloudsmith/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import '@testing-library/jest-dom';
18 | import 'cross-fetch/polyfill';
19 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-datadog/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, {
2 | rules: {
3 | 'notice/notice': 'off',
4 | '@typescript-eslint/camelcase': 0,
5 | },
6 | });
7 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-datadog/dev/index.tsx:
--------------------------------------------------------------------------------
1 | import { createDevApp } from '@backstage/dev-utils';
2 | import { datadogPlugin } from '../src/plugin';
3 |
4 | createDevApp().registerPlugin(datadogPlugin).render();
5 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-datadog/docs/datadog-widget.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-datadog/docs/datadog-widget.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-datadog/docs/dd-backstage-tab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-datadog/docs/dd-backstage-tab.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-datadog/docs/dd-dashboard-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-datadog/docs/dd-dashboard-2.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-datadog/docs/dd-dashboard-share.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-datadog/docs/dd-dashboard-share.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-datadog/docs/dd-dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-datadog/docs/dd-dashboard.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-datadog/docs/dd-graph-overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-datadog/docs/dd-graph-overview.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-datadog/docs/dd-graph-share.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-datadog/docs/dd-graph-share.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-datadog/src/alpha.ts:
--------------------------------------------------------------------------------
1 | import { convertLegacyRouteRefs } from '@backstage/core-compat-api';
2 | import {
3 | FrontendPlugin,
4 | createFrontendPlugin,
5 | } from '@backstage/frontend-plugin-api';
6 | import { entityContentRouteRef } from './plugin';
7 | import {
8 | datadogApi,
9 | entityDatadogContent,
10 | entityDatadogGraphCard,
11 | } from './alpha/index';
12 |
13 | /**
14 | * @alpha
15 | */
16 | const plugin: FrontendPlugin = createFrontendPlugin({
17 | id: 'datadog',
18 | // bind all the extensions to the plugin
19 | extensions: [datadogApi, entityDatadogContent, entityDatadogGraphCard],
20 | // convert old route refs to the new system
21 | routes: convertLegacyRouteRefs({
22 | entityContent: entityContentRouteRef,
23 | }),
24 | });
25 |
26 | export default plugin;
27 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-datadog/src/alpha/apis.ts:
--------------------------------------------------------------------------------
1 | import {
2 | ApiBlueprint,
3 | createApiFactory,
4 | discoveryApiRef,
5 | } from '@backstage/frontend-plugin-api';
6 | import { datadogApiRef, DatadogApiClient } from '../api';
7 |
8 | /**
9 | * @alpha
10 | */
11 | export const datadogApi = ApiBlueprint.make({
12 | params: {
13 | factory: createApiFactory({
14 | api: datadogApiRef,
15 | deps: { discoveryApi: discoveryApiRef },
16 | factory: ({ discoveryApi }) => new DatadogApiClient({ discoveryApi }),
17 | }),
18 | },
19 | });
20 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-datadog/src/alpha/entityCards.tsx:
--------------------------------------------------------------------------------
1 | import { EntityCardBlueprint } from '@backstage/plugin-catalog-react/alpha';
2 | import { isDatadogGraphAvailable } from '../plugin';
3 |
4 | /**
5 | * @alpha
6 | */
7 | export const entityDatadogGraphCard = EntityCardBlueprint.make({
8 | name: 'datadog-graph',
9 | params: {
10 | filter: isDatadogGraphAvailable,
11 | loader: () =>
12 | import('../components/GraphWidget').then(m => ),
13 | },
14 | });
15 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-datadog/src/alpha/entityContent.tsx:
--------------------------------------------------------------------------------
1 | import {
2 | compatWrapper,
3 | convertLegacyRouteRef,
4 | } from '@backstage/core-compat-api';
5 | import { EntityContentBlueprint } from '@backstage/plugin-catalog-react/alpha';
6 | import { entityContentRouteRef, isDatadogDashboardAvailable } from '../plugin';
7 |
8 | /**
9 | * @alpha
10 | */
11 | export const entityDatadogContent = EntityContentBlueprint.make({
12 | name: 'entity',
13 | params: {
14 | defaultPath: '/datadog',
15 | defaultTitle: 'Datadog',
16 | filter: isDatadogDashboardAvailable,
17 | routeRef: convertLegacyRouteRef(entityContentRouteRef),
18 | loader: () => import('../Router').then(m => compatWrapper()),
19 | },
20 | });
21 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-datadog/src/alpha/index.ts:
--------------------------------------------------------------------------------
1 | export * from './apis';
2 | export * from './entityCards';
3 | export * from './entityContent';
4 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-datadog/src/api/index.ts:
--------------------------------------------------------------------------------
1 | import { DiscoveryApi } from '@backstage/core-plugin-api';
2 | import { ApiRef, createApiRef } from '@backstage/frontend-plugin-api';
3 |
4 | export interface DatadogApi {}
5 |
6 | export const datadogApiRef: ApiRef = createApiRef({
7 | id: 'plugin.datadog.service',
8 | });
9 |
10 | export type Options = {
11 | discoveryApi: DiscoveryApi;
12 | proxyPath?: string;
13 | };
14 |
15 | export class DatadogApiClient implements DatadogApi {
16 | // @ts-ignore
17 | private readonly discoveryApi: DiscoveryApi;
18 |
19 | constructor(options: Options) {
20 | this.discoveryApi = options.discoveryApi;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-datadog/src/index.ts:
--------------------------------------------------------------------------------
1 | export {
2 | datadogPlugin as plugin,
3 | isDatadogGraphAvailable,
4 | isDatadogDashboardAvailable,
5 | isDatadogAvailable,
6 | EntityDatadogGraphCard,
7 | EntityDatadogContent,
8 | } from './plugin';
9 | export * from './api';
10 | export * from './Router';
11 | export { GraphWidget } from './components/GraphWidget';
12 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-datadog/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import '@testing-library/jest-dom';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-datadog/src/types.ts:
--------------------------------------------------------------------------------
1 | export type DataDogResponse = {};
2 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-insights/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
2 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-insights/.npmrc:
--------------------------------------------------------------------------------
1 | registry=https://registry.npmjs.org/
2 | engine-strict=true
3 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-insights/app-config.yaml:
--------------------------------------------------------------------------------
1 | # Stub app config needed to run with yarn start
2 | app:
3 | title: backstage example app
4 | baseUrl: http://localhost:3000
5 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-insights/docs/code-insights-plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-github-insights/docs/code-insights-plugin.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-insights/docs/compliance-report-widget.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-github-insights/docs/compliance-report-widget.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-insights/docs/contributors-widget.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-github-insights/docs/contributors-widget.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-insights/docs/environments-widget.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-github-insights/docs/environments-widget.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-insights/docs/languages-widget.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-github-insights/docs/languages-widget.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-insights/docs/readme-widget.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-github-insights/docs/readme-widget.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-insights/docs/releases-widget.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-github-insights/docs/releases-widget.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-insights/src/components/InsightsPage/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { InsightsPage } from './InsightsPage';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-insights/src/components/Widgets/ComplianceCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { default } from './ComplianceCard';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-insights/src/components/Widgets/ContributorsCard/components/Contributor/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { default } from './Contributor';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-insights/src/components/Widgets/ContributorsCard/components/ContributorsList/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { default } from './ContributorsList';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-insights/src/components/Widgets/ContributorsCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { default } from './ContributorsCard';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-insights/src/components/Widgets/EnvironmentsCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { default } from './EnvironmentsCard';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-insights/src/components/Widgets/LanguagesCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { default } from './LanguagesCard';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-insights/src/components/Widgets/MarkdownContent/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { default } from './MarkdownContent';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-insights/src/components/Widgets/ReadMeCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { default } from './ReadMeCard';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-insights/src/components/Widgets/ReleasesCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { default } from './ReleasesCard';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-pull-requests/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, {
2 | rules: {
3 | 'notice/notice': 'off',
4 | },
5 | });
6 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-pull-requests/.npmrc:
--------------------------------------------------------------------------------
1 | registry=https://registry.npmjs.org/
2 | engine-strict=true
3 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-pull-requests/app-config.yaml:
--------------------------------------------------------------------------------
1 | # Stub app config needed to run with yarn start
2 | app:
3 | title: backstage example app
4 | baseUrl: http://localhost:3000
5 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-pull-requests/docs/github-pullrequests-widget.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-github-pull-requests/docs/github-pullrequests-widget.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-pull-requests/docs/homepage-components.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-github-pull-requests/docs/homepage-components.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-pull-requests/docs/index.md:
--------------------------------------------------------------------------------
1 | Docs go here
2 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-pull-requests/docs/list-of-pull-requests-and-stats-tab-view.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-github-pull-requests/docs/list-of-pull-requests-and-stats-tab-view.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-pull-requests/docs/list-of-pull-requests-and-stats.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-github-pull-requests/docs/list-of-pull-requests-and-stats.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-pull-requests/docs/list-of-team-assigned-prs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-github-pull-requests/docs/list-of-team-assigned-prs.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-pull-requests/docs/releasing.md:
--------------------------------------------------------------------------------
1 | # How to release
2 |
3 | This plugin uses the [npm-publish-action](https://github.com/marketplace/actions/publish-to-npm) GutHub Action to automate releases. It expects commits to be titled in a very specific way.
4 |
5 | To publish a new version,
6 |
7 | 1. Manually bump the version in the `package.json` file.
8 | 2. Commit the version bump the exact title: "Release 1.2.3".
9 |
10 | Do **not** use `yarn version --new-version [version]`. Doing so will automatically add a commit
11 | and tag which will then clash with the commit and tag that the automation creates.
12 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-pull-requests/mkdocs.yml:
--------------------------------------------------------------------------------
1 | site_name: 'backstage-plugin-github-pull-requests'
2 |
3 | nav:
4 | - Home: index.md
5 | - Releasing: releasing.md
6 |
7 | plugins:
8 | - techdocs-core
9 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-pull-requests/src/api/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export * from './GithubPullRequestsApi';
18 | export * from './GithubPullRequestsClient';
19 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-pull-requests/src/components/GroupPullRequestsCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed under the Apache License, Version 2.0 (the "License");
3 | * you may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | */
14 | export { Content } from './Content';
15 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-pull-requests/src/components/Home/RequestedReviewsCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { Content } from './Content';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-pull-requests/src/components/Home/YourOpenPullRequestsCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { Content } from './Content';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-pull-requests/src/components/PullRequestsPage/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { default } from './PullRequestsPage';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-pull-requests/src/components/PullRequestsStatsCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { default as PullRequestsStatsCard } from './PullRequestsStatsCard';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-pull-requests/src/mocks/githubAuthApi.ts:
--------------------------------------------------------------------------------
1 | const mockAccessToken = jest
2 | .fn()
3 | .mockImplementation(async (_: string[]) => 'test-token');
4 |
5 | const getMockGithubAuth = (state: 'SignedIn' | 'SignedOut') => ({
6 | getAccessToken: mockAccessToken,
7 | sessionState$: jest.fn(() => ({
8 | subscribe: (fn: (a: string) => void) => {
9 | fn(state);
10 | return { unsubscribe: jest.fn() };
11 | },
12 | })),
13 | });
14 |
15 | export const SignedInMockGithubAuthState = getMockGithubAuth('SignedIn');
16 | export const SignedOutMockGithubAuthState = getMockGithubAuth('SignedOut');
17 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-github-pull-requests/src/utils/githubUtils.ts:
--------------------------------------------------------------------------------
1 | import {
2 | ANNOTATION_LOCATION,
3 | ANNOTATION_SOURCE_LOCATION,
4 | Entity,
5 | } from '@backstage/catalog-model';
6 | import gitUrlParse from 'git-url-parse';
7 |
8 | export const getHostname = (entity: Entity) => {
9 | const location =
10 | entity?.metadata.annotations?.[ANNOTATION_SOURCE_LOCATION] ??
11 | entity?.metadata.annotations?.[ANNOTATION_LOCATION];
12 |
13 | return location?.startsWith('url:')
14 | ? gitUrlParse(location.slice(4)).resource
15 | : undefined;
16 | };
17 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-iframe/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, {
2 | rules: {
3 | 'notice/notice': 'off',
4 | },
5 | });
6 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-iframe/app-config.yaml:
--------------------------------------------------------------------------------
1 | # Stub app config needed to run with yarn start
2 | app:
3 | title: backstage example app
4 | baseUrl: http://localhost:3000
5 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-iframe/src/components/ErrorComponent.tsx:
--------------------------------------------------------------------------------
1 | import { Grid, Typography } from '@material-ui/core';
2 |
3 | export const ErrorComponent = ({ errorMessage }: { errorMessage: string }) => {
4 | return (
5 |
6 |
7 | {errorMessage}
8 |
9 |
10 | );
11 | };
12 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-iframe/src/components/index.ts:
--------------------------------------------------------------------------------
1 | export { IFrameCard } from './IFrameComponent';
2 | export { IFramePage } from './IFramePage';
3 | export { IFrameContent } from './IFrameContent';
4 | export { Content } from './HomePageCard';
5 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-iframe/src/components/utils/helpers.ts:
--------------------------------------------------------------------------------
1 | export const determineError = (
2 | src: string,
3 | allowList: string[] | undefined,
4 | ) => {
5 | if (src === '') {
6 | return 'No src field provided. Please pass it in as a prop to populate the iframe.';
7 | } else if (!src.startsWith('https://')) {
8 | return `Src '${src}' for Iframe must be a https protocol but is not.`;
9 | } else if (src && allowList && !allowList.includes(new URL(src).hostname)) {
10 | return `Src ${src} for Iframe is not included in the allowlist ${allowList.join(
11 | ',',
12 | )}.`;
13 | }
14 | return '';
15 | };
16 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-iframe/src/index.ts:
--------------------------------------------------------------------------------
1 | export {
2 | iframePlugin,
3 | EntityIFrameCard,
4 | IFramePage,
5 | EntityIFrameContent,
6 | HomePageIFrameCard,
7 | } from './plugin';
8 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-jira/.changeset/silent-pots-sip.md:
--------------------------------------------------------------------------------
1 | ---
2 | '@roadiehq/backstage-plugin-jira': patch
3 | ---
4 |
5 | Jira tile no longer makes separate unnecessary API calls to get issue counts for issue types.
6 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-jira/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
2 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-jira/.npmrc:
--------------------------------------------------------------------------------
1 | registry=https://registry.npmjs.org/
2 | engine-strict=true
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-jira/docs/index.md:
--------------------------------------------------------------------------------
1 | Docs go here
2 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-jira/docs/jira-plugin-issues-view.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-jira/docs/jira-plugin-issues-view.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-jira/docs/jira-plugin.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-jira/docs/jira-plugin.gif
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-jira/docs/my-jira-tickets-card.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-jira/docs/my-jira-tickets-card.jpg
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-jira/docs/releasing.md:
--------------------------------------------------------------------------------
1 | # How to release
2 |
3 | This plugin uses the [npm-publish-action](https://github.com/marketplace/actions/publish-to-npm) GutHub Action to automate releases. It expects commits to be titled in a very specific way.
4 |
5 | To publish a new version,
6 |
7 | 1. Manually bump the version in the `package.json` file.
8 | 2. Commit the version bump the exact title: "Release 1.2.3".
9 |
10 | Do **not** use `yarn version --new-version [version]`. Doing so will automatically add a commit
11 | and tag which will then clash with the commit and tag that the automation creates.
12 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-jira/src/api/strategies/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2025 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export * from './base';
18 | export * from './factory';
19 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-jira/src/components/EntityJiraQueryCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { EntityJiraQueryCard } from './EntityJiraQueryCard';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-jira/src/components/Home/MyJiraTicketsCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { Content } from './Content';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-jira/src/components/IssuesTable/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export * from './IssuesTable';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-jira/src/components/JiraOverviewCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { JiraOverviewCard } from './JiraOverviewCard';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-jira/src/components/JiraQueryCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export * from './JiraQueryCard';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-jira/techdocs.yml:
--------------------------------------------------------------------------------
1 | site_name: 'backstage-plugin-jira'
2 |
3 | nav:
4 | - Home: index.md
5 | - Releasing: releasing.md
6 |
7 | plugins:
8 | - techdocs-core
9 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-launchdarkly/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, {
2 | rules: {
3 | 'notice/notice': 'off',
4 | },
5 | });
6 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-launchdarkly/card-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-launchdarkly/card-screenshot.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-launchdarkly/src/plugin.test.ts:
--------------------------------------------------------------------------------
1 | import { launchdarklyPlugin } from './plugin';
2 |
3 | describe('launchdarkly', () => {
4 | it('should export plugin', () => {
5 | expect(launchdarklyPlugin).toBeDefined();
6 | });
7 | });
8 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-launchdarkly/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | import '@testing-library/jest-dom';
17 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-prometheus/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
2 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-prometheus/docs/prom_alert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-prometheus/docs/prom_alert.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-prometheus/docs/prom_alert_filtered.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-prometheus/docs/prom_alert_filtered.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-prometheus/docs/prom_areagraph_widget.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-prometheus/docs/prom_areagraph_widget.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-prometheus/docs/prom_entity_content.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-prometheus/docs/prom_entity_content.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-prometheus/docs/prom_graph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-prometheus/docs/prom_graph.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-prometheus/docs/prom_graph_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-prometheus/docs/prom_graph_hover.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-prometheus/docs/prom_graph_query.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-prometheus/docs/prom_graph_query.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-prometheus/src/mocks/mockQueryResponse.json:
--------------------------------------------------------------------------------
1 | {
2 | "status": "success",
3 | "data": {
4 | "resultType": "matrix",
5 | "result": [
6 | {
7 | "metric": {
8 | "__name__": "memUsage",
9 | "component": "node-exporter"
10 | },
11 | "values": [
12 | [1633001642.261, "6465519616"],
13 | [1633001656.261, "6465519616"]
14 | ]
15 | }
16 | ]
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-prometheus/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | import '@testing-library/jest-dom';
17 | import 'cross-fetch/polyfill';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-security-insights/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, {
2 | rules: {
3 | 'notice/notice': 'off',
4 | 'react-hooks/exhaustive-deps': 'off',
5 | 'no-param-reassign': 'off',
6 | },
7 | });
8 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-security-insights/.npmrc:
--------------------------------------------------------------------------------
1 | registry=https://registry.npmjs.org/
2 | engine-strict=true
3 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-security-insights/app-config.yaml:
--------------------------------------------------------------------------------
1 | # Stub app config needed to run with yarn start
2 | app:
3 | title: backstage example app
4 | baseUrl: http://localhost:3000
5 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-security-insights/docs/backstage-plugin-security-widget-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-security-insights/docs/backstage-plugin-security-widget-1.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-security-insights/docs/backstage-plugin-security-widget.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-security-insights/docs/backstage-plugin-security-widget.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-security-insights/docs/roadie-backstage-dependabot-alerts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-security-insights/docs/roadie-backstage-dependabot-alerts.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-security-insights/docs/roadie-backstage-dependabot-widget.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-security-insights/docs/roadie-backstage-dependabot-widget.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-security-insights/docs/roadie-backstage-security-plugin.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-security-insights/docs/roadie-backstage-security-plugin.jpg
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-security-insights/src/components/DependabotAlertsTable/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export { DependabotAlertsTable } from './DependabotAlertsTable';
17 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-security-insights/src/components/DependabotAlertsWidget/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export { DependabotAlertsWidget } from './DependabotAlertsWidget';
17 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-security-insights/src/components/GithubDependabotTab/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { GithubDependabotTab } from './GithubDependabotTab';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-security-insights/src/components/SecurityInsightsTab/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export * from './SecurityInsightsTab';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-security-insights/src/components/SecurityInsightsTable/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { SecurityInsightsTable } from './SecurityInsightsTable';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-security-insights/src/components/SecurityInsightsWidget/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { SecurityInsightsWidget } from './SecurityInsightsWidget';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-security-insights/src/components/UpdateSeverityStatusModal/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { UpdateSeverityStatusModal } from './UpdateSeverityStatusModal';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-shortcut/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
2 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-shortcut/docs/shortcut.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-shortcut/docs/shortcut.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-shortcut/src/api/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export * from './ShortcutClient';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-shortcut/src/components/Home/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export { Content } from './StoriesCardHomepage';
17 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-shortcut/src/constants.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export const SHORTCUT_QUERY_ANNOTATION = 'shortcut.com/story-query';
17 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-shortcut/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | import '@testing-library/jest-dom';
17 | import 'cross-fetch/polyfill';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-travis-ci/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, {
2 | rules: {
3 | 'notice/notice': 'off',
4 | },
5 | });
6 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-travis-ci/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://registry.npmjs.org/
2 | engine-strict=true
3 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-travis-ci/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | ## Supported Versions
4 |
5 | | Version | Supported |
6 | | ------- | ------------------ |
7 | | 0.x | :white_check_mark: |
8 |
9 | ## Reporting a Vulnerability
10 |
11 | Please report security issues via security@roadie.io
12 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-travis-ci/dev/index.tsx:
--------------------------------------------------------------------------------
1 | import { createDevApp } from '@backstage/dev-utils';
2 | import { travisciPlugin } from '../src';
3 |
4 | createDevApp().registerPlugin(travisciPlugin).render();
5 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-travis-ci/docs/travis-ci-plugin-1642x1027.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-travis-ci/docs/travis-ci-plugin-1642x1027.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-travis-ci/src/api/constants.ts:
--------------------------------------------------------------------------------
1 | export const API_BASE_URL = '/api/proxy/travisci/api';
2 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-travis-ci/src/components/BuildsPage/index.ts:
--------------------------------------------------------------------------------
1 | export { Builds } from './BuildsPage';
2 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-travis-ci/src/components/BuildsPage/lib/Builds/index.ts:
--------------------------------------------------------------------------------
1 | export { Builds } from './Builds';
2 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-travis-ci/src/components/BuildsPage/lib/CITable/index.ts:
--------------------------------------------------------------------------------
1 | export { CITable } from './CITable';
2 | export type { CITableBuildInfo } from './CITable';
3 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-travis-ci/src/components/RecentTravisCIBuildsWidget.tsx:
--------------------------------------------------------------------------------
1 | import { Entity } from '@backstage/catalog-model';
2 | import { FC } from 'react';
3 | import { ContextProvider } from './ContextProvider';
4 | import { LastBuildCard } from './LastBuildCard';
5 |
6 | type Props = {
7 | entity: Entity;
8 | };
9 |
10 | export const RecentTravisCIBuildsWidget: FC = ({ entity }) => {
11 | return (
12 |
13 |
14 |
15 | );
16 | };
17 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-travis-ci/src/components/TravisCiBuildsPage.tsx:
--------------------------------------------------------------------------------
1 | import { Entity } from '@backstage/catalog-model';
2 | import { FC } from 'react';
3 | import { Builds } from './BuildsPage';
4 | import { ContextProvider } from './ContextProvider';
5 |
6 | type Props = {
7 | entity: Entity;
8 | };
9 |
10 | export const TravisCIBuildsPage: FC = ({ entity }) => {
11 | return (
12 |
13 |
14 |
15 | );
16 | };
17 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-travis-ci/src/hooks/useAsyncPolling.ts:
--------------------------------------------------------------------------------
1 | import { useRef } from 'react';
2 |
3 | export const useAsyncPolling = (
4 | pollingFn: () => Promise,
5 | interval: number,
6 | ) => {
7 | const isPolling = useRef(false);
8 | const startPolling = async () => {
9 | if (isPolling.current) return;
10 | isPolling.current = true;
11 |
12 | while (isPolling.current) {
13 | await pollingFn();
14 | await new Promise(resolve => setTimeout(resolve, interval));
15 | }
16 | };
17 |
18 | const stopPolling = () => {
19 | isPolling.current = false;
20 | };
21 | return { startPolling, stopPolling };
22 | };
23 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-travis-ci/src/index.ts:
--------------------------------------------------------------------------------
1 | export {
2 | /**
3 | * @deprecated From 0.2.0 new name 'travisciPlugin' should be used
4 | */
5 | travisciPlugin as plugin,
6 | travisciPlugin,
7 | EntityTravisCIContent,
8 | EntityTravisCIOverviewCard,
9 | } from './plugin';
10 | export * from './api';
11 | export {
12 | /**
13 | * @deprecated From 0.2.0 composability API should be used
14 | */
15 | Router,
16 | /**
17 | * @deprecated From 0.2.0 new name 'isTravisciAvailable' should be used
18 | */
19 | isTravisciAvailable as isPluginApplicableToEntity,
20 | isTravisciAvailable,
21 | } from './Router';
22 | export {
23 | /**
24 | * @deprecated From 0.2.0 composability API should be used
25 | */
26 | RecentTravisCIBuildsWidget,
27 | } from './components/RecentTravisCIBuildsWidget';
28 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-travis-ci/src/plugin.test.ts:
--------------------------------------------------------------------------------
1 | import { travisciPlugin } from './plugin';
2 |
3 | describe('travis-ci', () => {
4 | it('should export plugin', () => {
5 | expect(travisciPlugin).toBeDefined();
6 | });
7 | });
8 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-wiz/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
2 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-wiz/docs/issues-chart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-wiz/docs/issues-chart.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-wiz/docs/issues-widget.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-wiz/docs/issues-widget.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-wiz/docs/missing-annotation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-wiz/docs/missing-annotation.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-wiz/docs/severity-graph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-wiz/docs/severity-graph.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-wiz/docs/wiz-expanded-issues.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-wiz/docs/wiz-expanded-issues.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-wiz/docs/wiz-issues.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-wiz/docs/wiz-issues.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-wiz/src/api/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export * from './WizAPI';
18 | export * from './WizClient';
19 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-wiz/src/assets/wiz-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/backstage-plugin-wiz/src/assets/wiz-logo.png
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-wiz/src/components/Issues/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export { Issues } from './Issues';
17 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-wiz/src/components/IssuesWidget/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export { IssuesWidget } from './IssuesWidget';
17 | export { EntityIssuesWidget } from './EntityIssuesWidget';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-wiz/src/components/constants.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export const WIZ_PROJECT_ANNOTATION = 'wiz.io/project-id';
17 |
--------------------------------------------------------------------------------
/plugins/frontend/backstage-plugin-wiz/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | import '@testing-library/jest-dom';
17 |
--------------------------------------------------------------------------------
/plugins/frontend/github-auth-utils-react/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
2 |
--------------------------------------------------------------------------------
/plugins/frontend/github-auth-utils-react/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # @roadiehq/github-auth-utils-react
2 |
3 | ## 1.1.0
4 |
5 | ### Minor Changes
6 |
7 | - f215405: Upgrade to 1.40.2
8 |
9 | ## 1.0.2
10 |
11 | ### Patch Changes
12 |
13 | - a83e7e9: Tidy unused plugin depdendencies.
14 |
15 | ## 1.0.1
16 |
17 | ### Patch Changes
18 |
19 | - 3537934: Modify published package to point to the correct entry file.
20 |
21 | ## 1.0.0
22 |
23 | ### Major Changes
24 |
25 | - 1dd9384: Release GH auth utils first version.
26 |
27 | ## 0.2.0
28 |
29 | ### Minor Changes
30 |
31 | - 5dba102: Create a shareable package to manage GitHub plugins auth state. This allows plugins using GitHub OAuth to use common functionality to show/hide components based on logged in scopes and urls
32 |
--------------------------------------------------------------------------------
/plugins/frontend/github-auth-utils-react/README.md:
--------------------------------------------------------------------------------
1 | # @roadiehq/github-auth-utils-react
2 |
--------------------------------------------------------------------------------
/plugins/frontend/github-auth-utils-react/catalog-info.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: backstage.io/v1alpha1
2 | kind: Component
3 | metadata:
4 | name: github-auth-utils-react
5 | title: '@roadiehq/github-auth-utils-react'
6 | description: >-
7 | Common functionality for GitHub frontend OAuth authentication
8 | spec:
9 | lifecycle: production
10 | type: common-library
11 | owner: engineering
12 |
--------------------------------------------------------------------------------
/plugins/frontend/github-auth-utils-react/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2025 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export * from './hooks/useGithubLoggedIn';
18 | export * from './components';
19 |
--------------------------------------------------------------------------------
/plugins/frontend/rag-ai/.eslintrc.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
18 |
--------------------------------------------------------------------------------
/plugins/frontend/rag-ai/docs/api-spec-query.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/rag-ai/docs/api-spec-query.png
--------------------------------------------------------------------------------
/plugins/frontend/rag-ai/docs/empty-modal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/rag-ai/docs/empty-modal.png
--------------------------------------------------------------------------------
/plugins/frontend/rag-ai/docs/petstore-rag-openapi-example.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/rag-ai/docs/petstore-rag-openapi-example.gif
--------------------------------------------------------------------------------
/plugins/frontend/rag-ai/docs/simple-q-a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/frontend/rag-ai/docs/simple-q-a.png
--------------------------------------------------------------------------------
/plugins/frontend/rag-ai/src/api/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export { ragAiApiRef } from './ragApi';
17 | export { RoadieRagAiClient } from './client';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/rag-ai/src/components/RagModal/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export { UncontrolledRagModal } from './RagModal';
17 | export { SidebarRagModal } from './SidebarRagModal';
18 |
--------------------------------------------------------------------------------
/plugins/frontend/rag-ai/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export { ragAiPlugin, RagModal, SidebarRagModal } from './plugin';
17 | export { RoadieRagAiClient, ragAiApiRef } from './api';
18 |
--------------------------------------------------------------------------------
/plugins/home/backstage-plugin-home-markdown/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
2 |
--------------------------------------------------------------------------------
/plugins/home/backstage-plugin-home-markdown/docs/home-page-markdown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/home/backstage-plugin-home-markdown/docs/home-page-markdown.png
--------------------------------------------------------------------------------
/plugins/home/backstage-plugin-home-markdown/src/MarkdownCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { Content } from './Content';
18 |
--------------------------------------------------------------------------------
/plugins/home/backstage-plugin-home-markdown/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { HomePageMarkdown, markdownPlugin } from './plugin';
18 |
--------------------------------------------------------------------------------
/plugins/home/backstage-plugin-home-rss/.eslintrc.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
18 |
--------------------------------------------------------------------------------
/plugins/home/backstage-plugin-home-rss/src/RSSCard/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { Content } from './Content';
18 | export { type DataItem } from './types';
19 |
--------------------------------------------------------------------------------
/plugins/home/backstage-plugin-home-rss/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { HomePageRSS, rssPlugin } from './plugin';
18 | export { type DataItem } from './RSSCard';
19 |
--------------------------------------------------------------------------------
/plugins/roadie-backstage-entity-validator/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, {
2 | rules: {
3 | 'notice/notice': 'off',
4 | '@typescript-eslint/camelcase': 0,
5 | 'no-console': [0],
6 | },
7 | });
8 |
--------------------------------------------------------------------------------
/plugins/roadie-backstage-entity-validator/README.md:
--------------------------------------------------------------------------------
1 | # Roadie Backstage entity validator
2 |
3 | This is a library package used to validate entity files.
4 |
5 | It exports two methods:
6 |
7 | ```typescript
8 | export const validateFromFile: (
9 | filepath: string,
10 | verbose: boolean,
11 | customAnnotationSchemaLocation: string,
12 | ) => Promise;
13 | export const validate: (
14 | fileContents: string,
15 | verbose: boolean,
16 | customAnnotationSchemaLocation: string,
17 | ) => Promise;
18 | ```
19 |
20 | ---
21 |
22 | Roadie gives you a hassle-free, fully customisable SaaS Backstage. Find out more here: [https://roadie.io](https://roadie.io).
23 |
--------------------------------------------------------------------------------
/plugins/roadie-backstage-entity-validator/src/index.ts:
--------------------------------------------------------------------------------
1 | export { validate, validateFromFile } from './validator';
2 |
--------------------------------------------------------------------------------
/plugins/roadie-backstage-entity-validator/types.d.ts:
--------------------------------------------------------------------------------
1 | import { Entity } from '@backstage/catalog-model';
2 |
3 | export const validateFromFile: (
4 | filepath: string,
5 | verbose: boolean,
6 | ) => Promise;
7 | export const validate: (
8 | fileContents: string,
9 | verbose: boolean,
10 | ) => Promise;
11 |
--------------------------------------------------------------------------------
/plugins/scaffolder-actions/scaffolder-backend-argocd/src/actions/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export * from './run';
17 |
--------------------------------------------------------------------------------
/plugins/scaffolder-actions/scaffolder-backend-argocd/src/actions/run/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export { createArgoCdResources } from './argocd';
17 |
--------------------------------------------------------------------------------
/plugins/scaffolder-actions/scaffolder-backend-argocd/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export * from './actions';
17 | export { scaffolderBackendArgoCD as default } from './module';
18 |
--------------------------------------------------------------------------------
/plugins/scaffolder-actions/scaffolder-backend-module-aws/src/actions/ecr/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | export { createEcrAction } from './create';
18 |
--------------------------------------------------------------------------------
/plugins/scaffolder-actions/scaffolder-backend-module-aws/src/actions/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2025 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export * from './ecr';
17 | export * from './s3';
18 | export * from './secrets-manager';
19 |
--------------------------------------------------------------------------------
/plugins/scaffolder-actions/scaffolder-backend-module-aws/src/actions/s3/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export { createAwsS3CpAction } from './cp';
17 |
--------------------------------------------------------------------------------
/plugins/scaffolder-actions/scaffolder-backend-module-aws/src/actions/secrets-manager/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export { createAwsSecretsManagerCreateAction } from './create';
17 |
--------------------------------------------------------------------------------
/plugins/scaffolder-actions/scaffolder-backend-module-http-request/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
2 |
--------------------------------------------------------------------------------
/plugins/scaffolder-actions/scaffolder-backend-module-http-request/api-report.md:
--------------------------------------------------------------------------------
1 | ## API Report File for "@roadiehq/scaffolder-backend-module-http-request"
2 |
3 | > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4 |
5 | ```ts
6 | import { Config } from '@backstage/config';
7 | import { TemplateAction } from '@backstage/plugin-scaffolder-backend';
8 |
9 | // @public (undocumented)
10 | export function createHttpBackstageAction(options: {
11 | config: Config;
12 | }): TemplateAction;
13 |
14 | // (No @packageDocumentation comment for this package)
15 | ```
16 |
--------------------------------------------------------------------------------
/plugins/scaffolder-actions/scaffolder-backend-module-http-request/src/actions/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export * from './run';
17 |
--------------------------------------------------------------------------------
/plugins/scaffolder-actions/scaffolder-backend-module-http-request/src/actions/run/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export { createHttpBackstageAction } from './backstageRequest';
17 |
--------------------------------------------------------------------------------
/plugins/scaffolder-actions/scaffolder-backend-module-http-request/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export * from './actions';
17 | export { scaffolderBackendModuleHttpRequest as default } from './module';
18 |
--------------------------------------------------------------------------------
/plugins/scaffolder-actions/scaffolder-backend-module-http-request/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import 'cross-fetch/polyfill';
18 |
--------------------------------------------------------------------------------
/plugins/scaffolder-actions/scaffolder-backend-module-utils/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2024 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | import '@testing-library/jest-dom';
17 |
--------------------------------------------------------------------------------
/plugins/scaffolder-actions/scaffolder-backend-module-utils/src/actions/merge/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export { createMergeJSONAction, createMergeAction } from './merge';
17 |
--------------------------------------------------------------------------------
/plugins/scaffolder-actions/scaffolder-backend-module-utils/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export * from './actions';
17 | export { scaffolderBackendModuleUtils as default } from './module';
18 |
--------------------------------------------------------------------------------
/plugins/scaffolder-field-extensions/scaffolder-frontend-module-http-request-field/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
2 |
--------------------------------------------------------------------------------
/plugins/scaffolder-field-extensions/scaffolder-frontend-module-http-request-field/images/dropdown_sample_closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/scaffolder-field-extensions/scaffolder-frontend-module-http-request-field/images/dropdown_sample_closed.png
--------------------------------------------------------------------------------
/plugins/scaffolder-field-extensions/scaffolder-frontend-module-http-request-field/images/dropdown_sample_opened.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RoadieHQ/roadie-backstage-plugins/c550b479083299703abe68e7930df338da7e3032/plugins/scaffolder-field-extensions/scaffolder-frontend-module-http-request-field/images/dropdown_sample_opened.png
--------------------------------------------------------------------------------
/plugins/scaffolder-field-extensions/scaffolder-frontend-module-http-request-field/src/components/SelectFieldFromApi/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export * from './SelectFieldFromApi';
17 |
--------------------------------------------------------------------------------
/plugins/scaffolder-field-extensions/scaffolder-frontend-module-http-request-field/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | export { SelectFieldFromApiExtension } from './plugin';
17 |
--------------------------------------------------------------------------------
/plugins/scaffolder-field-extensions/scaffolder-frontend-module-http-request-field/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 Larder Software Limited
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | import '@testing-library/jest-dom';
17 | import 'cross-fetch/polyfill';
18 |
--------------------------------------------------------------------------------
/scripts/copyright-header.txt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright <%= YEAR %> <%= NAME %>
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@backstage/cli/config/tsconfig.json",
3 | "include": [
4 | "packages/**/src",
5 | "plugins/**/src",
6 | "plugins/**/dev",
7 | "plugins/**/migrations",
8 | "packages/app/cypress/types.d.ts",
9 | "packages/app/cypress/integration/*",
10 | "packages/app/cypress/plugins/*"
11 | ],
12 | "exclude": ["node_modules"],
13 | "compilerOptions": {
14 | "rootDir": ".",
15 | "outDir": "dist-types",
16 | "jsx": "react-jsx"
17 | }
18 | }
19 |
--------------------------------------------------------------------------------