Merge remote-tracking branch 'origin/master' into task-action-idempotency
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-azure-devops': patch
|
||||
---
|
||||
|
||||
Added alpha support for the New Frontend System (Declarative Integration)
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/repo-tools': patch
|
||||
---
|
||||
|
||||
Resolved an issue with generate-catalog-info where it was replacing upper case characters with -.
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder-backend-module-bitbucket-server': minor
|
||||
'@backstage/plugin-scaffolder-backend': patch
|
||||
---
|
||||
|
||||
New scaffolder module `@backstage/plugin-scaffolder-backend-module-bitbucket-server`.
|
||||
|
||||
Extracted from `@backstage/plugin-scaffolder-backend-module-bitbucket`
|
||||
and replaces its actions related to Bitbucket Server.
|
||||
|
||||
- `publish:bitbucketServer`
|
||||
- `publish:bitbucketServer:pull-request`
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-azure-sites': patch
|
||||
---
|
||||
|
||||
Updated README
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-auth-backend': patch
|
||||
---
|
||||
|
||||
Support additional algorithms in the `/.well-known/openid-configuration` endpoint.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/backend-common': patch
|
||||
---
|
||||
|
||||
`FetchUrlReader#readUrl()` now supports passing an optional `token` to authenticate requests.
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder-backend-module-bitbucket': minor
|
||||
---
|
||||
|
||||
Split `@backstage/plugin-scaffolder-backend-module-bitbucket` into
|
||||
`@backstage/plugin-scaffolder-backend-module-bitbucket-cloud` and
|
||||
`@backstage/plugin-scaffolder-backend-module-bitbucket-server`.
|
||||
|
||||
`@backstage/plugin-scaffolder-backend-module-bitbucket` was **deprecated** in favor of these two replacements.
|
||||
|
||||
Please use any of the two replacements depending on your needs.
|
||||
|
||||
```diff
|
||||
- backend.add(import('@backstage/plugin-scaffolder-backend-module-bitbucket'));
|
||||
+ backend.add(import('@backstage/plugin-scaffolder-backend-module-bitbucket-cloud'));
|
||||
+ backend.add(import('@backstage/plugin-scaffolder-backend-module-bitbucket-server'));
|
||||
```
|
||||
@@ -0,0 +1,22 @@
|
||||
---
|
||||
'@backstage/core-components': patch
|
||||
'@backstage/plugin-catalog-graph': patch
|
||||
---
|
||||
|
||||
Added possibility to show arrow heads for graph edges for better understandability.
|
||||
|
||||
In order to show arrow heads in the catalog graph page, add `showArrowHeads` attribute to `CatalogGraphPage` component
|
||||
(typically in `packages/app/src/App.tsx`):
|
||||
|
||||
```diff
|
||||
- <CatalogGraphPage />
|
||||
+ <CatalogGraphPage showArrowHeads />
|
||||
```
|
||||
|
||||
In order to show arrow heads in entity graphs, add `showArrowHeads` attribute to `EntityCatalogGraphCard` components
|
||||
(typically multiple occurrences in `packages/app/src/components/catalog/EntityPage.tsx`):
|
||||
|
||||
```diff
|
||||
- <EntityCatalogGraphCard variant="gridItem" height={400} />
|
||||
+ <EntityCatalogGraphCard variant="gridItem" height={400} showArrowHeads />
|
||||
```
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-auth-backend': patch
|
||||
---
|
||||
|
||||
The auth backend will now refuse to issue user tokens are excessively large.
|
||||
@@ -0,0 +1,108 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder-backend-module-confluence-to-markdown': patch
|
||||
'@backstage/plugin-search-backend-module-stack-overflow-collator': patch
|
||||
'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch
|
||||
'@backstage/plugin-scaffolder-backend-module-cookiecutter': patch
|
||||
'@backstage/plugin-events-backend-module-bitbucket-cloud': patch
|
||||
'@backstage/plugin-tech-insights-backend-module-jsonfc': patch
|
||||
'@backstage/plugin-catalog-backend-module-unprocessed': patch
|
||||
'@backstage/plugin-analytics-module-newrelic-browser': patch
|
||||
'@backstage/plugin-scaffolder-backend-module-gitlab': patch
|
||||
'@backstage/plugin-scaffolder-backend-module-sentry': patch
|
||||
'@backstage/plugin-scaffolder-backend-module-yeoman': patch
|
||||
'@backstage/plugin-catalog-backend-module-puppetdb': patch
|
||||
'@backstage/plugin-scaffolder-backend-module-rails': patch
|
||||
'@backstage/plugin-api-docs-module-protoc-gen-doc': patch
|
||||
'@backstage/plugin-catalog-backend-module-msgraph': patch
|
||||
'@backstage/plugin-catalog-backend-module-openapi': patch
|
||||
'@backstage/plugin-search-backend-module-techdocs': patch
|
||||
'@backstage/plugin-events-backend-module-aws-sqs': patch
|
||||
'@backstage/plugin-search-backend-module-catalog': patch
|
||||
'@backstage/plugin-search-backend-module-explore': patch
|
||||
'@backstage/plugin-catalog-unprocessed-entities': patch
|
||||
'@backstage/plugin-events-backend-module-gerrit': patch
|
||||
'@backstage/plugin-events-backend-module-github': patch
|
||||
'@backstage/plugin-events-backend-module-gitlab': patch
|
||||
'@backstage/plugin-events-backend-module-azure': patch
|
||||
'@backstage/plugin-entity-feedback-backend': patch
|
||||
'@backstage/plugin-code-coverage-backend': patch
|
||||
'@backstage/plugin-tech-insights-backend': patch
|
||||
'@backstage/plugin-analytics-module-ga4': patch
|
||||
'@backstage/plugin-azure-devops-backend': patch
|
||||
'@backstage/backend-plugin-api': patch
|
||||
'@backstage/plugin-analytics-module-ga': patch
|
||||
'@backstage/plugin-azure-sites-backend': patch
|
||||
'@backstage/backend-dev-utils': patch
|
||||
'@backstage/plugin-github-deployments': patch
|
||||
'@backstage/plugin-lighthouse-backend': patch
|
||||
'@backstage/plugin-microsoft-calendar': patch
|
||||
'@backstage/plugin-scaffolder-backend': patch
|
||||
'@backstage/backend-defaults': patch
|
||||
'@backstage/plugin-entity-validation': patch
|
||||
'@backstage/plugin-sonarqube-backend': patch
|
||||
'@backstage/backend-app-api': patch
|
||||
'@backstage/plugin-devtools-backend': patch
|
||||
'@backstage/plugin-linguist-backend': patch
|
||||
'@backstage/plugin-playlist-backend': patch
|
||||
'@backstage/backend-common': patch
|
||||
'@backstage/plugin-catalog-backend': patch
|
||||
'@backstage/plugin-explore-backend': patch
|
||||
'@backstage/plugin-graphql-voyager': patch
|
||||
'@backstage/plugin-jenkins-backend': patch
|
||||
'@backstage/plugin-rollbar-backend': patch
|
||||
'@backstage/backend-tasks': patch
|
||||
'@backstage/plugin-badges-backend': patch
|
||||
'@backstage/plugin-bazaar-backend': patch
|
||||
'@backstage/plugin-catalog-import': patch
|
||||
'@backstage/plugin-events-backend': patch
|
||||
'@backstage/plugin-github-actions': patch
|
||||
'@backstage/plugin-octopus-deploy': patch
|
||||
'@backstage/plugin-splunk-on-call': patch
|
||||
'@backstage/plugin-techdocs-react': patch
|
||||
'@backstage/app-defaults': patch
|
||||
'@backstage/core-app-api': patch
|
||||
'@backstage/plugin-catalog-graph': patch
|
||||
'@backstage/plugin-code-coverage': patch
|
||||
'@backstage/plugin-cost-insights': patch
|
||||
'@backstage/plugin-nomad-backend': patch
|
||||
'@backstage/plugin-tech-insights': patch
|
||||
'@backstage/plugin-vault-backend': patch
|
||||
'@backstage/plugin-azure-devops': patch
|
||||
'@backstage/plugin-code-climate': patch
|
||||
'@backstage/plugin-adr-backend': patch
|
||||
'@backstage/plugin-app-backend': patch
|
||||
'@backstage/plugin-azure-sites': patch
|
||||
'@backstage/plugin-firehydrant': patch
|
||||
'@backstage/plugin-lighthouse': patch
|
||||
'@backstage/plugin-scaffolder': patch
|
||||
'@backstage/plugin-tech-radar': patch
|
||||
'@backstage/plugin-codescene': patch
|
||||
'@backstage/plugin-dynatrace': patch
|
||||
'@backstage/plugin-shortcuts': patch
|
||||
'@backstage/plugin-sonarqube': patch
|
||||
'@backstage/plugin-xcmetrics': patch
|
||||
'@backstage/plugin-airbrake': patch
|
||||
'@backstage/plugin-api-docs': patch
|
||||
'@backstage/plugin-circleci': patch
|
||||
'@backstage/plugin-devtools': patch
|
||||
'@backstage/plugin-graphiql': patch
|
||||
'@backstage/plugin-linguist': patch
|
||||
'@backstage/plugin-newrelic': patch
|
||||
'@backstage/plugin-opencost': patch
|
||||
'@backstage/plugin-periskop': patch
|
||||
'@backstage/plugin-bitrise': patch
|
||||
'@backstage/plugin-catalog': patch
|
||||
'@backstage/plugin-jenkins': patch
|
||||
'@backstage/plugin-rollbar': patch
|
||||
'@backstage/plugin-allure': patch
|
||||
'@backstage/plugin-badges': patch
|
||||
'@backstage/plugin-bazaar': patch
|
||||
'@backstage/plugin-sentry': patch
|
||||
'@backstage/plugin-fossa': patch
|
||||
'@backstage/plugin-ilert': patch
|
||||
'@backstage/plugin-nomad': patch
|
||||
'@backstage/plugin-vault': patch
|
||||
'@backstage/plugin-home': patch
|
||||
---
|
||||
|
||||
Use `--cwd` as the first `yarn` argument
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
'@backstage/core-plugin-api': minor
|
||||
'@backstage/app-defaults': minor
|
||||
'@backstage/core-app-api': minor
|
||||
'@backstage/frontend-plugin-api': patch
|
||||
---
|
||||
|
||||
Added a utility API for VMware Cloud auth; the API ref is available in the
|
||||
`@backstage/core-plugin-api` and `@backstage/frontend-plugin-api` packages, the
|
||||
implementation is in `@backstage/core-app-api` and a factory has been added to
|
||||
`@backstage/app-defaults`.
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
'@backstage/repo-tools': minor
|
||||
---
|
||||
|
||||
**BREAKING**: The `schema openapi *` commands are now renamed into `package schema openapi *` and `repo schema openapi *`. The aim is to make it more clear what the command is operating on, the entire repo or just a single package.
|
||||
|
||||
The following commands now live under the `package` namespace,
|
||||
|
||||
- `schema openapi generate` is now `package schema openapi generate --server`
|
||||
- `schema openapi generate-client` is now `package schema openapi generate --client-package`
|
||||
- `schema openapi init` is now `package schema openapi init`
|
||||
|
||||
And these commands live under the new `repo` namespace,
|
||||
|
||||
- `schema openapi lint` is now `repo schema openapi lint`
|
||||
- `schema openapi test` is now `repo schema openapi test`
|
||||
- `schema openapi verify` is now `repo schema openapi verify`
|
||||
|
||||
The `package schema openapi generate` now supports defining both `--server` and `--client-package` to generate both at once.This update also reworks the `--client-package` flag to accept only an output directory as the input directory can now be inferred.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-react': minor
|
||||
---
|
||||
|
||||
Add support to `configSchema` option on the `createEntityCardExtension` factory function.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-home': patch
|
||||
---
|
||||
|
||||
Use EntityDisplayName JSX element entity information directly for FeaturedDocsCard.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-graph': minor
|
||||
---
|
||||
|
||||
Migrate plugin to the new frontend system, it is experimental and available via alpha subpath.
|
||||
+53
-1
@@ -268,25 +268,37 @@
|
||||
"@backstage/plugin-signals-backend": "0.0.0",
|
||||
"@backstage/plugin-signals-node": "0.0.0",
|
||||
"@backstage/plugin-signals-react": "0.0.0",
|
||||
"@backstage/plugin-auth-backend-module-aws-alb-provider": "0.0.0"
|
||||
"@backstage/plugin-auth-backend-module-aws-alb-provider": "0.0.0",
|
||||
"@backstage/plugin-notifications": "0.0.0",
|
||||
"@backstage/plugin-notifications-backend": "0.0.0",
|
||||
"@backstage/plugin-notifications-common": "0.0.0",
|
||||
"@backstage/plugin-notifications-node": "0.0.0",
|
||||
"@backstage/plugin-scaffolder-backend-module-bitbucket-cloud": "0.0.0",
|
||||
"@backstage/plugin-scaffolder-backend-module-bitbucket-server": "0.0.0"
|
||||
},
|
||||
"changesets": [
|
||||
"afraid-numbers-invite",
|
||||
"angry-phones-arrive",
|
||||
"beige-apples-press",
|
||||
"blue-keys-do",
|
||||
"breezy-cobras-sin",
|
||||
"brown-items-hammer",
|
||||
"calm-cups-rule",
|
||||
"calm-items-double",
|
||||
"calm-onions-exercise",
|
||||
"chilled-chefs-notice",
|
||||
"chilled-ways-wave",
|
||||
"chilly-seahorses-bake",
|
||||
"cold-cheetahs-pull",
|
||||
"cold-cooks-care",
|
||||
"cool-islands-impress",
|
||||
"create-app-1706621803",
|
||||
"curvy-ladybugs-impress",
|
||||
"cyan-bats-lick",
|
||||
"cyan-icons-rest",
|
||||
"dirty-cheetahs-shave",
|
||||
"dirty-mirrors-retire",
|
||||
"dirty-plums-fix",
|
||||
"dry-lizards-taste",
|
||||
"dry-lobsters-flash",
|
||||
"dry-vans-kiss",
|
||||
@@ -297,35 +309,53 @@
|
||||
"fair-mirrors-hammer",
|
||||
"famous-houses-thank",
|
||||
"fast-jeans-walk",
|
||||
"fast-onions-own",
|
||||
"fifty-adults-watch",
|
||||
"fifty-files-argue",
|
||||
"flat-roses-happen",
|
||||
"flat-wasps-fold",
|
||||
"forty-beers-sniff",
|
||||
"forty-cars-scream",
|
||||
"four-mugs-try",
|
||||
"four-walls-perform",
|
||||
"fresh-gifts-smile",
|
||||
"friendly-cheetahs-rescue",
|
||||
"funny-buttons-sip",
|
||||
"funny-timers-visit",
|
||||
"fuzzy-comics-collect",
|
||||
"giant-suits-switch",
|
||||
"good-lemons-lick",
|
||||
"gorgeous-bobcats-press",
|
||||
"gorgeous-pumas-draw",
|
||||
"gorgeous-ways-applaud",
|
||||
"great-rats-collect",
|
||||
"green-dogs-fold",
|
||||
"green-flies-draw",
|
||||
"grumpy-poets-study",
|
||||
"hip-ears-add",
|
||||
"hot-horses-matter",
|
||||
"hot-paws-tap",
|
||||
"hot-pillows-poke",
|
||||
"hot-tips-doubt",
|
||||
"kind-clouds-fly",
|
||||
"kind-wombats-draw",
|
||||
"large-frogs-grab",
|
||||
"large-moons-speak",
|
||||
"large-tables-wonder",
|
||||
"lemon-cameras-remember",
|
||||
"long-suns-bow",
|
||||
"loud-walls-compare",
|
||||
"lovely-bugs-prove",
|
||||
"lovely-starfishes-remain",
|
||||
"lucky-bugs-bow",
|
||||
"many-pugs-change",
|
||||
"metal-elephants-sit",
|
||||
"metal-students-drive",
|
||||
"mighty-steaks-shave",
|
||||
"mighty-toys-laugh",
|
||||
"nasty-days-jog",
|
||||
"nasty-shirts-look",
|
||||
"neat-eels-greet",
|
||||
"neat-hotels-wink",
|
||||
"nice-carrots-dream",
|
||||
"nine-bulldogs-camp",
|
||||
@@ -333,8 +363,10 @@
|
||||
"ninety-rules-sneeze",
|
||||
"old-papayas-shave",
|
||||
"old-students-smoke",
|
||||
"olive-boats-agree",
|
||||
"olive-experts-fold",
|
||||
"olive-singers-accept",
|
||||
"orange-gorillas-clean",
|
||||
"orange-walls-complain",
|
||||
"polite-meals-hug",
|
||||
"quick-penguins-refuse",
|
||||
@@ -342,10 +374,15 @@
|
||||
"quiet-donkeys-punch",
|
||||
"rare-seals-thank",
|
||||
"real-eggs-sip",
|
||||
"real-grapes-sing",
|
||||
"red-bottles-swim",
|
||||
"red-eggs-serve",
|
||||
"renovate-47c1714",
|
||||
"renovate-4b698fb",
|
||||
"renovate-5f8d1ca",
|
||||
"renovate-95b717a",
|
||||
"renovate-97e6aa5",
|
||||
"renovate-f4b1d70",
|
||||
"renovate-f58dd5c",
|
||||
"renovate-fb2e0b9",
|
||||
"rotten-lemons-cry",
|
||||
@@ -356,7 +393,10 @@
|
||||
"shaggy-trainers-rule",
|
||||
"shaggy-windows-cross",
|
||||
"sharp-pandas-hunt",
|
||||
"shiny-apes-glow",
|
||||
"shiny-clocks-greet",
|
||||
"shiny-poets-tease",
|
||||
"short-cherries-mix",
|
||||
"shy-carrots-decide",
|
||||
"silent-hotels-knock",
|
||||
"silent-poets-grab",
|
||||
@@ -364,16 +404,23 @@
|
||||
"six-jobs-sin",
|
||||
"six-melons-end",
|
||||
"sixty-shoes-prove",
|
||||
"slimy-rats-fly",
|
||||
"smart-numbers-call",
|
||||
"soft-balloons-relax",
|
||||
"soft-beans-tease",
|
||||
"sour-rivers-fry",
|
||||
"spotty-jokes-unite",
|
||||
"spotty-kids-pay",
|
||||
"strange-parents-hammer",
|
||||
"strong-lobsters-hide",
|
||||
"strong-news-develop",
|
||||
"sweet-ravens-glow",
|
||||
"tall-frogs-clap",
|
||||
"tall-tools-compare",
|
||||
"tame-numbers-smile",
|
||||
"tame-rockets-sin",
|
||||
"tasty-feet-cheat",
|
||||
"tasty-oranges-rescue",
|
||||
"ten-numbers-happen",
|
||||
"ten-planets-guess",
|
||||
"ten-trainers-cough",
|
||||
@@ -381,6 +428,7 @@
|
||||
"thirty-dolls-admire",
|
||||
"tidy-cooks-mix",
|
||||
"tidy-cooks-mixed",
|
||||
"tiny-donuts-drive",
|
||||
"tiny-kiwis-know",
|
||||
"tough-drinks-scream",
|
||||
"twelve-hounds-know",
|
||||
@@ -393,10 +441,14 @@
|
||||
"unlucky-pens-search",
|
||||
"unlucky-wasps-tan",
|
||||
"warm-maps-scream",
|
||||
"weak-news-jam",
|
||||
"wet-emus-work",
|
||||
"wet-lions-crash",
|
||||
"wicked-ants-reflect",
|
||||
"wicked-elephants-scream",
|
||||
"wild-owls-doubt",
|
||||
"wise-flies-laugh",
|
||||
"wise-papayas-cough",
|
||||
"young-ladybugs-decide",
|
||||
"young-rules-repeat"
|
||||
]
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
'@backstage/core-components': patch
|
||||
'@backstage/app-defaults': minor
|
||||
'@backstage/plugin-playlist': patch
|
||||
'@backstage/plugin-scaffolder': minor
|
||||
---
|
||||
|
||||
Added stack trace display to `ErrorPage` and updated existing refs
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-opencost': patch
|
||||
---
|
||||
|
||||
Updated dependency `date-fns` to `^3.0.0`.
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder-backend-module-bitbucket-cloud': minor
|
||||
'@backstage/plugin-scaffolder-backend': patch
|
||||
---
|
||||
|
||||
New scaffolder module `@backstage/plugin-scaffolder-backend-module-bitbucket-cloud`.
|
||||
|
||||
Extracted from `@backstage/plugin-scaffolder-backend-module-bitbucket`
|
||||
and replaces its actions related to Bitbucket Cloud.
|
||||
|
||||
- `publish:bitbucketCloud`
|
||||
- `bitbucket:pipelines:run`
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-user-settings': patch
|
||||
---
|
||||
|
||||
conditionally rendering the user name and email in user settings page
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-org': patch
|
||||
---
|
||||
|
||||
Added basic support for the new frontend system, exported from the `/alpha` subpath.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-explore': patch
|
||||
---
|
||||
|
||||
Use the EntityDisplayName component for rendering Group nodes
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-azure-sites-backend': patch
|
||||
---
|
||||
|
||||
Added `permissionIntegrationRouter` for azure-sites-backend routes
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
'@backstage/plugin-auth-backend': minor
|
||||
---
|
||||
|
||||
**BREAKING**: The `saml` provider has been migrated from `passport-saml` to `@node-saml/passport-saml`.
|
||||
|
||||
This comes with breaking changes to config options:
|
||||
|
||||
- `audience` is now mandatory
|
||||
- `wantAuthnResponseSigned` is now exposed and defaults to `true`
|
||||
- `wantAssertionsSigned` is now exposed and defaults to `true`
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend-module-puppetdb': patch
|
||||
---
|
||||
|
||||
Added `latest_report_status` parameter from the PuppetDB node api and added it as a tag to the nodes. The status is valuable information as it displays which nodes are compliant to your configuration and which ones are failing are making changes.
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
'@backstage/plugin-notifications-backend': patch
|
||||
'@backstage/plugin-notifications-common': patch
|
||||
'@backstage/plugin-notifications-node': patch
|
||||
'@backstage/plugin-notifications': patch
|
||||
---
|
||||
|
||||
Initial notifications system for backstage
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/backend-common': patch
|
||||
---
|
||||
|
||||
Add a config declaration for `workingDirectory`
|
||||
@@ -113,10 +113,10 @@ jobs:
|
||||
run: yarn backstage-repo-tools generate-catalog-info --ci
|
||||
|
||||
- name: lint openapi yaml files
|
||||
run: yarn backstage-repo-tools schema openapi lint
|
||||
run: yarn backstage-repo-tools repo schema openapi lint
|
||||
|
||||
- name: verify openapi yaml file matches generated ts file
|
||||
run: yarn backstage-repo-tools schema openapi verify
|
||||
run: yarn backstage-repo-tools repo schema openapi verify
|
||||
|
||||
- name: verify doc links
|
||||
run: node scripts/verify-links.js
|
||||
@@ -225,7 +225,7 @@ jobs:
|
||||
|
||||
# We run the test cases before verifying the specs to prevent any failing tests from causing errors.
|
||||
- name: verify openapi specs against test cases
|
||||
run: yarn backstage-repo-tools schema openapi test
|
||||
run: yarn backstage-repo-tools repo schema openapi test
|
||||
|
||||
- name: ensure clean working directory
|
||||
run: |
|
||||
|
||||
@@ -196,7 +196,7 @@ jobs:
|
||||
GITHUB_TOKEN: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
|
||||
|
||||
- name: Dispatch repository event
|
||||
uses: peter-evans/repository-dispatch@bf47d102fdb849e755b0b0023ea3e81a44b6f570 # v2.1.2
|
||||
uses: peter-evans/repository-dispatch@ff45666b9427631e3450c54a1bcbee4d9ff4d7c0 # v3.0.0
|
||||
with:
|
||||
token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
|
||||
event-type: release-published
|
||||
|
||||
@@ -61,7 +61,7 @@ jobs:
|
||||
python-version: '3.10'
|
||||
|
||||
- name: Add msbuild to PATH
|
||||
uses: microsoft/setup-msbuild@ede762b26a2de8d110bb5a3db4d7e0e080c0e917 # v1.3.3
|
||||
uses: microsoft/setup-msbuild@6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce # v2.0.0
|
||||
|
||||
- name: Setup gyp env
|
||||
run: |
|
||||
|
||||
@@ -1,4 +1 @@
|
||||
#!/bin/sh
|
||||
. "$(dirname "$0")/_/husky.sh"
|
||||
|
||||
yarn lint-staged
|
||||
|
||||
@@ -88,7 +88,7 @@ Install cookie-parser:
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend cookie-parser
|
||||
yarn --cwd packages/backend add cookie-parser
|
||||
```
|
||||
|
||||
Update routes in `packages/backend/src/index.ts`:
|
||||
@@ -223,7 +223,7 @@ Install cookie-parser:
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend cookie-parser @types/cookie-parser
|
||||
yarn --cwd packages/backend add cookie-parser @types/cookie-parser
|
||||
```
|
||||
|
||||
Create a custom configured `rootHttpRouterService` in `packages/backend/src/customRootHttpRouterService.ts`:
|
||||
|
||||
@@ -1,66 +1,65 @@
|
||||
# Running the backend behind a Corporate Proxy
|
||||
|
||||
Let's admit it, we've all been there. Sometimes you've gotta run stuff with no way out to the public internet, only the smallest of corporate proxy tunnels.
|
||||
This article helps you get your backend installation up and running making calls through corporate proxies.
|
||||
|
||||
Whilst this isn't supported natively by Backstage, this might help you get your installation up and running making calls through the said proxy tunnel.
|
||||
## Background
|
||||
|
||||
## backend
|
||||
Let's admit it, we've all been there. Sometimes you have to run stuff with no way out to the public internet, except via the smallest of corporate proxy tunnels. It's most likely that you're going to run into these issues from the backend part of Backstage as that's the part that isn't helped by your browser or OS settings for the corporate proxy.
|
||||
|
||||
Unfortunately, `nodejs` does not respect `HTTP(S)_PROXY` environment variables by default, and the library that we use to provide `fetch` functionality `node-fetch` (provided by `cross-fetch`) does not also respect these environment variables.
|
||||
Unfortunately, neither the Node.js native `fetch` nor the other frequently used library `node-fetch` (see [ADR013](https://backstage.io/docs/architecture-decisions/adrs-adr013)) respect `HTTP(S)_PROXY` environment variables by default. As an additional complication, there is no single solution for configuring both native `fetch` and `node-fetch` at once, uniformly.
|
||||
|
||||
There are however some ways to get this to work without too much effort. It's most likely that you're going to run into these issues from the `backend` part of `backstage` as that's the part that isn't helped by your browser or OS's settings for the corporate proxy.
|
||||
There are however some ways to get this to work without too much effort.
|
||||
|
||||
**Note:** You're gonna want to be in your backend working directory for these solutions as that's where the requests come from that don't go through this proxy.
|
||||
## Installation
|
||||
|
||||
### Using `global-agent`
|
||||
**Note:** You're going to want to be in your backend working directory for these solutions as that's where the requests come from that don't go through this proxy.
|
||||
|
||||
1. Install `global-agent` using `yarn add global-agent`
|
||||
2. Go to the entry file for the backend (`src/index.ts`)
|
||||
3. At the top of the file paste the following:
|
||||
1. Install the required packages in your backend, by running the following command inside your backend directory (typically `packages/backend` under your repository root).
|
||||
|
||||
```ts
|
||||
import 'global-agent/bootstrap';
|
||||
```
|
||||
```bash
|
||||
yarn add undici global-agent
|
||||
```
|
||||
|
||||
4. Start the backend with the `global-agent` variables
|
||||
`undici` exposes the settings for native `fetch`, and `global-agent` can set things up for `node-fetch`.
|
||||
|
||||
```sh
|
||||
export GLOBAL_AGENT_HTTP_PROXY=$HTTP_PROXY
|
||||
export GLOBAL_AGENT_NO_PROXY=$NO_PROXY
|
||||
yarn start
|
||||
```
|
||||
1. Go to the entry file for the backend (typically `packages/backend/src/index.ts`), and add the following at the top:
|
||||
|
||||
More information and more options for configuring `global-agent` including just using the default environment variables can be found here: https://github.com/gajus/global-agent
|
||||
```ts
|
||||
import 'global-agent/bootstrap';
|
||||
import { setGlobalDispatcher, ProxyAgent } from 'undici';
|
||||
|
||||
### Using `proxy-agent`
|
||||
const proxyEnv =
|
||||
process.env.GLOBAL_AGENT_HTTP_PROXY ||
|
||||
process.env.GLOBAL_AGENT_HTTPS_PROXY;
|
||||
|
||||
`proxy-agent` is a library that you can use to override the `globalAgents` of `node` land with a tunnel to use for each request.
|
||||
if (proxyEnv) {
|
||||
const proxyUrl = new URL(proxyEnv);
|
||||
setGlobalDispatcher(
|
||||
new ProxyAgent({
|
||||
uri: proxyUrl.protocol + proxyUrl.host,
|
||||
token:
|
||||
proxyUrl.username && proxyUrl.password
|
||||
? `Basic ${Buffer.from(
|
||||
`${proxyUrl.username}:${proxyUrl.password}`,
|
||||
).toString('base64')}`
|
||||
: undefined,
|
||||
}),
|
||||
);
|
||||
}
|
||||
```
|
||||
|
||||
1. Install `proxy-agent` using `yarn add proxy-agent`
|
||||
2. Go to the entry file for the backend (`src/index.ts`)
|
||||
3. At the top of the file paste the following:
|
||||
The first import automatically bootstraps `global-agent`, which addresses `node-fetch` proxying. The lines of code below that peeks into the same environment variables as `global-agent` uses, and also leverages them to set up the `undici` package which affects native `fetch`. Does that seem weird? Yes, we think so too. But in the current state of the Node.js ecosystem, that's how it works.
|
||||
|
||||
```ts
|
||||
import ProxyAgent from 'proxy-agent';
|
||||
import http from 'http';
|
||||
import https from 'https';
|
||||
This code is kept brief for illustrative purposes. You may want to adjust it slightly if you need support for [no-proxy excludes](https://gist.github.com/zicklag/1bb50db6c5138de347c224fda14286da) or only do proxying in local development etc. Also see [the `global-agent` docs](https://github.com/gajus/global-agent) for information about its configuration options.
|
||||
|
||||
/*
|
||||
Something to note here, this might need different configuration depending on your own setup.
|
||||
If you only have an http_proxy then you'll need to set that as both the http and https globalAgent instead.
|
||||
*/
|
||||
if (process.env.HTTP_PROXY) {
|
||||
http.globalAgent = new ProxyAgent(process.env.HTTP_PROXY);
|
||||
}
|
||||
1. Start the backend with the correct environment variables set. For example:
|
||||
|
||||
if (process.env.HTTPS_PROXY) {
|
||||
https.globalAgent = new ProxyAgent(process.env.HTTPS_PROXY);
|
||||
}
|
||||
```
|
||||
```sh
|
||||
export GLOBAL_AGENT_HTTP_PROXY=http://username:password@proxy.example.net:8888
|
||||
yarn start
|
||||
```
|
||||
|
||||
4. Start the backend with `yarn start`
|
||||
|
||||
## config
|
||||
## Configuration
|
||||
|
||||
If your development environment is in the cloud (like with [AWS Cloud9](https://aws.amazon.com/cloud9/) or an instance of [Theia](https://theia-ide.org/)), you will need to update your configuration.
|
||||
|
||||
@@ -82,3 +81,33 @@ backend:
|
||||
```
|
||||
|
||||
The app port must proxy web socket connections in order to make hot reloading work.
|
||||
|
||||
## Alternatives to `global-agent`
|
||||
|
||||
The `proxy-agent` package can be used as an alternative to `global-agent` (do not install both!), and also ensures that the `node-fetch` library correctly respects proxy settings, but [does NOT work](https://github.com/TooTallNate/proxy-agents/issues/239) for modern `undici` based native Node.js `fetch`, so you'll still have to also do the `undici` steps in the section above in addition to this.
|
||||
|
||||
`proxy-agent` is a library that you can use to override the `globalAgents` of `node` land with a tunnel to use for each request.
|
||||
|
||||
1. Install `proxy-agent` using `yarn add proxy-agent`
|
||||
2. Go to the entry file for the backend (`src/index.ts`)
|
||||
3. At the top of the file paste the following:
|
||||
|
||||
```ts
|
||||
import ProxyAgent from 'proxy-agent';
|
||||
import http from 'http';
|
||||
import https from 'https';
|
||||
|
||||
/*
|
||||
Something to note here, this might need different configuration depending on your own setup.
|
||||
If you only have an http_proxy then you'll need to set that as both the http and https globalAgent instead.
|
||||
*/
|
||||
if (process.env.HTTP_PROXY) {
|
||||
http.globalAgent = new ProxyAgent(process.env.HTTP_PROXY);
|
||||
}
|
||||
|
||||
if (process.env.HTTPS_PROXY) {
|
||||
https.globalAgent = new ProxyAgent(process.env.HTTPS_PROXY);
|
||||
}
|
||||
```
|
||||
|
||||
4. Start the backend with `yarn start`
|
||||
|
||||
@@ -35,6 +35,7 @@ Backstage comes with many common authentication providers in the core library:
|
||||
- [Okta](okta/provider.md)
|
||||
- [OAuth 2 Custom Proxy](oauth2-proxy/provider.md)
|
||||
- [OneLogin](onelogin/provider.md)
|
||||
- [VMware Cloud](vmware-cloud/provider.md)
|
||||
|
||||
These built-in providers handle the authentication flow for a particular service
|
||||
including required scopes, callbacks, etc. These providers are each added to a
|
||||
|
||||
@@ -0,0 +1,171 @@
|
||||
---
|
||||
id: provider
|
||||
title: VMware Cloud Authentication Provider
|
||||
sidebar_label: VMware Cloud
|
||||
description: Adding VMware Cloud as an authentication provider in Backstage
|
||||
---
|
||||
|
||||
Backstage comes with an auth provider module to allow users to sign-in with
|
||||
their VMware Cloud account. This page describes some actions within the VMware
|
||||
Cloud Console and within a Backstage app required to enable this capability.
|
||||
|
||||
## Create an OAuth App in the VMware Cloud Console
|
||||
|
||||
1. Log in to the [VMware Cloud Console](https://console.cloud.vmware.com).
|
||||
1. Navigate to [Identity & Access Management > OAuth
|
||||
Apps](https://console.cloud.vmware.com/csp/gateway/portal/#/consumer/usermgmt/oauth-apps)
|
||||
and click the [Owned
|
||||
Apps](https://console.cloud.vmware.com/csp/gateway/portal/#/consumer/usermgmt/oauth-apps/owned-apps/view)
|
||||
tab -- if you are not an Organization Owner or Administrator but only a
|
||||
Member, you will not see this nav entry unless the **Developer** check box is
|
||||
selected for your role (see the [Organization roles and
|
||||
permissions](https://docs.vmware.com/en/VMware-Cloud-services/services/Using-VMware-Cloud-Services/GUID-C11D3AAC-267C-4F16-A0E3-3EDF286EBE53.html#organization-roles-and-permissions-0)
|
||||
docs for details).
|
||||
1. Click **Create App**, choose 'Web/Mobile app' and click **Continue**.
|
||||
1. Use default settings except:
|
||||
- `App Name` and `App Description` of your choosing.
|
||||
- `Redirect URIs`: `${baseUrl}/api/auth/vmwareCloudServices/handler/frame`
|
||||
where `baseUrl` is the URL where your Backstage backend can be reached;
|
||||
note that VMware Cloud does not support the combination of an `http://`
|
||||
scheme and a `localhost` hostname, so when testing locally it may help to
|
||||
set your backend base URL to `http://127.0.0.1:7007`.
|
||||
- `Refresh Token`: check `Issue refresh token`; refresh tokens are required
|
||||
to prevent forcing users to re-login when they refresh their browser.
|
||||
- `Define Scopes`: check `OpenID` at the bottom.
|
||||
1. Click **Create**.
|
||||
1. Take note of the `App ID` in the resulting modal; this is the client ID to be
|
||||
used by Backstage.
|
||||
|
||||
## Install the provider in the backend
|
||||
|
||||
### New backend system
|
||||
|
||||
Apps using the [new backend system](../../backend-system/index.md),
|
||||
can enable the VMware Cloud provider with a small modification like:
|
||||
|
||||
```ts title="packages/backend-next/src/index.ts"
|
||||
import { createBackend } from '@backstage/backend-defaults';
|
||||
|
||||
const backend = createBackend();
|
||||
backend.add(import('@backstage/plugin-auth-backend'));
|
||||
/* highlight-add-start */
|
||||
backend.add(
|
||||
import('@backstage/plugin-auth-backend-module-vmware-cloud-provider'),
|
||||
);
|
||||
/* highlight-add-end */
|
||||
backend.start();
|
||||
```
|
||||
|
||||
### Old backend system
|
||||
|
||||
This provider was added after the migration of the auth-backend plugin to the
|
||||
new backend system, so no default provider factory was added. Because of this,
|
||||
the installation procedure for old-style backends is slightly more involved:
|
||||
|
||||
```ts title="packages/backend/src/plugins/auth.ts"
|
||||
import {
|
||||
DEFAULT_NAMESPACE,
|
||||
stringifyEntityRef,
|
||||
} from '@backstage/catalog-model';
|
||||
import {
|
||||
createRouter,
|
||||
providers,
|
||||
defaultAuthProviderFactories,
|
||||
} from '@backstage/plugin-auth-backend';
|
||||
import { Router } from 'express';
|
||||
import { PluginEnvironment } from '../types';
|
||||
/* highlight-add-start */
|
||||
import {
|
||||
commonSignInResolvers,
|
||||
createOAuthProviderFactory,
|
||||
} from '@backstage/plugin-auth-node';
|
||||
import {
|
||||
vmwareCloudAuthenticator,
|
||||
} from '@backstage/plugin-auth-backend-module-vmware-cloud-provider';
|
||||
/* highlight-add-end */
|
||||
|
||||
export default async function createPlugin(
|
||||
env: PluginEnvironment,
|
||||
): Promise<Router> {
|
||||
return await createRouter({
|
||||
logger: env.logger,
|
||||
config: env.config,
|
||||
database: env.database,
|
||||
discovery: env.discovery,
|
||||
tokenManager: env.tokenManager,
|
||||
providerFactories: {
|
||||
...defaultAuthProviderFactories,
|
||||
/* highlight-add-start */
|
||||
vmwareCloudServices: createOAuthProviderFactory({
|
||||
authenticator: vmwareCloudAuthenticator,
|
||||
signInResolver:
|
||||
commonSignInResolvers.emailLocalPartMatchingUserEntityName(),
|
||||
}),
|
||||
/* highlight-add-end */
|
||||
```
|
||||
|
||||
In the above, `commonSignInResolvers.emailLocalPartMatchingUserEntityName()`
|
||||
can be replaced with a more suitable resolver for the app in question.
|
||||
|
||||
## Configure Sign-in Resolution
|
||||
|
||||
See [Sign-in Identities and Resolvers](../identity-resolver.md) for details.
|
||||
|
||||
## Add to Sign-in Page
|
||||
|
||||
See the [Sign-In Configuration](../index.md#sign-in-configuration) docs for
|
||||
general guidance, but as an example:
|
||||
|
||||
```tsx title="packages/app/src/App.tsx"
|
||||
/* highlight-add-start */
|
||||
import { vmwareCloudAuthApiRef } from '@backstage/core-plugin-api';
|
||||
import { SignInPage } from '@backstage/core-components';
|
||||
/* highlight-add-end */
|
||||
|
||||
const app = createApp({
|
||||
/* highlight-add-start */
|
||||
components: {
|
||||
SignInPage: props => (
|
||||
<SignInPage
|
||||
{...props}
|
||||
provider={{
|
||||
id: 'vmware-cloud-auth-provider',
|
||||
title: 'VMware Cloud',
|
||||
message: 'Sign in using VMware Cloud',
|
||||
apiRef: vmwareCloudAuthApiRef,
|
||||
}}
|
||||
/>
|
||||
),
|
||||
},
|
||||
/* highlight-add-end */
|
||||
// ..
|
||||
});
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
Add the following to your `app-config.yaml` under the root `auth` configuration:
|
||||
|
||||
```yaml
|
||||
auth:
|
||||
session:
|
||||
secret: your session secret
|
||||
environment: development
|
||||
providers:
|
||||
vmwareCloudServices:
|
||||
development:
|
||||
clientId: ${APP_ID}
|
||||
organizationId: ${ORG_ID}
|
||||
```
|
||||
|
||||
where `APP_ID` refers to the ID retrieved when creating the OAuth App, and
|
||||
`ORG_ID` is the [long ID of the
|
||||
Organization](https://docs.vmware.com/en/VMware-Cloud-services/services/Using-VMware-Cloud-Services/GUID-CF9E9318-B811-48CF-8499-9419997DC1F8.html#view-the-organization-id-1)
|
||||
in VMware Cloud for which you wish to enable sign-in.
|
||||
|
||||
Note that VMware Cloud requires OAuth Apps to use
|
||||
[PKCE](https://oauth.net/2/pkce/) when performing authorization code flows; the
|
||||
library used by this provider requires the use of Express session middleware to
|
||||
do this. Therefore the value `your session secret` under `auth.session.secret`
|
||||
should be replaced with a long, complex and unique string which will act as a
|
||||
key for signing session cookies set by Backstage.
|
||||
@@ -83,7 +83,7 @@ following command:
|
||||
|
||||
```bash
|
||||
# from the repository root
|
||||
yarn add --cwd packages/backend @backstage/backend-defaults @backstage/backend-plugin-api
|
||||
yarn --cwd packages/backend add @backstage/backend-defaults @backstage/backend-plugin-api
|
||||
```
|
||||
|
||||
You should now be able to start this up with the familiar `yarn workspace
|
||||
@@ -616,7 +616,7 @@ if you didn't already have one.
|
||||
|
||||
```bash
|
||||
# from the repository root
|
||||
yarn add --cwd packages/backend @backstage/plugin-catalog-node
|
||||
yarn --cwd packages/backend add @backstage/plugin-catalog-node
|
||||
```
|
||||
|
||||
Here we've placed the module directly in the backend index file just to get
|
||||
@@ -681,7 +681,7 @@ if you didn't already have one.
|
||||
|
||||
```bash
|
||||
# from the repository root
|
||||
yarn add --cwd packages/backend @backstage/plugin-events-node
|
||||
yarn --cwd packages/backend add @backstage/plugin-events-node
|
||||
```
|
||||
|
||||
Here we've placed the module directly in the backend index file just to get
|
||||
@@ -715,7 +715,7 @@ And of course you'll need to install those separately as well.
|
||||
|
||||
```bash
|
||||
# from the repository root
|
||||
yarn add --cwd packages/backend @backstage/plugin-scaffolder-backend-module-github
|
||||
yarn --cwd packages/backend add @backstage/plugin-scaffolder-backend-module-github
|
||||
```
|
||||
|
||||
You can find a list of the available modules under the [plugins directory](https://github.com/backstage/backstage/tree/master/plugins) in the monorepo.
|
||||
@@ -766,7 +766,7 @@ if you didn't already have one.
|
||||
|
||||
```bash
|
||||
# from the repository root
|
||||
yarn add --cwd packages/backend @backstage/plugin-scaffolder-node
|
||||
yarn --cwd packages/backend add @backstage/plugin-scaffolder-node
|
||||
```
|
||||
|
||||
Here we've placed the module directly in the backend index file just to get
|
||||
|
||||
@@ -17,7 +17,7 @@ application.
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/app @backstage/plugin-kubernetes
|
||||
yarn --cwd packages/app add @backstage/plugin-kubernetes
|
||||
```
|
||||
|
||||
Once the package has been installed, you need to import the plugin in your app
|
||||
@@ -55,7 +55,7 @@ Navigate to `packages/backend` of your Backstage app, and install the
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @backstage/plugin-kubernetes-backend
|
||||
yarn --cwd packages/backend add @backstage/plugin-kubernetes-backend
|
||||
```
|
||||
|
||||
Create a file called `kubernetes.ts` inside `packages/backend/src/plugins/` and
|
||||
|
||||
@@ -18,7 +18,7 @@ If you haven't setup Backstage already, start
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/app @backstage/plugin-search @backstage/plugin-search-react
|
||||
yarn --cwd packages/app add @backstage/plugin-search @backstage/plugin-search-react
|
||||
```
|
||||
|
||||
Create a new `packages/app/src/components/search/SearchPage.tsx` file in your
|
||||
@@ -135,7 +135,7 @@ Add the following plugins into your backend app:
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @backstage/plugin-search-backend @backstage/plugin-search-backend-node
|
||||
yarn --cwd packages/backend add @backstage/plugin-search-backend @backstage/plugin-search-backend-node
|
||||
```
|
||||
|
||||
Create a `packages/backend/src/plugins/search.ts` file containing the following
|
||||
|
||||
@@ -54,7 +54,7 @@ Addons are rendered in the order in which they are registered.
|
||||
|
||||
## Installing and using Addons
|
||||
|
||||
To start using Addons you need to add the `@backstage/plugin-techdocs-module-addons-contrib` package to your app. You can do that by running this command from the root of your project: `yarn add --cwd packages/app @backstage/plugin-techdocs-module-addons-contrib`
|
||||
To start using Addons you need to add the `@backstage/plugin-techdocs-module-addons-contrib` package to your app. You can do that by running this command from the root of your project: `yarn --cwd packages/app add @backstage/plugin-techdocs-module-addons-contrib`
|
||||
|
||||
Addons can be installed and configured in much the same way as extensions for
|
||||
other Backstage plugins: by adding them underneath an extension registry
|
||||
|
||||
@@ -23,7 +23,7 @@ Navigate to your new Backstage application directory. And then to your
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/app @backstage/plugin-techdocs
|
||||
yarn --cwd packages/app add @backstage/plugin-techdocs
|
||||
```
|
||||
|
||||
Once the package has been installed, you need to import the plugin in your app.
|
||||
@@ -108,7 +108,7 @@ Navigate to `packages/backend` of your Backstage app, and install the
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @backstage/plugin-techdocs-backend
|
||||
yarn --cwd packages/backend add @backstage/plugin-techdocs-backend
|
||||
```
|
||||
|
||||
Create a file called `techdocs.ts` inside `packages/backend/src/plugins/` and
|
||||
|
||||
@@ -67,7 +67,7 @@ App. Use the following commands to start the PostgreSQL client installation:
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend pg
|
||||
yarn --cwd packages/backend add pg
|
||||
```
|
||||
|
||||
Use your favorite editor to open `app-config.yaml` and add your PostgreSQL
|
||||
|
||||
@@ -23,7 +23,7 @@ to an entity in the software catalog.
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/app @circleci/backstage-plugin
|
||||
yarn --cwd packages/app add @circleci/backstage-plugin
|
||||
```
|
||||
|
||||
Note the plugin is added to the `app` package, rather than the root
|
||||
|
||||
@@ -30,7 +30,7 @@ Now, let's get started by installing the home plugin and creating a simple homep
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/app @backstage/plugin-home
|
||||
yarn --cwd packages/app add @backstage/plugin-home
|
||||
```
|
||||
|
||||
#### 2. Create a new HomePage component
|
||||
|
||||
@@ -64,7 +64,7 @@ the AWS catalog plugin:
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @backstage/plugin-catalog-backend-module-aws
|
||||
yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-aws
|
||||
```
|
||||
|
||||
Once you've done that, you'll also need to add the segment below to `packages/backend/src/plugins/catalog.ts`:
|
||||
|
||||
@@ -98,7 +98,7 @@ the Azure catalog plugin:
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @backstage/plugin-catalog-backend-module-azure
|
||||
yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-azure
|
||||
```
|
||||
|
||||
Once you've done that, you'll also need to add the segment below to `packages/backend/src/plugins/catalog.ts`:
|
||||
|
||||
@@ -16,7 +16,7 @@ The package is not installed by default, therefore you have to add `@backstage/p
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @backstage/plugin-catalog-backend-module-msgraph
|
||||
yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-msgraph
|
||||
```
|
||||
|
||||
Next add the basic configuration to `app-config.yaml`
|
||||
|
||||
@@ -21,7 +21,7 @@ package.
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @backstage/plugin-catalog-backend-module-bitbucket-cloud
|
||||
yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-bitbucket-cloud
|
||||
```
|
||||
|
||||
### Installation without Events Support
|
||||
|
||||
@@ -21,7 +21,7 @@ package.
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @backstage/plugin-catalog-backend-module-bitbucket-server
|
||||
yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-bitbucket-server
|
||||
```
|
||||
|
||||
And then add the entity provider to your catalog builder:
|
||||
|
||||
@@ -18,7 +18,7 @@ the Gerrit provider plugin:
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @backstage/plugin-catalog-backend-module-gerrit
|
||||
yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-gerrit
|
||||
```
|
||||
|
||||
Then add the plugin to the plugin catalog `packages/backend/src/plugins/catalog.ts`:
|
||||
|
||||
@@ -23,7 +23,7 @@ package.
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @backstage/plugin-catalog-backend-module-github
|
||||
yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-github
|
||||
```
|
||||
|
||||
And then add the entity provider to your catalog builder:
|
||||
@@ -250,7 +250,7 @@ package, plus `@backstage/integration` for the basic credentials management:
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @backstage/integration @backstage/plugin-catalog-backend-module-github
|
||||
yarn --cwd packages/backend add @backstage/integration @backstage/plugin-catalog-backend-module-github
|
||||
```
|
||||
|
||||
And then add the processors to your catalog builder:
|
||||
|
||||
@@ -27,7 +27,7 @@ to `@backstage/plugin-catalog-backend-module-github` to your backend package.
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @backstage/plugin-catalog-backend-module-github
|
||||
yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-github
|
||||
```
|
||||
|
||||
> Note: When configuring to use a Provider instead of a Processor you do not
|
||||
@@ -308,7 +308,7 @@ install and register it in the catalog plugin:
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @backstage/plugin-catalog-backend-module-github
|
||||
yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-github
|
||||
```
|
||||
|
||||
```typescript title="packages/backend/src/plugins/catalog.ts"
|
||||
|
||||
@@ -39,7 +39,7 @@ the gitlab catalog plugin:
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @backstage/plugin-catalog-backend-module-gitlab
|
||||
yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-gitlab
|
||||
```
|
||||
|
||||
Once you've done that, you'll also need to add the segment below to `packages/backend/src/plugins/catalog.ts`:
|
||||
|
||||
@@ -15,7 +15,7 @@ As this provider is not one of the default providers, you will first need to ins
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @backstage/plugin-catalog-backend-module-gitlab
|
||||
yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-gitlab
|
||||
```
|
||||
|
||||
Then add the plugin to the plugin catalog `packages/backend/src/plugins/catalog.ts`:
|
||||
|
||||
@@ -26,7 +26,7 @@ to `@backstage/plugin-catalog-backend-module-ldap` to your backend package.
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @backstage/plugin-catalog-backend-module-ldap
|
||||
yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-ldap
|
||||
```
|
||||
|
||||
> Note: When configuring to use a Provider instead of a Processor you do not
|
||||
|
||||
@@ -45,7 +45,7 @@ You should create a new folder, `src/schema` in your backend plugin to store you
|
||||
|
||||
## Generating a typed express router from a spec
|
||||
|
||||
Run `yarn backstage-repo-tools schema openapi generate <plugin-directory>`. This will create an `openapi.generated.ts` file in the `src/schema` directory that contains the OpenAPI schema as well as a generated express router with types.
|
||||
Run `yarn backstage-repo-tools package schema openapi generate --server` from the directory with your plugin. This will create an `openapi.generated.ts` file in the `src/schema` directory that contains the OpenAPI schema as well as a generated express router with types. You should add this command to your `package.json` for future use and you can combine both the server generation and the client generation below like so, `yarn backstage-repo-tools package schema openapi generate --server --client-package <clientPackageDirectory>`
|
||||
|
||||
Use it like so, update your `router.ts` or `createRouter.ts` file with the following content,
|
||||
|
||||
@@ -63,7 +63,7 @@ export async function createRouter(
|
||||
|
||||
## Generating a typed client from a spec
|
||||
|
||||
Run `yarn backstage-repo-tools schema openapi generate-client --input-spec <plugin-directory>/src/schema/openapi.yaml --output-directory <plugin-client-directory>`. `<plugin-directory>` should match the same backend plugin we've been using so far. `<plugin-client-directory>` is a new directory and npm package that you should create. The general pattern is `plugins/<plugin-name>-client`.
|
||||
From your current backend plugin directory, run `yarn backstage-repo-tools package schema openapi generate --client-package <plugin-client-directory>`. `<plugin-client-directory>` is a new directory and npm package that you should create. The general pattern is `plugins/<plugin-name>-client` or if you want to co-locate this with your other shared types, use `plugins/<plugin-name>-common`. You should add this command to your `package.json` for future use.
|
||||
|
||||
The generated client will have a directory `src/generated` that exports a `DefaultApiClient` class and all generated types. You can use the client like so,
|
||||
|
||||
@@ -108,7 +108,7 @@ describe('createRouter', () => {
|
||||
+ app = wrapInOpenApiTestServer(express().use(router));
|
||||
```
|
||||
|
||||
This adds a wrapper around the express server that allows it to reroute traffic for `supertest`. Run `yarn backstage-repo-tools schema openapi init` to create some required config files. Now, when you run `yarn backstage-repo-tools schema openapi test` your schema will now be tested against your test data. Any errors will be reported.
|
||||
This adds a wrapper around the express server that allows it to reroute traffic for `supertest`. Run `yarn backstage-repo-tools package schema openapi init` to create some required files. Now, when you run `yarn backstage-repo-tools repo schema openapi test` your schema will now be tested against your test data. Any errors will be reported.
|
||||
|
||||
Our command is a small wrapper over [`Optic`](https://github.com/opticdev/optic) which does all of the heavy lifting.
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ title: Generate a client from your OpenAPI spec
|
||||
description: Documentation on how to create a client for a given OpenAPI spec
|
||||
---
|
||||
|
||||
## How to generate a client with `repo-tools schema openapi generate-client`?
|
||||
## How to generate a client with `repo-tools package schema openapi generate client`?
|
||||
|
||||
### Prerequisites
|
||||
|
||||
@@ -20,7 +20,7 @@ info:
|
||||
|
||||
### Generating your client
|
||||
|
||||
1. Run `yarn backstage-repo-tools schema openapi generate-client --input-spec <file> --output-directory <directory>`. This will create a new folder in `<directory>/src/generated` to house the generated content.
|
||||
1. Run `yarn backstage-repo-tools schema openapi generate client --output-package <directory>`. This will create a new folder in `<directory>/src/generated` to house the generated content.
|
||||
2. You should use the generated files as follows,
|
||||
|
||||
- `apis/DefaultApi.client.ts` - this is the client that you should use. It has types for all of the various operations on your API.
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
---
|
||||
id: test-case-validation
|
||||
title: Validate your OpenAPI spec against test data
|
||||
description: Documentation on how to use the `schema openapi test` command.
|
||||
description: Documentation on how to use the `repo schema openapi test` command.
|
||||
---
|
||||
|
||||
## OpenAPI Validation using Test Cases
|
||||
|
||||
This is primarily performed by `backstage-repo-tools schema openapi test`. Any errors found in the generated specs can be either
|
||||
This is primarily performed by `backstage-repo-tools repo schema openapi test`. Any errors found in the generated specs can be either
|
||||
|
||||
1. Fixed manually, this is usually relevant for request body or response body changes.
|
||||
2. Fixed automatically with `backstage-repo-tools schema openapi test --update`.
|
||||
2. Fixed automatically with `backstage-repo-tools repo schema openapi test --update`.
|
||||
3. Fixing the test case. This can happen where a response is mocked as
|
||||
|
||||
```ts
|
||||
|
||||
@@ -48,7 +48,7 @@ The permissions framework uses a new `permission-backend` plugin to accept autho
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @backstage/plugin-permission-backend
|
||||
yarn --cwd packages/backend add @backstage/plugin-permission-backend
|
||||
```
|
||||
|
||||
2. Add the following to a new file, `packages/backend/src/plugins/permission.ts`. This adds the permission-backend router, and configures it with a policy which allows everything.
|
||||
|
||||
@@ -41,8 +41,8 @@ The source code is available here:
|
||||
|
||||
```sh
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @internal/plugin-todo-list-backend @internal/plugin-todo-list-common
|
||||
yarn add --cwd packages/app @internal/plugin-todo-list
|
||||
yarn --cwd packages/backend add @internal/plugin-todo-list-backend @internal/plugin-todo-list-common
|
||||
yarn --cwd packages/app add @internal/plugin-todo-list
|
||||
```
|
||||
|
||||
3. Include the backend and frontend plugin in your application:
|
||||
|
||||
@@ -69,7 +69,7 @@ to your backend.
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @internal/plugin-carmen-backend@^0.1.0 # Change this to match the plugin's package.json
|
||||
yarn --cwd packages/backend add @internal/plugin-carmen-backend@^0.1.0 # Change this to match the plugin's package.json
|
||||
```
|
||||
|
||||
Create a new file named `packages/backend/src/plugins/carmen.ts`, and add the
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -39,10 +39,10 @@ both of them.
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
# install pg if you need PostgreSQL
|
||||
yarn add --cwd packages/backend pg
|
||||
yarn --cwd packages/backend add pg
|
||||
|
||||
# install SQLite 3 if you intend to set it as the client
|
||||
yarn add --cwd packages/backend better-sqlite3
|
||||
yarn --cwd packages/backend add better-sqlite3
|
||||
```
|
||||
|
||||
From an operational perspective, you only need to install drivers for clients
|
||||
|
||||
@@ -21,7 +21,7 @@ First, add PostgreSQL to your `backend` package:
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend pg
|
||||
yarn --cwd packages/backend add pg
|
||||
```
|
||||
|
||||
## Add PostgreSQL configuration
|
||||
|
||||
@@ -102,7 +102,7 @@ Install in your app’s package folder (`<root>/packages/app`) with:
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/app @backstage/plugin-<plugin-name>
|
||||
yarn --cwd packages/app add @backstage/plugin-<plugin-name>
|
||||
```
|
||||
|
||||
After that, you inject the plugin into the application where you want it to be exposed. Please read the documentation for the specific plugin you are installing for more information.
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
---
|
||||
title: Umami Analytics
|
||||
author: AxisCommunications
|
||||
authorUrl: https://github.com/AxisCommunications
|
||||
category: Monitoring
|
||||
description: Track usage of your Backstage instance using Umami Analytics.
|
||||
documentation: https://github.com/AxisCommunications/backstage-plugins/blob/main/plugins/analytics-module-umami/README.md
|
||||
iconUrl: /img/umami-logo.svg
|
||||
npmPackageName: '@axis-backstage/plugin-analytics-module-umami'
|
||||
addedDate: '2024-02-05'
|
||||
@@ -308,7 +308,8 @@
|
||||
"auth/google/gcp-iap-auth",
|
||||
"auth/okta/provider",
|
||||
"auth/oauth2-proxy/provider",
|
||||
"auth/onelogin/provider"
|
||||
"auth/onelogin/provider",
|
||||
"auth/vmware-cloud/provider"
|
||||
]
|
||||
},
|
||||
"auth/identity-resolver",
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 19 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 428 389.11"><circle cx="214.15" cy="181" r="171" fill="none" stroke="currentColor" stroke-miterlimit="10" stroke-width="20"/><path d="M413 134.11H15.29a15 15 0 0 0-15 15v15.3C.12 168 0 171.52 0 175.11c0 118.19 95.81 214 214 214 116.4 0 211.1-92.94 213.93-208.67 0-.44.07-.88.07-1.33v-30a15 15 0 0 0-15-15Z"/></svg>
|
||||
|
After Width: | Height: | Size: 390 B |
+5
-4
@@ -40,8 +40,8 @@
|
||||
"build-storybook": "yarn ./storybook run build-storybook",
|
||||
"techdocs-cli": "node scripts/techdocs-cli.js",
|
||||
"techdocs-cli:dev": "cross-env TECHDOCS_CLI_DEV_MODE=true node scripts/techdocs-cli.js",
|
||||
"prepare": "husky install",
|
||||
"postinstall": "husky install || true"
|
||||
"prepare": "husky",
|
||||
"postinstall": "husky || true"
|
||||
},
|
||||
"workspaces": {
|
||||
"packages": [
|
||||
@@ -56,7 +56,7 @@
|
||||
"@material-ui/pickers@^3.3.10": "patch:@material-ui/pickers@npm%3A3.3.11#./.yarn/patches/@material-ui-pickers-npm-3.3.11-1c8f68ea20.patch",
|
||||
"@material-ui/pickers@^3.2.10": "patch:@material-ui/pickers@npm%3A3.3.11#./.yarn/patches/@material-ui-pickers-npm-3.3.11-1c8f68ea20.patch"
|
||||
},
|
||||
"version": "1.23.0-next.1",
|
||||
"version": "1.23.0-next.2",
|
||||
"dependencies": {
|
||||
"@backstage/errors": "workspace:^",
|
||||
"@manypkg/get-packages": "^1.1.3",
|
||||
@@ -85,13 +85,14 @@
|
||||
"eslint-plugin-react": "^7.28.0",
|
||||
"eslint-plugin-testing-library": "^6.0.0",
|
||||
"fs-extra": "10.1.0",
|
||||
"husky": "^8.0.0",
|
||||
"husky": "^9.0.0",
|
||||
"lint-staged": "^15.0.0",
|
||||
"minimist": "^1.2.5",
|
||||
"node-gyp": "^10.0.0",
|
||||
"prettier": "^2.2.1",
|
||||
"semver": "^7.5.3",
|
||||
"shx": "^0.3.2",
|
||||
"sloc": "^0.3.1",
|
||||
"ts-node": "^10.4.0",
|
||||
"typescript": "~5.1.0"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,26 @@
|
||||
# @backstage/app-defaults
|
||||
|
||||
## 1.5.0-next.2
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- f919be9: Added a utility API for VMware Cloud auth; the API ref is available in the
|
||||
`@backstage/core-plugin-api` and `@backstage/frontend-plugin-api` packages, the
|
||||
implementation is in `@backstage/core-app-api` and a factory has been added to
|
||||
`@backstage/app-defaults`.
|
||||
- 7f11009: Added stack trace display to `ErrorPage` and updated existing refs
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 9aac2b0: Use `--cwd` as the first `yarn` argument
|
||||
- 214f2da: Fix invalid HTTP status code 501 in Error Page
|
||||
- Updated dependencies
|
||||
- @backstage/core-components@0.14.0-next.1
|
||||
- @backstage/core-app-api@1.12.0-next.1
|
||||
- @backstage/core-plugin-api@1.9.0-next.1
|
||||
- @backstage/plugin-permission-react@0.4.20-next.1
|
||||
- @backstage/theme@0.5.1-next.0
|
||||
|
||||
## 1.4.8-next.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -8,7 +8,7 @@ Install the package via Yarn:
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/app @backstage/app-defaults
|
||||
yarn --cwd packages/app add @backstage/app-defaults
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@backstage/app-defaults",
|
||||
"description": "Provides the default wiring of a Backstage App",
|
||||
"version": "1.4.8-next.1",
|
||||
"version": "1.5.0-next.2",
|
||||
"publishConfig": {
|
||||
"access": "public",
|
||||
"main": "dist/index.esm.js",
|
||||
|
||||
@@ -34,6 +34,7 @@ import {
|
||||
AtlassianAuth,
|
||||
createFetchApi,
|
||||
FetchMiddlewares,
|
||||
VMwareCloudAuth,
|
||||
} from '@backstage/core-app-api';
|
||||
|
||||
import {
|
||||
@@ -56,6 +57,7 @@ import {
|
||||
bitbucketAuthApiRef,
|
||||
bitbucketServerAuthApiRef,
|
||||
atlassianAuthApiRef,
|
||||
vmwareCloudAuthApiRef,
|
||||
} from '@backstage/core-plugin-api';
|
||||
import {
|
||||
permissionApiRef,
|
||||
@@ -259,6 +261,22 @@ export const apis = [
|
||||
});
|
||||
},
|
||||
}),
|
||||
createApiFactory({
|
||||
api: vmwareCloudAuthApiRef,
|
||||
deps: {
|
||||
discoveryApi: discoveryApiRef,
|
||||
oauthRequestApi: oauthRequestApiRef,
|
||||
configApi: configApiRef,
|
||||
},
|
||||
factory: ({ discoveryApi, oauthRequestApi, configApi }) => {
|
||||
return VMwareCloudAuth.create({
|
||||
configApi,
|
||||
discoveryApi,
|
||||
oauthRequestApi,
|
||||
environment: configApi.getOptionalString('auth.environment'),
|
||||
});
|
||||
},
|
||||
}),
|
||||
createApiFactory({
|
||||
api: permissionApiRef,
|
||||
deps: {
|
||||
|
||||
@@ -49,7 +49,7 @@ const DefaultBootErrorPage = ({ step, error }: BootErrorPageProps) => {
|
||||
// TODO: figure out a nicer way to handle routing on the error page, when it can be done.
|
||||
return (
|
||||
<OptionallyWrapInRouter>
|
||||
<ErrorPage statusMessage={message} />
|
||||
<ErrorPage statusMessage={message} stack={error.stack} />
|
||||
</OptionallyWrapInRouter>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# app-next-example-plugin
|
||||
|
||||
## 0.0.6-next.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/core-components@0.14.0-next.1
|
||||
- @backstage/frontend-plugin-api@0.6.0-next.2
|
||||
|
||||
## 0.0.6-next.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "app-next-example-plugin",
|
||||
"description": "Backstage internal example plugin",
|
||||
"version": "0.0.6-next.1",
|
||||
"version": "0.0.6-next.2",
|
||||
"publishConfig": {
|
||||
"access": "public",
|
||||
"main": "dist/index.esm.js",
|
||||
|
||||
@@ -1,5 +1,81 @@
|
||||
# example-app-next
|
||||
|
||||
## 0.0.6-next.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/plugin-azure-devops@0.3.12-next.2
|
||||
- @backstage/plugin-azure-sites@0.1.19-next.2
|
||||
- @backstage/core-components@0.14.0-next.1
|
||||
- @backstage/plugin-catalog-graph@0.4.0-next.2
|
||||
- @backstage/plugin-techdocs-module-addons-contrib@1.1.5-next.2
|
||||
- @backstage/plugin-catalog-unprocessed-entities@0.1.8-next.1
|
||||
- @backstage/plugin-microsoft-calendar@0.1.12-next.1
|
||||
- @backstage/plugin-catalog-import@0.10.6-next.2
|
||||
- @backstage/plugin-github-actions@0.6.11-next.2
|
||||
- @backstage/plugin-octopus-deploy@0.2.12-next.2
|
||||
- @backstage/plugin-techdocs-react@1.1.16-next.1
|
||||
- @backstage/app-defaults@1.5.0-next.2
|
||||
- @backstage/core-app-api@1.12.0-next.1
|
||||
- @backstage/plugin-code-coverage@0.2.23-next.2
|
||||
- @backstage/plugin-cost-insights@0.12.19-next.2
|
||||
- @backstage/plugin-tech-insights@0.3.22-next.2
|
||||
- @backstage/plugin-lighthouse@0.4.15-next.2
|
||||
- @backstage/plugin-scaffolder@1.18.0-next.2
|
||||
- @backstage/plugin-tech-radar@0.6.13-next.2
|
||||
- @backstage/plugin-dynatrace@9.0.0-next.2
|
||||
- @backstage/plugin-shortcuts@0.3.19-next.1
|
||||
- @backstage/plugin-airbrake@0.3.30-next.2
|
||||
- @backstage/plugin-api-docs@0.10.4-next.2
|
||||
- @backstage/plugin-devtools@0.1.9-next.2
|
||||
- @backstage/plugin-graphiql@0.3.3-next.2
|
||||
- @backstage/plugin-linguist@0.1.15-next.2
|
||||
- @backstage/plugin-newrelic@0.3.45-next.1
|
||||
- @backstage/plugin-catalog@1.17.0-next.2
|
||||
- @backstage/plugin-jenkins@0.9.5-next.2
|
||||
- @backstage/plugin-rollbar@0.4.30-next.2
|
||||
- @backstage/plugin-badges@0.2.54-next.2
|
||||
- @backstage/plugin-sentry@0.5.15-next.2
|
||||
- @backstage/plugin-home@0.6.2-next.2
|
||||
- @backstage/core-plugin-api@1.9.0-next.1
|
||||
- @backstage/frontend-plugin-api@0.6.0-next.2
|
||||
- @backstage/plugin-catalog-react@1.10.0-next.2
|
||||
- @backstage/frontend-app-api@0.6.0-next.2
|
||||
- @backstage/plugin-adr@0.6.13-next.2
|
||||
- @backstage/plugin-apache-airflow@0.2.20-next.1
|
||||
- @backstage/plugin-cloudbuild@0.4.0-next.2
|
||||
- @backstage/plugin-entity-feedback@0.2.13-next.2
|
||||
- @backstage/plugin-explore@0.4.16-next.2
|
||||
- @backstage/plugin-gcalendar@0.3.23-next.1
|
||||
- @backstage/plugin-kafka@0.3.30-next.2
|
||||
- @backstage/plugin-kubernetes@0.11.5-next.2
|
||||
- @backstage/plugin-newrelic-dashboard@0.3.5-next.2
|
||||
- @backstage/plugin-org@0.6.20-next.2
|
||||
- @backstage/plugin-pagerduty@0.7.2-next.2
|
||||
- @backstage/plugin-permission-react@0.4.20-next.1
|
||||
- @backstage/plugin-playlist@0.2.4-next.2
|
||||
- @backstage/plugin-puppetdb@0.1.13-next.2
|
||||
- @backstage/plugin-scaffolder-react@1.8.0-next.2
|
||||
- @backstage/plugin-search-react@1.7.6-next.2
|
||||
- @backstage/plugin-search@1.4.6-next.2
|
||||
- @backstage/plugin-stackstorm@0.1.11-next.1
|
||||
- @backstage/plugin-techdocs@1.10.0-next.2
|
||||
- @backstage/plugin-user-settings@0.8.1-next.2
|
||||
- @backstage/theme@0.5.1-next.0
|
||||
- @backstage/cli@0.25.2-next.2
|
||||
- app-next-example-plugin@0.0.6-next.2
|
||||
- @backstage/integration-react@1.1.24-next.1
|
||||
- @backstage/plugin-app-visualizer@0.1.1-next.2
|
||||
- @backstage/plugin-gcp-projects@0.3.46-next.1
|
||||
- @backstage/plugin-gocd@0.1.36-next.2
|
||||
- @backstage/plugin-todo@0.2.34-next.2
|
||||
- @backstage/core-compat-api@0.2.0-next.2
|
||||
- @backstage/catalog-model@1.4.4-next.0
|
||||
- @backstage/plugin-catalog-common@1.0.21-next.0
|
||||
- @backstage/plugin-linguist-common@0.1.2
|
||||
- @backstage/plugin-search-common@1.2.10
|
||||
|
||||
## 0.0.6-next.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -5,6 +5,7 @@ app:
|
||||
bindings:
|
||||
catalog.viewTechDoc: techdocs.docRoot
|
||||
catalog.createComponent: catalog-import.importPage
|
||||
org.catalogIndex: catalog.catalogIndex
|
||||
|
||||
extensions:
|
||||
# - apis.plugin.graphiql.browse.gitlab: true
|
||||
@@ -16,8 +17,21 @@ app:
|
||||
config:
|
||||
filter: kind:component has:links
|
||||
- entity-card:linguist/languages
|
||||
- entity-card:catalog-graph/relations:
|
||||
config:
|
||||
height: 300
|
||||
- entity-card:azure-devops/readme
|
||||
# Entity page content
|
||||
- entity-content:techdocs
|
||||
- entity-content:azure-devops/pipelines
|
||||
- entity-content:azure-devops/pull-requests
|
||||
- entity-content:azure-devops/git-tags
|
||||
|
||||
# Org Plugin
|
||||
- entity-card:org/group-profile
|
||||
- entity-card:org/members-list
|
||||
- entity-card:org/ownership
|
||||
- entity-card:org/user-profile
|
||||
|
||||
# scmAuthExtension: >-
|
||||
# createScmAuthExtension({
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "example-app-next",
|
||||
"version": "0.0.6-next.1",
|
||||
"version": "0.0.6-next.2",
|
||||
"private": true,
|
||||
"backstage": {
|
||||
"role": "frontend"
|
||||
|
||||
@@ -1,5 +1,83 @@
|
||||
# example-app
|
||||
|
||||
## 0.2.92-next.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/plugin-azure-devops@0.3.12-next.2
|
||||
- @backstage/plugin-azure-sites@0.1.19-next.2
|
||||
- @backstage/core-components@0.14.0-next.1
|
||||
- @backstage/plugin-catalog-graph@0.4.0-next.2
|
||||
- @backstage/plugin-techdocs-module-addons-contrib@1.1.5-next.2
|
||||
- @backstage/plugin-signals@0.0.1-next.2
|
||||
- @backstage/plugin-catalog-unprocessed-entities@0.1.8-next.1
|
||||
- @backstage/plugin-microsoft-calendar@0.1.12-next.1
|
||||
- @backstage/plugin-catalog-import@0.10.6-next.2
|
||||
- @backstage/plugin-github-actions@0.6.11-next.2
|
||||
- @backstage/plugin-octopus-deploy@0.2.12-next.2
|
||||
- @backstage/plugin-techdocs-react@1.1.16-next.1
|
||||
- @backstage/app-defaults@1.5.0-next.2
|
||||
- @backstage/core-app-api@1.12.0-next.1
|
||||
- @backstage/plugin-code-coverage@0.2.23-next.2
|
||||
- @backstage/plugin-cost-insights@0.12.19-next.2
|
||||
- @backstage/plugin-tech-insights@0.3.22-next.2
|
||||
- @backstage/plugin-lighthouse@0.4.15-next.2
|
||||
- @backstage/plugin-scaffolder@1.18.0-next.2
|
||||
- @backstage/plugin-tech-radar@0.6.13-next.2
|
||||
- @backstage/plugin-dynatrace@9.0.0-next.2
|
||||
- @backstage/plugin-shortcuts@0.3.19-next.1
|
||||
- @backstage/plugin-airbrake@0.3.30-next.2
|
||||
- @backstage/plugin-api-docs@0.10.4-next.2
|
||||
- @backstage/plugin-devtools@0.1.9-next.2
|
||||
- @backstage/plugin-graphiql@0.3.3-next.2
|
||||
- @backstage/plugin-linguist@0.1.15-next.2
|
||||
- @backstage/plugin-newrelic@0.3.45-next.1
|
||||
- @backstage/plugin-catalog@1.17.0-next.2
|
||||
- @backstage/plugin-jenkins@0.9.5-next.2
|
||||
- @backstage/plugin-rollbar@0.4.30-next.2
|
||||
- @backstage/plugin-badges@0.2.54-next.2
|
||||
- @backstage/plugin-sentry@0.5.15-next.2
|
||||
- @backstage/plugin-nomad@0.1.11-next.2
|
||||
- @backstage/plugin-home@0.6.2-next.2
|
||||
- @backstage/core-plugin-api@1.9.0-next.1
|
||||
- @backstage/plugin-catalog-react@1.10.0-next.2
|
||||
- @backstage/frontend-app-api@0.6.0-next.2
|
||||
- @backstage/plugin-adr@0.6.13-next.2
|
||||
- @backstage/plugin-apache-airflow@0.2.20-next.1
|
||||
- @backstage/plugin-cloudbuild@0.4.0-next.2
|
||||
- @backstage/plugin-entity-feedback@0.2.13-next.2
|
||||
- @backstage/plugin-explore@0.4.16-next.2
|
||||
- @backstage/plugin-gcalendar@0.3.23-next.1
|
||||
- @backstage/plugin-kafka@0.3.30-next.2
|
||||
- @backstage/plugin-kubernetes-cluster@0.0.6-next.2
|
||||
- @backstage/plugin-kubernetes@0.11.5-next.2
|
||||
- @backstage/plugin-newrelic-dashboard@0.3.5-next.2
|
||||
- @backstage/plugin-org@0.6.20-next.2
|
||||
- @backstage/plugin-pagerduty@0.7.2-next.2
|
||||
- @backstage/plugin-permission-react@0.4.20-next.1
|
||||
- @backstage/plugin-playlist@0.2.4-next.2
|
||||
- @backstage/plugin-puppetdb@0.1.13-next.2
|
||||
- @backstage/plugin-scaffolder-react@1.8.0-next.2
|
||||
- @backstage/plugin-search-react@1.7.6-next.2
|
||||
- @backstage/plugin-search@1.4.6-next.2
|
||||
- @backstage/plugin-stack-overflow@0.1.25-next.2
|
||||
- @backstage/plugin-stackstorm@0.1.11-next.1
|
||||
- @backstage/plugin-techdocs@1.10.0-next.2
|
||||
- @backstage/plugin-user-settings@0.8.1-next.2
|
||||
- @backstage/theme@0.5.1-next.0
|
||||
- @backstage/cli@0.25.2-next.2
|
||||
- @backstage/plugin-notifications@0.0.1-next.0
|
||||
- @backstage/integration-react@1.1.24-next.1
|
||||
- @backstage/plugin-gcp-projects@0.3.46-next.1
|
||||
- @backstage/plugin-gocd@0.1.36-next.2
|
||||
- @backstage/plugin-todo@0.2.34-next.2
|
||||
- @backstage/config@1.1.1
|
||||
- @backstage/catalog-model@1.4.4-next.0
|
||||
- @backstage/plugin-catalog-common@1.0.21-next.0
|
||||
- @backstage/plugin-linguist-common@0.1.2
|
||||
- @backstage/plugin-search-common@1.2.10
|
||||
|
||||
## 0.2.92-next.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "example-app",
|
||||
"version": "0.2.92-next.1",
|
||||
"version": "0.2.92-next.2",
|
||||
"private": true,
|
||||
"backstage": {
|
||||
"role": "frontend"
|
||||
@@ -59,6 +59,7 @@
|
||||
"@backstage/plugin-newrelic": "workspace:^",
|
||||
"@backstage/plugin-newrelic-dashboard": "workspace:^",
|
||||
"@backstage/plugin-nomad": "workspace:^",
|
||||
"@backstage/plugin-notifications": "workspace:^",
|
||||
"@backstage/plugin-octopus-deploy": "workspace:^",
|
||||
"@backstage/plugin-org": "workspace:^",
|
||||
"@backstage/plugin-pagerduty": "workspace:^",
|
||||
|
||||
@@ -67,15 +67,15 @@ import { SearchPage } from '@backstage/plugin-search';
|
||||
import { TechRadarPage } from '@backstage/plugin-tech-radar';
|
||||
import {
|
||||
TechDocsIndexPage,
|
||||
TechDocsReaderPage,
|
||||
techdocsPlugin,
|
||||
TechDocsReaderPage,
|
||||
} from '@backstage/plugin-techdocs';
|
||||
import { TechDocsAddons } from '@backstage/plugin-techdocs-react';
|
||||
import {
|
||||
ExpandableNavigation,
|
||||
LightBox,
|
||||
ReportIssue,
|
||||
TextSize,
|
||||
LightBox,
|
||||
} from '@backstage/plugin-techdocs-module-addons-contrib';
|
||||
import {
|
||||
SettingsLayout,
|
||||
@@ -107,6 +107,7 @@ import { PuppetDbPage } from '@backstage/plugin-puppetdb';
|
||||
import { DevToolsPage } from '@backstage/plugin-devtools';
|
||||
import { customDevToolsPage } from './components/devtools/CustomDevToolsPage';
|
||||
import { CatalogUnprocessedEntitiesPage } from '@backstage/plugin-catalog-unprocessed-entities';
|
||||
import { NotificationsPage } from '@backstage/plugin-notifications';
|
||||
|
||||
const app = createApp({
|
||||
apis,
|
||||
@@ -272,6 +273,7 @@ const routes = (
|
||||
<Route path="/devtools" element={<DevToolsPage />}>
|
||||
{customDevToolsPage}
|
||||
</Route>
|
||||
<Route path="/notifications" element={<NotificationsPage />} />
|
||||
</FlatRoutes>
|
||||
);
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ import {
|
||||
import { SidebarSearchModal } from '@backstage/plugin-search';
|
||||
import { Shortcuts } from '@backstage/plugin-shortcuts';
|
||||
import {
|
||||
Link,
|
||||
Sidebar,
|
||||
sidebarConfig,
|
||||
SidebarDivider,
|
||||
@@ -42,16 +43,16 @@ import {
|
||||
SidebarPage,
|
||||
SidebarScrollWrapper,
|
||||
SidebarSpace,
|
||||
Link,
|
||||
useSidebarOpenState,
|
||||
SidebarSubmenu,
|
||||
SidebarSubmenuItem,
|
||||
useSidebarOpenState,
|
||||
} from '@backstage/core-components';
|
||||
import { MyGroupsSidebarItem } from '@backstage/plugin-org';
|
||||
import { SearchModal } from '../search/SearchModal';
|
||||
import Score from '@material-ui/icons/Score';
|
||||
import { useApp } from '@backstage/core-plugin-api';
|
||||
import BuildIcon from '@material-ui/icons/Build';
|
||||
import { NotificationsSidebarItem } from '@backstage/plugin-notifications';
|
||||
|
||||
const useSidebarLogoStyles = makeStyles({
|
||||
root: {
|
||||
@@ -166,6 +167,8 @@ export const Root = ({ children }: PropsWithChildren<{}>) => (
|
||||
</SidebarScrollWrapper>
|
||||
<SidebarDivider />
|
||||
<Shortcuts allowExternalLinks />
|
||||
<SidebarDivider />
|
||||
<NotificationsSidebarItem />
|
||||
</SidebarGroup>
|
||||
<SidebarSpace />
|
||||
<SidebarDivider />
|
||||
|
||||
@@ -1,5 +1,23 @@
|
||||
# @backstage/backend-app-api
|
||||
|
||||
## 0.5.11-next.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 9aac2b0: Use `--cwd` as the first `yarn` argument
|
||||
- Updated dependencies
|
||||
- @backstage/backend-common@0.21.0-next.2
|
||||
- @backstage/backend-plugin-api@0.6.10-next.2
|
||||
- @backstage/backend-tasks@0.5.15-next.2
|
||||
- @backstage/plugin-auth-node@0.4.4-next.2
|
||||
- @backstage/plugin-permission-node@0.7.21-next.2
|
||||
- @backstage/config@1.1.1
|
||||
- @backstage/cli-common@0.1.13
|
||||
- @backstage/cli-node@0.2.2
|
||||
- @backstage/config-loader@1.6.1
|
||||
- @backstage/errors@1.2.3
|
||||
- @backstage/types@1.1.1
|
||||
|
||||
## 0.5.11-next.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -8,7 +8,7 @@ Add the library to your backend app package:
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @backstage/backend-app-api
|
||||
yarn --cwd packages/backend add @backstage/backend-app-api
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@backstage/backend-app-api",
|
||||
"description": "Core API used by Backstage backend apps",
|
||||
"version": "0.5.11-next.1",
|
||||
"version": "0.5.11-next.2",
|
||||
"main": "src/index.ts",
|
||||
"types": "src/index.ts",
|
||||
"publishConfig": {
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# @backstage/backend-common
|
||||
|
||||
## 0.21.0-next.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 3489d05: `FetchUrlReader#readUrl()` now supports passing an optional `token` to authenticate requests.
|
||||
- 9aac2b0: Use `--cwd` as the first `yarn` argument
|
||||
- 7fb7a79: Add a config declaration for `workingDirectory`
|
||||
- Updated dependencies
|
||||
- @backstage/backend-plugin-api@0.6.10-next.2
|
||||
- @backstage/backend-dev-utils@0.1.4-next.0
|
||||
- @backstage/backend-app-api@0.5.11-next.2
|
||||
- @backstage/config@1.1.1
|
||||
- @backstage/integration-aws-node@0.1.8
|
||||
- @backstage/cli-common@0.1.13
|
||||
- @backstage/config-loader@1.6.1
|
||||
- @backstage/errors@1.2.3
|
||||
- @backstage/integration@1.9.0-next.0
|
||||
- @backstage/types@1.1.1
|
||||
|
||||
## 0.21.0-next.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -9,7 +9,7 @@ Add the library to your backend package:
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @backstage/backend-common
|
||||
yarn --cwd packages/backend add @backstage/backend-common
|
||||
```
|
||||
|
||||
then make use of the handlers and logger as necessary:
|
||||
|
||||
Vendored
+16
@@ -67,6 +67,22 @@ export interface Config {
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* An absolute path to a directory that can be used as a working dir, for
|
||||
* example as scratch space for large operations.
|
||||
*
|
||||
* @remarks
|
||||
*
|
||||
* Note that this must be an absolute path.
|
||||
*
|
||||
* If not set, the operating system's designated temporary directory is
|
||||
* commonly used, but that is implementation defined per plugin.
|
||||
*
|
||||
* Plugins are encouraged to heed this config setting if present, to allow
|
||||
* deployment in severely locked-down or limited environments.
|
||||
*/
|
||||
workingDirectory?: string;
|
||||
|
||||
/** Database connection configuration, select base database type using the `client` field */
|
||||
database: {
|
||||
/** Default database client to use */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@backstage/backend-common",
|
||||
"description": "Common functionality library for Backstage backends",
|
||||
"version": "0.21.0-next.1",
|
||||
"version": "0.21.0-next.2",
|
||||
"main": "src/index.ts",
|
||||
"types": "src/index.ts",
|
||||
"publishConfig": {
|
||||
|
||||
@@ -223,6 +223,27 @@ describe('FetchUrlReader', () => {
|
||||
).rejects.toThrow(NotModifiedError);
|
||||
});
|
||||
|
||||
it('should send Authorization header if token is provided', async () => {
|
||||
expect.assertions(1);
|
||||
|
||||
worker.use(
|
||||
rest.get(
|
||||
'https://backstage.io/requires-authentication',
|
||||
(req, res, ctx) => {
|
||||
expect(req.headers.get('authorization')).toBe('Bearer mytoken');
|
||||
return res(ctx.status(200));
|
||||
},
|
||||
),
|
||||
);
|
||||
|
||||
await fetchUrlReader.readUrl(
|
||||
'https://backstage.io/requires-authentication',
|
||||
{
|
||||
token: 'mytoken',
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
it('should return etag from the response', async () => {
|
||||
const response = await fetchUrlReader.readUrl(
|
||||
'https://backstage.io/some-resource',
|
||||
|
||||
@@ -131,6 +131,7 @@ export class FetchUrlReader implements UrlReader {
|
||||
...(options?.lastModifiedAfter && {
|
||||
'If-Modified-Since': options.lastModifiedAfter.toUTCString(),
|
||||
}),
|
||||
...(options?.token && { Authorization: `Bearer ${options.token}` }),
|
||||
},
|
||||
// TODO(freben): The signal cast is there because pre-3.x versions of
|
||||
// node-fetch have a very slightly deviating AbortSignal type signature.
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
# @backstage/backend-defaults
|
||||
|
||||
## 0.2.10-next.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 9aac2b0: Use `--cwd` as the first `yarn` argument
|
||||
- Updated dependencies
|
||||
- @backstage/backend-common@0.21.0-next.2
|
||||
- @backstage/backend-plugin-api@0.6.10-next.2
|
||||
- @backstage/backend-app-api@0.5.11-next.2
|
||||
|
||||
## 0.2.10-next.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -8,7 +8,7 @@ Add the library to your backend app package:
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd packages/backend @backstage/backend-defaults
|
||||
yarn --cwd packages/backend add @backstage/backend-defaults
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@backstage/backend-defaults",
|
||||
"description": "Backend defaults used by Backstage backend apps",
|
||||
"version": "0.2.10-next.1",
|
||||
"version": "0.2.10-next.2",
|
||||
"main": "src/index.ts",
|
||||
"types": "src/index.ts",
|
||||
"publishConfig": {
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# @backstage/backend-dev-utils
|
||||
|
||||
## 0.1.4-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 9aac2b0: Use `--cwd` as the first `yarn` argument
|
||||
|
||||
## 0.1.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -8,7 +8,7 @@ Add the library to your backend plugin or module package:
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn add --cwd plugins/<plugin>-backend @backstage/backend-dev-utils
|
||||
yarn --cwd plugins/<plugin>-backend add @backstage/backend-dev-utils
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@backstage/backend-dev-utils",
|
||||
"version": "0.1.3",
|
||||
"version": "0.1.4-next.0",
|
||||
"main": "src/index.ts",
|
||||
"types": "src/index.ts",
|
||||
"license": "Apache-2.0",
|
||||
|
||||
@@ -1,5 +1,28 @@
|
||||
# @backstage/backend-dynamic-feature-service
|
||||
|
||||
## 0.1.1-next.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/backend-common@0.21.0-next.2
|
||||
- @backstage/backend-plugin-api@0.6.10-next.2
|
||||
- @backstage/plugin-catalog-backend@1.17.0-next.2
|
||||
- @backstage/backend-tasks@0.5.15-next.2
|
||||
- @backstage/plugin-events-backend@0.2.19-next.2
|
||||
- @backstage/plugin-auth-node@0.4.4-next.2
|
||||
- @backstage/plugin-permission-node@0.7.21-next.2
|
||||
- @backstage/plugin-scaffolder-node@0.3.0-next.2
|
||||
- @backstage/plugin-search-backend-node@1.2.14-next.2
|
||||
- @backstage/plugin-events-node@0.2.19-next.2
|
||||
- @backstage/config@1.1.1
|
||||
- @backstage/cli-common@0.1.13
|
||||
- @backstage/cli-node@0.2.2
|
||||
- @backstage/errors@1.2.3
|
||||
- @backstage/types@1.1.1
|
||||
- @backstage/plugin-permission-common@0.7.12
|
||||
- @backstage/plugin-search-common@1.2.10
|
||||
|
||||
## 0.1.1-next.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@backstage/backend-dynamic-feature-service",
|
||||
"description": "Backstage dynamic feature service",
|
||||
"version": "0.1.1-next.1",
|
||||
"version": "0.1.1-next.2",
|
||||
"main": "src/index.ts",
|
||||
"types": "src/index.ts",
|
||||
"publishConfig": {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user