Merge branch 'backstage:master' into gke-service-account

This commit is contained in:
Armando Comellas
2024-01-18 17:20:08 +00:00
committed by GitHub
806 changed files with 14714 additions and 4495 deletions
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-auth-backend': patch
---
Fixed an issue where some Okta's resolvers were missing
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-codescene': patch
---
Updated Readme document in codescene plugin
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-api-docs': patch
---
Fix custom http resolvers for AsyncAPI widget.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-compat-api': patch
---
Make `convertLegacyApp` wrap discovered routes with `compatWrapper`.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-common': patch
---
Adding support for removing file from git index
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-react': patch
---
Scaffolder form now shows a list of errors at the top of the form.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/frontend-plugin-api': patch
---
Exposed `createComponentRef`, and ensured that produced refs and feature bits have a `toString` for easier debugging
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-sonarqube-backend': patch
---
Updated README
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-components': patch
---
Fixed bug in Link where it was possible to select and copy a hidden element into clipboard
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-user-settings': patch
---
add user-settings declarative integration core nav item
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-api-docs': patch
---
Add permission check to Register Existing API button
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/create-app': patch
---
Bumped create-app version.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/create-app': patch
---
Bumped create-app version.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-azure-sites': patch
---
Show Azure site tags in `EntityAzureSitesOverviewWidget`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-adr': patch
---
Updated README
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-azure-devops-backend': patch
---
Added a note about Service Principles
-7
View File
@@ -1,7 +0,0 @@
---
'@backstage/cli': patch
---
Use sha256 instead of md5 in build script cache key calculation
Makes it possible to build on FIPS nodejs.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/backend-test-utils': minor
'@backstage/backend-common': minor
---
drop databases after unit tests if the database instance is not running in docker
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-backend-module-gitlab': patch
---
Add Scaffolder custom action that creates GitLab issues called `gitlab:issues:create`
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-kubernetes-backend': patch
---
Fixed an issue where a misleading error message would be logged when an
unsupported service locator method was specified.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-plugin-api': patch
---
Removed unnecessary `i18next` dependency.
-8
View File
@@ -1,8 +0,0 @@
---
'@backstage/backend-common': patch
---
Use sha256 instead of md5 for hash key calculation in caches
This can have a side effect of invalidating caches (when cache key was >250 characters)
This improves compliance with FIPS nodejs
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-kubernetes-react': patch
---
Fix broken XtermJS CSS import
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-react': patch
---
Fix for a step with no properties
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Fixed an issue where not passing a `value` to any of the action's permission conditions caused an error.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-app-api': patch
---
Include the extension point ID and the module ID in the backend init error message.
-14
View File
@@ -1,14 +0,0 @@
---
'@backstage/plugin-catalog-backend-module-openapi': patch
---
Add support for the new backend system.
A new backend module for the catalog backend
was added and exported as `default`.
You can use it with the new backend system like
```ts title="packages/backend/src/index.ts"
backend.add(import('@backstage/plugin-catalog-backend-module-openapi'));
```
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/plugin-scaffolder-backend-module-bitbucket': patch
'@backstage/plugin-scaffolder-backend': minor
---
The Scaffolder builtin actions now contains an action for running pipelines from Bitbucket Cloud Rest API
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder': patch
---
Added basic support for the new frontend system, exported from the `/alpha` subpath.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-user-settings': minor
---
Updated the user settings selector to use a select component that displays native language names instead of language codes if possible.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-octopus-deploy': patch
---
added install path and fixed import on plugin-octopus-deploy
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-kubernetes-backend': patch
'@backstage/plugin-kubernetes-node': patch
---
Enabled a way to include custom auth metadata info on the clusters endpoint. If you want to implement a Kubernetes auth strategy which requires surfacing custom auth metadata to the frontend, use the new presentAuthMetadata method on the AuthenticationStrategy interface.
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/frontend-plugin-api': patch
'@backstage/frontend-app-api': patch
---
Accepts sub route refs on the new `createPlugin` routes map.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/catalog-client': patch
---
Fix a bug in `getLocationByRef` that led to invalid backend calls
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/repo-tools': patch
---
Updated the OpenAPI template to export the `TypedResponse` interface so that client code can leverage it
-9
View File
@@ -1,9 +0,0 @@
---
'@backstage/plugin-scaffolder-backend-module-confluence-to-markdown': patch
'@backstage/config-loader': patch
'@backstage/create-app': patch
'@backstage/repo-tools': patch
'@backstage/cli-node': patch
---
Removed `mock-fs` dev dependency.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-entity-validation': patch
---
Improves UX of the EntityValidationPage: Moves the validate button below the EntityTextArea which is actually validated, the location TextField can now be hidden to prevent confusion about what is validated and additional content can be added to the top of the validation page.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend-module-gitlab': patch
---
Added the option to provide custom `groupTransformer`, `userTransformer` and `groupNameTransformer` to allow custom transformations of groups and users
-8
View File
@@ -1,8 +0,0 @@
---
'@backstage/plugin-kubernetes-react': patch
'@backstage/plugin-kubernetes': patch
---
Add `authuser` search parameter to GKE cluster link formatter in k8s plugin
Thanks to this, people with multiple simultaneously logged-in accounts in their GCP console will automatically view objects with the same email as the one signed in to the Google auth provider in Backstage.
-7
View File
@@ -1,7 +0,0 @@
---
'@backstage/plugin-events-backend-module-bitbucket-cloud': patch
'@backstage/plugin-events-backend-module-gerrit': patch
'@backstage/plugin-events-backend-module-azure': patch
---
Add default exports for the new backend system and documentation.
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/frontend-app-api': minor
'@backstage/frontend-plugin-api': minor
---
**BREAKING**: Renamed the `app/router` extension to `app/root`.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/frontend-test-utils': patch
---
Updates to reflect the `app/router` extension having been renamed to `app/root`.
-8
View File
@@ -1,8 +0,0 @@
---
'@backstage/plugin-search-backend-module-stack-overflow-collator': patch
'@backstage/plugin-search-backend-module-techdocs': patch
'@backstage/plugin-search-backend-module-catalog': patch
'@backstage/plugin-search-backend-module-explore': patch
---
Update wording to show that the backend system no longer is in alpha
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-stack-overflow': patch
---
Fixes a bug that made the API return questions not related to the tags provided
+239 -268
View File
@@ -2,296 +2,267 @@
"mode": "pre",
"tag": "next",
"initialVersions": {
"example-app": "0.2.90",
"@backstage/app-defaults": "1.4.6",
"example-app-next": "0.0.4",
"app-next-example-plugin": "0.0.4",
"example-backend": "0.2.90",
"@backstage/backend-app-api": "0.5.9",
"@backstage/backend-common": "0.20.0",
"@backstage/backend-defaults": "0.2.8",
"@backstage/backend-dev-utils": "0.1.2",
"example-backend-next": "0.0.18",
"@backstage/backend-openapi-utils": "0.1.1",
"@backstage/backend-plugin-api": "0.6.8",
"@backstage/backend-plugin-manager": "0.0.4",
"@backstage/backend-tasks": "0.5.13",
"@backstage/backend-test-utils": "0.2.9",
"@backstage/catalog-client": "1.5.0",
"example-app": "0.2.91",
"@backstage/app-defaults": "1.4.7",
"example-app-next": "0.0.5",
"app-next-example-plugin": "0.0.5",
"example-backend": "0.2.91",
"@backstage/backend-app-api": "0.5.10",
"@backstage/backend-common": "0.20.1",
"@backstage/backend-defaults": "0.2.9",
"@backstage/backend-dev-utils": "0.1.3",
"@backstage/backend-dynamic-feature-service": "0.1.0",
"example-backend-next": "0.0.19",
"@backstage/backend-openapi-utils": "0.1.2",
"@backstage/backend-plugin-api": "0.6.9",
"@backstage/backend-tasks": "0.5.14",
"@backstage/backend-test-utils": "0.2.10",
"@backstage/catalog-client": "1.5.2",
"@backstage/catalog-model": "1.4.3",
"@backstage/cli": "0.25.0",
"@backstage/cli": "0.25.1",
"@backstage/cli-common": "0.1.13",
"@backstage/cli-node": "0.2.1",
"@backstage/cli-node": "0.2.2",
"@backstage/codemods": "0.1.46",
"@backstage/config": "1.1.1",
"@backstage/config-loader": "1.6.0",
"@backstage/core-app-api": "1.11.2",
"@backstage/core-compat-api": "0.1.0",
"@backstage/core-components": "0.13.9",
"@backstage/core-plugin-api": "1.8.1",
"@backstage/create-app": "0.5.8",
"@backstage/dev-utils": "1.0.25",
"e2e-test": "0.2.10",
"@backstage/config-loader": "1.6.1",
"@backstage/core-app-api": "1.11.3",
"@backstage/core-compat-api": "0.1.1",
"@backstage/core-components": "0.13.10",
"@backstage/core-plugin-api": "1.8.2",
"@backstage/create-app": "0.5.9",
"@backstage/dev-utils": "1.0.26",
"e2e-test": "0.2.11",
"@backstage/e2e-test-utils": "0.1.0",
"@backstage/errors": "1.2.3",
"@backstage/eslint-plugin": "0.1.4",
"@backstage/frontend-app-api": "0.4.0",
"@backstage/frontend-plugin-api": "0.4.0",
"@backstage/frontend-test-utils": "0.1.0",
"@backstage/frontend-app-api": "0.5.0",
"@backstage/frontend-plugin-api": "0.5.0",
"@backstage/frontend-test-utils": "0.1.1",
"@backstage/integration": "1.8.0",
"@backstage/integration-aws-node": "0.1.8",
"@backstage/integration-react": "1.1.22",
"@backstage/integration-react": "1.1.23",
"@backstage/release-manifests": "0.0.11",
"@backstage/repo-tools": "0.5.0",
"@techdocs/cli": "1.8.0",
"techdocs-cli-embedded-app": "0.2.89",
"@backstage/test-utils": "1.4.6",
"@backstage/repo-tools": "0.5.2",
"@techdocs/cli": "1.8.1",
"techdocs-cli-embedded-app": "0.2.90",
"@backstage/test-utils": "1.4.7",
"@backstage/theme": "0.5.0",
"@backstage/types": "1.1.1",
"@backstage/version-bridge": "1.0.7",
"@backstage/plugin-adr": "0.6.11",
"@backstage/plugin-adr-backend": "0.4.5",
"@backstage/plugin-adr-common": "0.2.18",
"@backstage/plugin-airbrake": "0.3.28",
"@backstage/plugin-airbrake-backend": "0.3.5",
"@backstage/plugin-allure": "0.1.44",
"@backstage/plugin-analytics-module-ga": "0.1.36",
"@backstage/plugin-analytics-module-ga4": "0.1.7",
"@backstage/plugin-analytics-module-newrelic-browser": "0.0.5",
"@backstage/plugin-apache-airflow": "0.2.18",
"@backstage/plugin-api-docs": "0.10.2",
"@backstage/plugin-adr": "0.6.12",
"@backstage/plugin-adr-backend": "0.4.6",
"@backstage/plugin-adr-common": "0.2.19",
"@backstage/plugin-airbrake": "0.3.29",
"@backstage/plugin-airbrake-backend": "0.3.6",
"@backstage/plugin-allure": "0.1.45",
"@backstage/plugin-analytics-module-ga": "0.1.37",
"@backstage/plugin-analytics-module-ga4": "0.1.8",
"@backstage/plugin-analytics-module-newrelic-browser": "0.0.6",
"@backstage/plugin-apache-airflow": "0.2.19",
"@backstage/plugin-api-docs": "0.10.3",
"@backstage/plugin-api-docs-module-protoc-gen-doc": "0.1.5",
"@backstage/plugin-apollo-explorer": "0.1.18",
"@backstage/plugin-app-backend": "0.3.56",
"@backstage/plugin-app-node": "0.1.8",
"@backstage/plugin-auth-backend": "0.20.1",
"@backstage/plugin-auth-backend-module-atlassian-provider": "0.1.0",
"@backstage/plugin-auth-backend-module-gcp-iap-provider": "0.2.2",
"@backstage/plugin-auth-backend-module-github-provider": "0.1.5",
"@backstage/plugin-auth-backend-module-gitlab-provider": "0.1.5",
"@backstage/plugin-auth-backend-module-google-provider": "0.1.5",
"@backstage/plugin-auth-backend-module-microsoft-provider": "0.1.3",
"@backstage/plugin-auth-backend-module-oauth2-provider": "0.1.5",
"@backstage/plugin-auth-backend-module-oauth2-proxy-provider": "0.1.0",
"@backstage/plugin-auth-backend-module-okta-provider": "0.0.1",
"@backstage/plugin-auth-backend-module-pinniped-provider": "0.1.2",
"@backstage/plugin-auth-backend-module-vmware-cloud-provider": "0.1.0",
"@backstage/plugin-auth-node": "0.4.2",
"@backstage/plugin-azure-devops": "0.3.10",
"@backstage/plugin-azure-devops-backend": "0.5.0",
"@backstage/plugin-apollo-explorer": "0.1.19",
"@backstage/plugin-app-backend": "0.3.57",
"@backstage/plugin-app-node": "0.1.9",
"@backstage/plugin-app-visualizer": "0.1.0",
"@backstage/plugin-auth-backend": "0.20.3",
"@backstage/plugin-auth-backend-module-atlassian-provider": "0.1.1",
"@backstage/plugin-auth-backend-module-gcp-iap-provider": "0.2.3",
"@backstage/plugin-auth-backend-module-github-provider": "0.1.6",
"@backstage/plugin-auth-backend-module-gitlab-provider": "0.1.6",
"@backstage/plugin-auth-backend-module-google-provider": "0.1.6",
"@backstage/plugin-auth-backend-module-microsoft-provider": "0.1.4",
"@backstage/plugin-auth-backend-module-oauth2-provider": "0.1.6",
"@backstage/plugin-auth-backend-module-oauth2-proxy-provider": "0.1.1",
"@backstage/plugin-auth-backend-module-okta-provider": "0.0.2",
"@backstage/plugin-auth-backend-module-pinniped-provider": "0.1.3",
"@backstage/plugin-auth-backend-module-vmware-cloud-provider": "0.1.1",
"@backstage/plugin-auth-node": "0.4.3",
"@backstage/plugin-azure-devops": "0.3.11",
"@backstage/plugin-azure-devops-backend": "0.5.1",
"@backstage/plugin-azure-devops-common": "0.3.2",
"@backstage/plugin-azure-sites": "0.1.17",
"@backstage/plugin-azure-sites-backend": "0.1.18",
"@backstage/plugin-azure-sites": "0.1.18",
"@backstage/plugin-azure-sites-backend": "0.1.19",
"@backstage/plugin-azure-sites-common": "0.1.1",
"@backstage/plugin-badges": "0.2.52",
"@backstage/plugin-badges-backend": "0.3.5",
"@backstage/plugin-bazaar": "0.2.20",
"@backstage/plugin-bazaar-backend": "0.3.6",
"@backstage/plugin-badges": "0.2.53",
"@backstage/plugin-badges-backend": "0.3.6",
"@backstage/plugin-bazaar": "0.2.21",
"@backstage/plugin-bazaar-backend": "0.3.7",
"@backstage/plugin-bitbucket-cloud-common": "0.2.15",
"@backstage/plugin-bitrise": "0.1.55",
"@backstage/plugin-catalog": "1.16.0",
"@backstage/plugin-catalog-backend": "1.16.0",
"@backstage/plugin-catalog-backend-module-aws": "0.3.2",
"@backstage/plugin-catalog-backend-module-azure": "0.1.27",
"@backstage/plugin-catalog-backend-module-backstage-openapi": "0.1.1",
"@backstage/plugin-catalog-backend-module-bitbucket": "0.2.23",
"@backstage/plugin-catalog-backend-module-bitbucket-cloud": "0.1.23",
"@backstage/plugin-catalog-backend-module-bitbucket-server": "0.1.21",
"@backstage/plugin-catalog-backend-module-gcp": "0.1.8",
"@backstage/plugin-catalog-backend-module-gerrit": "0.1.24",
"@backstage/plugin-catalog-backend-module-github": "0.4.6",
"@backstage/plugin-catalog-backend-module-github-org": "0.1.2",
"@backstage/plugin-catalog-backend-module-gitlab": "0.3.5",
"@backstage/plugin-catalog-backend-module-incremental-ingestion": "0.4.12",
"@backstage/plugin-catalog-backend-module-ldap": "0.5.23",
"@backstage/plugin-catalog-backend-module-msgraph": "0.5.15",
"@backstage/plugin-catalog-backend-module-openapi": "0.1.25",
"@backstage/plugin-catalog-backend-module-puppetdb": "0.1.13",
"@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "0.1.5",
"@backstage/plugin-catalog-backend-module-unprocessed": "0.3.5",
"@backstage/plugin-catalog-common": "1.0.19",
"@backstage/plugin-catalog-graph": "0.3.2",
"@backstage/plugin-catalog-import": "0.10.4",
"@backstage/plugin-catalog-node": "1.6.0",
"@backstage/plugin-catalog-react": "1.9.2",
"@backstage/plugin-catalog-unprocessed-entities": "0.1.6",
"@backstage/plugin-cicd-statistics": "0.1.30",
"@backstage/plugin-cicd-statistics-module-gitlab": "0.1.24",
"@backstage/plugin-circleci": "0.3.28",
"@backstage/plugin-cloudbuild": "0.3.28",
"@backstage/plugin-code-climate": "0.1.28",
"@backstage/plugin-code-coverage": "0.2.21",
"@backstage/plugin-code-coverage-backend": "0.2.22",
"@backstage/plugin-codescene": "0.1.20",
"@backstage/plugin-config-schema": "0.1.48",
"@backstage/plugin-cost-insights": "0.12.17",
"@backstage/plugin-bitrise": "0.1.56",
"@backstage/plugin-catalog": "1.16.1",
"@backstage/plugin-catalog-backend": "1.16.1",
"@backstage/plugin-catalog-backend-module-aws": "0.3.3",
"@backstage/plugin-catalog-backend-module-azure": "0.1.28",
"@backstage/plugin-catalog-backend-module-backstage-openapi": "0.1.2",
"@backstage/plugin-catalog-backend-module-bitbucket": "0.2.24",
"@backstage/plugin-catalog-backend-module-bitbucket-cloud": "0.1.24",
"@backstage/plugin-catalog-backend-module-bitbucket-server": "0.1.22",
"@backstage/plugin-catalog-backend-module-gcp": "0.1.9",
"@backstage/plugin-catalog-backend-module-gerrit": "0.1.25",
"@backstage/plugin-catalog-backend-module-github": "0.4.7",
"@backstage/plugin-catalog-backend-module-github-org": "0.1.3",
"@backstage/plugin-catalog-backend-module-gitlab": "0.3.6",
"@backstage/plugin-catalog-backend-module-incremental-ingestion": "0.4.13",
"@backstage/plugin-catalog-backend-module-ldap": "0.5.24",
"@backstage/plugin-catalog-backend-module-msgraph": "0.5.16",
"@backstage/plugin-catalog-backend-module-openapi": "0.1.26",
"@backstage/plugin-catalog-backend-module-puppetdb": "0.1.14",
"@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "0.1.6",
"@backstage/plugin-catalog-backend-module-unprocessed": "0.3.6",
"@backstage/plugin-catalog-common": "1.0.20",
"@backstage/plugin-catalog-graph": "0.3.3",
"@backstage/plugin-catalog-import": "0.10.5",
"@backstage/plugin-catalog-node": "1.6.1",
"@backstage/plugin-catalog-react": "1.9.3",
"@backstage/plugin-catalog-unprocessed-entities": "0.1.7",
"@backstage/plugin-cicd-statistics": "0.1.31",
"@backstage/plugin-cicd-statistics-module-gitlab": "0.1.25",
"@backstage/plugin-circleci": "0.3.29",
"@backstage/plugin-cloudbuild": "0.3.29",
"@backstage/plugin-code-climate": "0.1.29",
"@backstage/plugin-code-coverage": "0.2.22",
"@backstage/plugin-code-coverage-backend": "0.2.23",
"@backstage/plugin-codescene": "0.1.21",
"@backstage/plugin-config-schema": "0.1.49",
"@backstage/plugin-cost-insights": "0.12.18",
"@backstage/plugin-cost-insights-common": "0.1.2",
"@backstage/plugin-devtools": "0.1.7",
"@backstage/plugin-devtools-backend": "0.2.5",
"@backstage/plugin-devtools-common": "0.1.7",
"@backstage/plugin-dynatrace": "8.0.2",
"@backstage/plugin-entity-feedback": "0.2.11",
"@backstage/plugin-entity-feedback-backend": "0.2.5",
"@backstage/plugin-devtools": "0.1.8",
"@backstage/plugin-devtools-backend": "0.2.6",
"@backstage/plugin-devtools-common": "0.1.8",
"@backstage/plugin-dynatrace": "8.0.3",
"@backstage/plugin-entity-feedback": "0.2.12",
"@backstage/plugin-entity-feedback-backend": "0.2.6",
"@backstage/plugin-entity-feedback-common": "0.1.3",
"@backstage/plugin-entity-validation": "0.1.13",
"@backstage/plugin-events-backend": "0.2.17",
"@backstage/plugin-events-backend-module-aws-sqs": "0.2.11",
"@backstage/plugin-events-backend-module-azure": "0.1.18",
"@backstage/plugin-events-backend-module-bitbucket-cloud": "0.1.18",
"@backstage/plugin-events-backend-module-gerrit": "0.1.18",
"@backstage/plugin-events-backend-module-github": "0.1.18",
"@backstage/plugin-events-backend-module-gitlab": "0.1.18",
"@backstage/plugin-events-backend-test-utils": "0.1.18",
"@backstage/plugin-events-node": "0.2.17",
"@internal/plugin-todo-list": "1.0.20",
"@internal/plugin-todo-list-backend": "1.0.20",
"@internal/plugin-todo-list-common": "1.0.16",
"@backstage/plugin-explore": "0.4.14",
"@backstage/plugin-explore-backend": "0.0.18",
"@backstage/plugin-entity-validation": "0.1.14",
"@backstage/plugin-events-backend": "0.2.18",
"@backstage/plugin-events-backend-module-aws-sqs": "0.2.12",
"@backstage/plugin-events-backend-module-azure": "0.1.19",
"@backstage/plugin-events-backend-module-bitbucket-cloud": "0.1.19",
"@backstage/plugin-events-backend-module-gerrit": "0.1.19",
"@backstage/plugin-events-backend-module-github": "0.1.19",
"@backstage/plugin-events-backend-module-gitlab": "0.1.19",
"@backstage/plugin-events-backend-test-utils": "0.1.19",
"@backstage/plugin-events-node": "0.2.18",
"@internal/plugin-todo-list": "1.0.21",
"@internal/plugin-todo-list-backend": "1.0.21",
"@internal/plugin-todo-list-common": "1.0.17",
"@backstage/plugin-explore": "0.4.15",
"@backstage/plugin-explore-backend": "0.0.19",
"@backstage/plugin-explore-common": "0.0.2",
"@backstage/plugin-explore-react": "0.0.34",
"@backstage/plugin-firehydrant": "0.2.12",
"@backstage/plugin-fossa": "0.2.60",
"@backstage/plugin-gcalendar": "0.3.21",
"@backstage/plugin-gcp-projects": "0.3.44",
"@backstage/plugin-git-release-manager": "0.3.40",
"@backstage/plugin-github-actions": "0.6.9",
"@backstage/plugin-github-deployments": "0.1.59",
"@backstage/plugin-github-issues": "0.2.17",
"@backstage/plugin-github-pull-requests-board": "0.1.22",
"@backstage/plugin-gitops-profiles": "0.3.43",
"@backstage/plugin-gocd": "0.1.34",
"@backstage/plugin-graphiql": "0.3.1",
"@backstage/plugin-graphql-voyager": "0.1.10",
"@backstage/plugin-home": "0.6.0",
"@backstage/plugin-home-react": "0.1.6",
"@backstage/plugin-ilert": "0.2.17",
"@backstage/plugin-jenkins": "0.9.3",
"@backstage/plugin-jenkins-backend": "0.3.2",
"@backstage/plugin-jenkins-common": "0.1.22",
"@backstage/plugin-kafka": "0.3.28",
"@backstage/plugin-kafka-backend": "0.3.6",
"@backstage/plugin-kubernetes": "0.11.3",
"@backstage/plugin-kubernetes-backend": "0.14.0",
"@backstage/plugin-kubernetes-cluster": "0.0.4",
"@backstage/plugin-kubernetes-common": "0.7.2",
"@backstage/plugin-kubernetes-node": "0.1.2",
"@backstage/plugin-kubernetes-react": "0.2.0",
"@backstage/plugin-lighthouse": "0.4.13",
"@backstage/plugin-lighthouse-backend": "0.4.0",
"@backstage/plugin-explore-react": "0.0.35",
"@backstage/plugin-firehydrant": "0.2.13",
"@backstage/plugin-fossa": "0.2.61",
"@backstage/plugin-gcalendar": "0.3.22",
"@backstage/plugin-gcp-projects": "0.3.45",
"@backstage/plugin-git-release-manager": "0.3.41",
"@backstage/plugin-github-actions": "0.6.10",
"@backstage/plugin-github-deployments": "0.1.60",
"@backstage/plugin-github-issues": "0.2.18",
"@backstage/plugin-github-pull-requests-board": "0.1.23",
"@backstage/plugin-gitops-profiles": "0.3.44",
"@backstage/plugin-gocd": "0.1.35",
"@backstage/plugin-graphiql": "0.3.2",
"@backstage/plugin-graphql-voyager": "0.1.11",
"@backstage/plugin-home": "0.6.1",
"@backstage/plugin-home-react": "0.1.7",
"@backstage/plugin-ilert": "0.2.18",
"@backstage/plugin-jenkins": "0.9.4",
"@backstage/plugin-jenkins-backend": "0.3.3",
"@backstage/plugin-jenkins-common": "0.1.23",
"@backstage/plugin-kafka": "0.3.29",
"@backstage/plugin-kafka-backend": "0.3.7",
"@backstage/plugin-kubernetes": "0.11.4",
"@backstage/plugin-kubernetes-backend": "0.14.1",
"@backstage/plugin-kubernetes-cluster": "0.0.5",
"@backstage/plugin-kubernetes-common": "0.7.3",
"@backstage/plugin-kubernetes-node": "0.1.3",
"@backstage/plugin-kubernetes-react": "0.2.1",
"@backstage/plugin-lighthouse": "0.4.14",
"@backstage/plugin-lighthouse-backend": "0.4.1",
"@backstage/plugin-lighthouse-common": "0.1.4",
"@backstage/plugin-linguist": "0.1.13",
"@backstage/plugin-linguist-backend": "0.5.5",
"@backstage/plugin-linguist": "0.1.14",
"@backstage/plugin-linguist-backend": "0.5.6",
"@backstage/plugin-linguist-common": "0.1.2",
"@backstage/plugin-microsoft-calendar": "0.1.10",
"@backstage/plugin-newrelic": "0.3.43",
"@backstage/plugin-newrelic-dashboard": "0.3.3",
"@backstage/plugin-nomad": "0.1.9",
"@backstage/plugin-nomad-backend": "0.1.10",
"@backstage/plugin-octopus-deploy": "0.2.10",
"@backstage/plugin-opencost": "0.2.3",
"@backstage/plugin-org": "0.6.18",
"@backstage/plugin-org-react": "0.1.17",
"@backstage/plugin-pagerduty": "0.7.0",
"@backstage/plugin-periskop": "0.1.26",
"@backstage/plugin-periskop-backend": "0.2.6",
"@backstage/plugin-permission-backend": "0.5.31",
"@backstage/plugin-permission-backend-module-allow-all-policy": "0.1.5",
"@backstage/plugin-permission-common": "0.7.11",
"@backstage/plugin-permission-node": "0.7.19",
"@backstage/plugin-permission-react": "0.4.18",
"@backstage/plugin-playlist": "0.2.2",
"@backstage/plugin-playlist-backend": "0.3.12",
"@backstage/plugin-playlist-common": "0.1.13",
"@backstage/plugin-proxy-backend": "0.4.6",
"@backstage/plugin-puppetdb": "0.1.11",
"@backstage/plugin-rollbar": "0.4.28",
"@backstage/plugin-rollbar-backend": "0.1.53",
"@backstage/plugin-scaffolder": "1.17.0",
"@backstage/plugin-scaffolder-backend": "1.19.2",
"@backstage/plugin-scaffolder-backend-module-azure": "0.1.0",
"@backstage/plugin-scaffolder-backend-module-bitbucket": "0.1.0",
"@backstage/plugin-scaffolder-backend-module-confluence-to-markdown": "0.2.9",
"@backstage/plugin-scaffolder-backend-module-cookiecutter": "0.2.32",
"@backstage/plugin-scaffolder-backend-module-gerrit": "0.1.0",
"@backstage/plugin-scaffolder-backend-module-github": "0.1.0",
"@backstage/plugin-scaffolder-backend-module-gitlab": "0.2.11",
"@backstage/plugin-scaffolder-backend-module-rails": "0.4.25",
"@backstage/plugin-scaffolder-backend-module-sentry": "0.1.16",
"@backstage/plugin-scaffolder-backend-module-yeoman": "0.2.29",
"@backstage/plugin-scaffolder-common": "1.4.4",
"@backstage/plugin-scaffolder-node": "0.2.9",
"@backstage/plugin-scaffolder-react": "1.7.0",
"@backstage/plugin-search": "1.4.4",
"@backstage/plugin-search-backend": "1.4.8",
"@backstage/plugin-search-backend-module-catalog": "0.1.12",
"@backstage/plugin-search-backend-module-elasticsearch": "1.3.11",
"@backstage/plugin-search-backend-module-explore": "0.1.12",
"@backstage/plugin-search-backend-module-pg": "0.5.17",
"@backstage/plugin-search-backend-module-stack-overflow-collator": "0.1.1",
"@backstage/plugin-search-backend-module-techdocs": "0.1.12",
"@backstage/plugin-search-backend-node": "1.2.12",
"@backstage/plugin-search-common": "1.2.9",
"@backstage/plugin-search-react": "1.7.4",
"@backstage/plugin-sentry": "0.5.13",
"@backstage/plugin-shortcuts": "0.3.17",
"@backstage/plugin-sonarqube": "0.7.10",
"@backstage/plugin-sonarqube-backend": "0.2.10",
"@backstage/plugin-sonarqube-react": "0.1.11",
"@backstage/plugin-splunk-on-call": "0.4.17",
"@backstage/plugin-stack-overflow": "0.1.23",
"@backstage/plugin-stack-overflow-backend": "0.2.12",
"@backstage/plugin-stackstorm": "0.1.9",
"@backstage/plugin-tech-insights": "0.3.20",
"@backstage/plugin-tech-insights-backend": "0.5.22",
"@backstage/plugin-tech-insights-backend-module-jsonfc": "0.1.40",
"@backstage/plugin-microsoft-calendar": "0.1.11",
"@backstage/plugin-newrelic": "0.3.44",
"@backstage/plugin-newrelic-dashboard": "0.3.4",
"@backstage/plugin-nomad": "0.1.10",
"@backstage/plugin-nomad-backend": "0.1.11",
"@backstage/plugin-octopus-deploy": "0.2.11",
"@backstage/plugin-opencost": "0.2.4",
"@backstage/plugin-org": "0.6.19",
"@backstage/plugin-org-react": "0.1.18",
"@backstage/plugin-pagerduty": "0.7.1",
"@backstage/plugin-periskop": "0.1.27",
"@backstage/plugin-periskop-backend": "0.2.7",
"@backstage/plugin-permission-backend": "0.5.32",
"@backstage/plugin-permission-backend-module-allow-all-policy": "0.1.6",
"@backstage/plugin-permission-common": "0.7.12",
"@backstage/plugin-permission-node": "0.7.20",
"@backstage/plugin-permission-react": "0.4.19",
"@backstage/plugin-playlist": "0.2.3",
"@backstage/plugin-playlist-backend": "0.3.13",
"@backstage/plugin-playlist-common": "0.1.14",
"@backstage/plugin-proxy-backend": "0.4.7",
"@backstage/plugin-puppetdb": "0.1.12",
"@backstage/plugin-rollbar": "0.4.29",
"@backstage/plugin-rollbar-backend": "0.1.54",
"@backstage/plugin-scaffolder": "1.17.1",
"@backstage/plugin-scaffolder-backend": "1.20.0",
"@backstage/plugin-scaffolder-backend-module-azure": "0.1.1",
"@backstage/plugin-scaffolder-backend-module-bitbucket": "0.1.1",
"@backstage/plugin-scaffolder-backend-module-confluence-to-markdown": "0.2.10",
"@backstage/plugin-scaffolder-backend-module-cookiecutter": "0.2.33",
"@backstage/plugin-scaffolder-backend-module-gerrit": "0.1.1",
"@backstage/plugin-scaffolder-backend-module-github": "0.1.1",
"@backstage/plugin-scaffolder-backend-module-gitlab": "0.2.12",
"@backstage/plugin-scaffolder-backend-module-rails": "0.4.26",
"@backstage/plugin-scaffolder-backend-module-sentry": "0.1.17",
"@backstage/plugin-scaffolder-backend-module-yeoman": "0.2.30",
"@backstage/plugin-scaffolder-common": "1.4.5",
"@backstage/plugin-scaffolder-node": "0.2.10",
"@backstage/plugin-scaffolder-react": "1.7.1",
"@backstage/plugin-search": "1.4.5",
"@backstage/plugin-search-backend": "1.4.9",
"@backstage/plugin-search-backend-module-catalog": "0.1.13",
"@backstage/plugin-search-backend-module-elasticsearch": "1.3.12",
"@backstage/plugin-search-backend-module-explore": "0.1.13",
"@backstage/plugin-search-backend-module-pg": "0.5.18",
"@backstage/plugin-search-backend-module-stack-overflow-collator": "0.1.2",
"@backstage/plugin-search-backend-module-techdocs": "0.1.13",
"@backstage/plugin-search-backend-node": "1.2.13",
"@backstage/plugin-search-common": "1.2.10",
"@backstage/plugin-search-react": "1.7.5",
"@backstage/plugin-sentry": "0.5.14",
"@backstage/plugin-shortcuts": "0.3.18",
"@backstage/plugin-sonarqube": "0.7.11",
"@backstage/plugin-sonarqube-backend": "0.2.11",
"@backstage/plugin-sonarqube-react": "0.1.12",
"@backstage/plugin-splunk-on-call": "0.4.18",
"@backstage/plugin-stack-overflow": "0.1.24",
"@backstage/plugin-stack-overflow-backend": "0.2.13",
"@backstage/plugin-stackstorm": "0.1.10",
"@backstage/plugin-tech-insights": "0.3.21",
"@backstage/plugin-tech-insights-backend": "0.5.23",
"@backstage/plugin-tech-insights-backend-module-jsonfc": "0.1.41",
"@backstage/plugin-tech-insights-common": "0.2.12",
"@backstage/plugin-tech-insights-node": "0.4.14",
"@backstage/plugin-tech-radar": "0.6.11",
"@backstage/plugin-techdocs": "1.9.2",
"@backstage/plugin-techdocs-addons-test-utils": "1.0.25",
"@backstage/plugin-techdocs-backend": "1.9.1",
"@backstage/plugin-techdocs-module-addons-contrib": "1.1.3",
"@backstage/plugin-techdocs-node": "1.11.0",
"@backstage/plugin-techdocs-react": "1.1.14",
"@backstage/plugin-todo": "0.2.32",
"@backstage/plugin-todo-backend": "0.3.6",
"@backstage/plugin-user-settings": "0.7.14",
"@backstage/plugin-user-settings-backend": "0.2.7",
"@backstage/plugin-vault": "0.1.23",
"@backstage/plugin-vault-backend": "0.4.1",
"@backstage/plugin-vault-node": "0.1.1",
"@backstage/plugin-visualizer": "0.0.1",
"@backstage/plugin-xcmetrics": "0.2.46"
"@backstage/plugin-tech-insights-node": "0.4.15",
"@backstage/plugin-tech-radar": "0.6.12",
"@backstage/plugin-techdocs": "1.9.3",
"@backstage/plugin-techdocs-addons-test-utils": "1.0.26",
"@backstage/plugin-techdocs-backend": "1.9.2",
"@backstage/plugin-techdocs-module-addons-contrib": "1.1.4",
"@backstage/plugin-techdocs-node": "1.11.1",
"@backstage/plugin-techdocs-react": "1.1.15",
"@backstage/plugin-todo": "0.2.33",
"@backstage/plugin-todo-backend": "0.3.7",
"@backstage/plugin-user-settings": "0.8.0",
"@backstage/plugin-user-settings-backend": "0.2.8",
"@backstage/plugin-vault": "0.1.24",
"@backstage/plugin-vault-backend": "0.4.2",
"@backstage/plugin-vault-node": "0.1.2",
"@backstage/plugin-xcmetrics": "0.2.47"
},
"changesets": [
"afraid-mice-give",
"brave-queens-crash",
"brown-planes-sort",
"chatty-rivers-hope",
"chilled-seahorses-clean",
"chilled-zebras-wash",
"create-app-1703547661",
"create-app-1704804195",
"curvy-dingos-jump",
"fast-tables-hammer",
"friendly-horses-kneel",
"funny-rings-fry",
"gold-pianos-worry",
"happy-forks-jam",
"hip-dancers-pay",
"large-poets-buy",
"lazy-teachers-walk",
"many-peaches-dress",
"new-plants-sort",
"orange-planets-suffer",
"quiet-oranges-bake",
"renovate-126fde4",
"renovate-91133b2",
"renovate-9647667",
"rotten-tools-clean",
"sour-taxis-rush",
"stale-hairs-sparkle",
"tricky-pans-explain"
]
"changesets": []
}
-11
View File
@@ -1,11 +0,0 @@
---
'@backstage/frontend-plugin-api': patch
'@backstage/frontend-test-utils': patch
'@backstage/backend-plugin-api': patch
'@backstage/backend-dev-utils': patch
'@backstage/backend-defaults': patch
'@backstage/frontend-app-api': patch
'@backstage/backend-app-api': patch
---
Updated README to reflect release status
+8
View File
@@ -0,0 +1,8 @@
---
'@backstage/plugin-signals-backend': patch
'@backstage/plugin-signals': patch
'@backstage/plugin-signals-react': patch
'@backstage/plugin-signals-node': patch
---
Add support to subscribe and publish messages through signals plugins
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/plugin-github-issues': patch
'@backstage/plugin-scaffolder-backend-module-github': patch
---
Updated dependency `octokit` to `^3.0.0`.
-11
View File
@@ -1,11 +0,0 @@
---
'@backstage/plugin-home-react': patch
'@backstage/plugin-home': patch
'@backstage/plugin-scaffolder-react': patch
'@backstage/plugin-scaffolder': patch
---
Updated dependency `@rjsf/utils` to `5.15.1`.
Updated dependency `@rjsf/core` to `5.15.1`.
Updated dependency `@rjsf/material-ui` to `5.15.1`.
Updated dependency `@rjsf/validator-ajv8` to `5.15.1`.
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/plugin-azure-devops-backend': patch
'@backstage/plugin-scaffolder-backend-module-azure': patch
---
Updated dependency `azure-devops-node-api` to `^12.0.0`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-api-docs': patch
---
Updated dependency `@asyncapi/react-component` to `1.2.13`.
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/plugin-scaffolder-backend-module-gitlab': patch
'@backstage/plugin-scaffolder-backend': minor
---
Add `gitlab:repo:push` scaffolder action to push files to arbitrary branch without creating a Merge Request
-145
View File
@@ -1,145 +0,0 @@
---
'@backstage/plugin-scaffolder-backend-module-confluence-to-markdown': patch
'@backstage/plugin-catalog-backend-module-scaffolder-entity-model': patch
'@backstage/plugin-permission-backend-module-allow-all-policy': patch
'@backstage/plugin-auth-backend-module-oauth2-proxy-provider': patch
'@backstage/plugin-auth-backend-module-vmware-cloud-provider': patch
'@backstage/plugin-catalog-backend-module-backstage-openapi': patch
'@backstage/plugin-auth-backend-module-atlassian-provider': patch
'@backstage/plugin-auth-backend-module-microsoft-provider': patch
'@backstage/plugin-scaffolder-backend-module-cookiecutter': patch
'@backstage/plugin-auth-backend-module-pinniped-provider': patch
'@backstage/plugin-events-backend-module-bitbucket-cloud': patch
'@backstage/plugin-auth-backend-module-gcp-iap-provider': patch
'@backstage/plugin-auth-backend-module-github-provider': patch
'@backstage/plugin-auth-backend-module-gitlab-provider': patch
'@backstage/plugin-auth-backend-module-google-provider': patch
'@backstage/plugin-auth-backend-module-oauth2-provider': patch
'@backstage/plugin-tech-insights-backend-module-jsonfc': patch
'@backstage/plugin-analytics-module-newrelic-browser': patch
'@backstage/plugin-auth-backend-module-okta-provider': patch
'@backstage/plugin-catalog-backend-module-bitbucket': patch
'@backstage/plugin-scaffolder-backend-module-yeoman': patch
'@backstage/plugin-techdocs-module-addons-contrib': patch
'@backstage/plugin-catalog-backend-module-gerrit': patch
'@backstage/plugin-catalog-backend-module-azure': 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-catalog-backend-module-aws': patch
'@backstage/plugin-github-pull-requests-board': patch
'@backstage/plugin-techdocs-addons-test-utils': patch
'@backstage/plugin-entity-feedback-backend': patch
'@backstage/backend-openapi-utils': patch
'@backstage/plugin-stack-overflow-backend': patch
'@backstage/plugin-code-coverage-backend': patch
'@backstage/plugin-user-settings-backend': patch
'@backstage/frontend-plugin-api': patch
'@backstage/plugin-analytics-module-ga4': patch
'@backstage/plugin-azure-devops-backend': patch
'@backstage/plugin-analytics-module-ga': patch
'@backstage/plugin-azure-sites-backend': patch
'@backstage/plugin-git-release-manager': patch
'@backstage/plugin-github-deployments': patch
'@backstage/plugin-kubernetes-cluster': patch
'@backstage/plugin-microsoft-calendar': patch
'@backstage/plugin-newrelic-dashboard': patch
'@backstage/plugin-tech-insights-node': patch
'@backstage/plugin-entity-validation': patch
'@backstage/plugin-kubernetes-common': patch
'@backstage/plugin-airbrake-backend': patch
'@backstage/plugin-devtools-backend': patch
'@backstage/plugin-linguist-backend': patch
'@backstage/plugin-periskop-backend': patch
'@backstage/plugin-permission-react': patch
'@backstage/plugin-playlist-backend': patch
'@backstage/plugin-scaffolder-react': patch
'@backstage/plugin-techdocs-backend': patch
'@backstage/plugin-apollo-explorer': patch
'@backstage/plugin-entity-feedback': patch
'@backstage/plugin-explore-backend': patch
'@backstage/plugin-gitops-profiles': patch
'@backstage/plugin-graphql-voyager': patch
'@backstage/plugin-jenkins-backend': patch
'@backstage/plugin-apache-airflow': patch
'@backstage/plugin-badges-backend': patch
'@backstage/plugin-bazaar-backend': patch
'@backstage/plugin-github-actions': patch
'@backstage/plugin-octopus-deploy': patch
'@backstage/plugin-search-backend': patch
'@backstage/plugin-splunk-on-call': patch
'@backstage/plugin-stack-overflow': patch
'@backstage/plugin-techdocs-react': patch
'@backstage/plugin-catalog-graph': patch
'@backstage/plugin-catalog-react': patch
'@backstage/plugin-code-coverage': patch
'@backstage/plugin-config-schema': patch
'@backstage/plugin-cost-insights': patch
'@backstage/plugin-explore-react': patch
'@backstage/plugin-github-issues': patch
'@backstage/plugin-kafka-backend': patch
'@backstage/plugin-nomad-backend': patch
'@backstage/plugin-tech-insights': patch
'@backstage/plugin-user-settings': patch
'@backstage/plugin-auth-backend': patch
'@backstage/plugin-azure-devops': patch
'@backstage/plugin-catalog-node': patch
'@backstage/plugin-code-climate': patch
'@backstage/plugin-gcp-projects': patch
'@backstage/plugin-todo-backend': patch
'@backstage/plugin-adr-backend': patch
'@backstage/plugin-app-backend': patch
'@backstage/plugin-azure-sites': patch
'@backstage/plugin-firehydrant': patch
'@backstage/plugin-cloudbuild': patch
'@backstage/plugin-home-react': patch
'@backstage/plugin-kubernetes': patch
'@backstage/plugin-lighthouse': patch
'@backstage/plugin-scaffolder': patch
'@backstage/plugin-stackstorm': patch
'@backstage/plugin-tech-radar': patch
'@backstage/plugin-codescene': patch
'@backstage/plugin-dynatrace': patch
'@backstage/plugin-gcalendar': patch
'@backstage/plugin-org-react': patch
'@backstage/plugin-pagerduty': 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-playlist': patch
'@backstage/plugin-puppetdb': patch
'@backstage/plugin-techdocs': patch
'@backstage/plugin-bitrise': patch
'@backstage/plugin-catalog': patch
'@backstage/plugin-explore': patch
'@backstage/plugin-jenkins': patch
'@backstage/plugin-rollbar': patch
'@backstage/plugin-allure': patch
'@backstage/plugin-badges': patch
'@backstage/plugin-bazaar': patch
'@backstage/plugin-search': patch
'@backstage/plugin-sentry': patch
'@backstage/plugin-fossa': patch
'@backstage/plugin-ilert': patch
'@backstage/plugin-kafka': patch
'@backstage/plugin-nomad': patch
'@backstage/plugin-vault': patch
'@backstage/plugin-gocd': patch
'@backstage/plugin-home': patch
'@backstage/plugin-todo': patch
'@backstage/plugin-adr': patch
'@backstage/plugin-org': patch
---
Remove some unused dependencies
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-bitrise': patch
---
Update README
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-kubernetes-react': patch
---
Fixed a bug where the logs dialog and any other functionality depending on the proxy endpoint would fail for clusters configured with the OIDC auth provider.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-kubernetes-react': minor
---
**BREAKING** The pod exec terminal is now disabled by default since there are several scenarios where it is known not to work. It can be re-enabled at your own risk by setting the config parameter `kubernetes.podExecTerminal.enabled` to `true`.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder': patch
---
Minor internal refactor
+9
View File
@@ -0,0 +1,9 @@
---
'@backstage/create-app': patch
---
Updated `packages/app` as well as the root `package.json` type resolutions to use React v18.
The `@testing-library/*` dependencies have also been updated to the ones compatible with React v18, and the test at `packages/app/src/App.test.tsx` had been updated to use more modern patterns that work better with these new versions.
For information on how to migrate existing apps to React v18, see the [migration guide](https://backstage.io/docs/tutorials/react18-migration)
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-components': patch
---
Removed unnecessary `history` and `immer` dependencies.
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/plugin-events-backend-module-aws-sqs': patch
'@backstage/plugin-events-backend': patch
---
Add documentation on how to install the plugins with the new backend system.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend-module-aws': patch
---
Added status and e-mail as labels to the AWS Account Resource
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/test-utils': minor
---
Added `components` option to `TestAppOptions`, which will be forwarded as the `components` option to `createApp`.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-kubernetes-backend': patch
'@backstage/plugin-kubernetes-node': patch
---
Enabling authentication to kubernetes clusters with mTLS x509 client certs
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-kubernetes-backend': patch
---
Custom per-cluster auth metadata (mainly for use with custom `AuthenticationStrategy` implementations) can now be specified in the `authMetadata` property of clusters in the app-config.
-8
View File
@@ -1,8 +0,0 @@
---
'@backstage/plugin-permission-backend': patch
'@backstage/plugin-permission-common': patch
'@backstage/plugin-permission-react': patch
'@backstage/plugin-permission-node': patch
---
Updated README
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-linguist': patch
---
Added alpha support for the New Frontend System (Declarative Integration)
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-app-visualizer': minor
---
Initial release of the app visualizer plugin.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/plugin-azure-devops': patch
'@backstage/plugin-devtools': patch
'@backstage/plugin-linguist': patch
---
Updated imports from named to default imports to help with the Material UI v4 to v5 migration
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/eslint-plugin': patch
---
Added new `@backstage/no-top-level-material-ui-4-imports` rule that forbids top level imports from Material UI v4 packages
@@ -312,6 +312,8 @@ rebase
rebasing
Recharts
Redash
renderer
renderers
replicasets
repo
Repo
@@ -463,4 +465,4 @@ zod
Zolotusky
zoomable
zsh
scrollable
scrollable
@@ -29,7 +29,7 @@ jobs:
cache-prefix: ${{ runner.os }}-v18.x
- name: Create Snyk report
uses: snyk/actions/node@3e2680e8df93a24b52d119b1305fb7cedc60ceae # master
uses: snyk/actions/node@1d672a455ab3339ef0a0021e1ec809165ee12fad # master
continue-on-error: true # Snyk CLI exits with error when vulnerabilities are found
with:
args: >
+2 -2
View File
@@ -31,7 +31,7 @@ jobs:
- uses: actions/checkout@v4.1.1
- name: Monitor and Synchronize Snyk Policies
uses: snyk/actions/node@3e2680e8df93a24b52d119b1305fb7cedc60ceae # master
uses: snyk/actions/node@1d672a455ab3339ef0a0021e1ec809165ee12fad # master
with:
command: monitor
args: >
@@ -46,7 +46,7 @@ jobs:
# Above we run the `monitor` command, this runs the `test` command which is
# the one that generates the SARIF report that we can upload to GitHub.
- name: Create Snyk report
uses: snyk/actions/node@3e2680e8df93a24b52d119b1305fb7cedc60ceae # master
uses: snyk/actions/node@1d672a455ab3339ef0a0021e1ec809165ee12fad # master
continue-on-error: true # To make sure that SARIF upload gets called
with:
args: >
+33 -36
View File
@@ -12,16 +12,23 @@ jobs:
name: Cache Manifests File
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
permissions:
# "If you specify the access for any of these scopes, all of those that are not specified are set to none."
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
actions: read # Access cache
outputs:
manifests-cache-key: ${{ env.MANIFESTS_FILE_HASH }}
git-ref: ${{ env.GIT_REF }}
pr-number: ${{ env.PR_NUMBER }}
action: ${{ env.ACTION }}
manifests-cache-key: ${{ steps.hash.outputs.MANIFESTS_FILE_HASH }}
git-ref: ${{ steps.event.outputs.GIT_REF }}
pr-number: ${{ steps.event.outputs.PR_NUMBER }}
action: ${{ steps.event.outputs.ACTION }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@eb238b55efaa70779f274895e782ed17c84f2895 # v2.6.1
with:
egress-policy: audit
disable-sudo: true
egress-policy: block
allowed-endpoints: >
api.github.com:443
- name: 'Download artifacts'
# Fetch output (zip archive) from the workflow run that triggered this workflow.
@@ -48,59 +55,50 @@ jobs:
let fs = require('fs');
fs.writeFileSync(`${process.env.GITHUB_WORKSPACE}/preview-spec.zip`, Buffer.from(download.data));
- name: 'Unzip artifact'
run: unzip preview-spec.zip
- name: 'Accept event from first stage'
run: unzip preview-spec.zip event.json
- name: Read Event into ENV
id: event
run: |
echo 'EVENT_JSON<<EOF' >> $GITHUB_ENV
cat event.json >> $GITHUB_ENV
echo -e '\nEOF' >> $GITHUB_ENV
echo PR_NUMBER=$(jq '.number | tonumber' < event.json) >> $GITHUB_OUTPUT
echo ACTION=$(jq --raw-output '.action | tostring | [scan("\\w+")][0]' < event.json) >> $GITHUB_OUTPUT
echo GIT_REF=$(jq --raw-output '.pull_request.head.sha | tostring | [scan("\\w+")][0]' < event.json) >> $GITHUB_OUTPUT
- name: Hash Rendered Manifests File
id: hash
# If the previous workflow was triggered by a PR close event, we will not have a manifests file artifact.
if: ${{ fromJSON(env.EVENT_JSON).action != 'closed' }}
if: ${{ steps.event.outputs.ACTION != 'closed' }}
run: |
unzip preview-spec.zip manifests.rendered.yml
ls
echo "MANIFESTS_FILE_HASH=$(md5sum manifests.rendered.yml | awk '{ print $1 }')" >> $GITHUB_ENV
echo "MANIFESTS_FILE_HASH=$(md5sum manifests.rendered.yml | awk '{ print $1 }')" >> $GITHUB_OUTPUT
- name: Cache Manifests File
if: ${{ fromJSON(env.EVENT_JSON).action != 'closed' }}
uses: actions/cache@v3.3.2
if: ${{ steps.event.outputs.ACTION != 'closed' }}
uses: actions/cache@v3.3.3
with:
path: manifests.rendered.yml
key: ${{ env.MANIFESTS_FILE_HASH }}
- name: Read PR Number From Event Object
id: pr
run: echo "PR_NUMBER=${{ fromJSON(env.EVENT_JSON).number }}" >> $GITHUB_ENV
- name: Read Event Type from Event Object
id: action
run: echo "ACTION=${{ fromJSON(env.EVENT_JSON).action }}" >> $GITHUB_ENV
- name: Read Git Ref From Event Object
id: ref
run: echo "GIT_REF=${{ fromJSON(env.EVENT_JSON).pull_request.head.sha }}" >> $GITHUB_ENV
key: ${{ steps.hash.outputs.MANIFESTS_FILE_HASH }}
- name: DEBUG - Print Job Outputs
if: ${{ runner.debug }}
run: |
echo "PR number: ${{ env.PR_NUMBER }}"
echo "Git Ref: ${{ env.GIT_REF }}"
echo "Manifests file hash: ${{ env.MANIFESTS_FILE_HASH }}"
echo "PR number: ${{ steps.event.outputs.PR_NUMBER }}"
echo "Git Ref: ${{ steps.event.outputs.GIT_REF }}"
echo "Action: ${{ steps.event.outputs.ACTION }}"
echo "Manifests file hash: ${{ steps.hash.outputs.MANIFESTS_FILE_HASH }}"
cat event.json
deploy-uffizzi-preview:
permissions:
contents: read
pull-requests: write
id-token: write
name: Deploy to Uffizzi Virtual Cluster
needs:
- cache-manifests-file
if: ${{ github.event.workflow_run.conclusion == 'success' && needs.cache-manifests-file.outputs.action != 'closed' }}
permissions:
contents: read
pull-requests: write
id-token: write
runs-on: ubuntu-latest
steps:
- name: Checkout
@@ -126,7 +124,7 @@ jobs:
body: |
## Uffizzi Ephemeral Environment - Virtual Cluster
:cloud: deploying ...
:cloud: deploying cluster `pr-${{ needs.cache-manifests-file.outputs.pr-number }}`
:gear: Updating now by workflow run [${{ github.run_id }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}).
@@ -142,7 +140,6 @@ jobs:
- name: Fetch cached Manifests File
id: cache
# if: ${{ contains(fromJSON('["create", "update"]'), env.UFFIZZI_ACTION) }}
uses: actions/cache@v3
with:
path: manifests.rendered.yml
+1 -1
View File
@@ -30,6 +30,6 @@ jobs:
with:
# This also contains --config=.github/vale/config.ini ... :/
files: '${{ steps.generate.outputs.args }}'
version: 2.30.0 # TODO: migrate to v3
version: latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+1 -1
View File
@@ -51,7 +51,7 @@ jobs:
- run: yarn build-storybook
- uses: chromaui/action@80bf5911f28005ed208f15b7268843b79ca0e23a # v1
- uses: chromaui/action@7fb6b0407c69171ce521d08355a825958a5ef81a # v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
# projectToken intentionally shared to allow collaborators to run Chromatic on forks
+1 -1
View File
@@ -386,7 +386,7 @@ Here are a few things that can help as you go through the review process:
- PRs get automatically assigned so you don't need to ping people, they will be notified and have a process of their own for this
- If you are waiting for a review or mid-review and your PR goes stale one of the easiest ways to clear the stale bot is by simply rebasing your PR
- There are times where you might run into conflict with the `yarn.lock` during a rebase, to help with that make sure your `master` branch is up to date and then in your branch run `git checkout master yarn.lock` and then run `yarn install`, this will get you a conflict free `yarn.lock` file you can commit
- If Vale finds issues with your documentation but it's a code reference you can fix it by putting backticks (`) around it. Now if it is a special word or maybe a name there are two ways you can fix that by adding it to the list of accepted words in the [accept.txt file](https://github.com/backstage/backstage/blob/master/.github/vale/Vocab/Backstage/accept.txt) and them committing that change
- If Vale finds issues with your documentation but it's a code reference you can fix it by putting backticks (`) around it. Now if it is a special word or maybe a name there are two ways you can fix that by adding it to the list of accepted words in the [accept.txt file](https://github.com/backstage/backstage/blob/master/.github/vale/config/vocabularies/Backstage/accept.txt) and them committing that change
### Merging to Master
+2 -2
View File
@@ -22,10 +22,10 @@ Backstage 는 모든 인프라 도구, 서비스 및 문서를 통합하여 처
![software-catalog](docs/assets/header.png)
Backstage 다음을 포함합니다:
Backstage 다음을 포함합니다:
- [Backstage Software Catalog](https://backstage.io/docs/features/software-catalog/) 마이크로 서비스, 라이브러리, 데이터 파이프라인, 웹 사이트, ML 모델 등 모든 소프트웨어 관리
- [Backstage Software Templates](https://backstage.io/docs/features/software-templates/) 새로운 프로젝트를 신속하게 시작하고 조직의 모 사례에따라 도구를 표준화
- [Backstage Software Templates](https://backstage.io/docs/features/software-templates/) 새로운 프로젝트를 신속하게 시작하고 조직의 모 사례에따라 도구를 표준화
- [Backstage TechDocs](https://backstage.io/docs/features/techdocs/) "docs like code" 접근 방식을 사용하여 기술 문서를 쉽게 작성, 유지 관리, 검색 및 사용
- [open source plugins](https://github.com/backstage/backstage/tree/master/plugins) Backstage의 사용자 정의 가능성과 기능을 확장
+1 -1
View File
@@ -57,7 +57,7 @@ Backstage 的文档包括:
- [参与贡献 Backstage](https://github.com/backstage/backstage/blob/master/CONTRIBUTING.md) - 如果您想做出贡献,请从这里开始
- [RFCs](https://github.com/backstage/backstage/labels/rfc) - 帮助制定技术方向
- [FAQ](https://backstage.io/docs/FAQ) - n.: 常问问题
- [行为准则](CODE_OF_CONDUCT.md) - 这是我们的事方式
- [行为准则](CODE_OF_CONDUCT.md) - 这是我们的事方式
- [采纳者](ADOPTERS.md) - 已经在使用 Backstage 的公司
- [博客](https://backstage.io/blog/) - 公告和更新
- [通讯](https://spoti.fi/backstagenewsletter) - 订阅我们的电子邮件通讯
-6
View File
@@ -1,6 +0,0 @@
dependencies:
- name: postgresql
repository: https://charts.bitnami.com/bitnami
version: 13.2.27
digest: sha256:c2272865ffe4c805153440d8fc6af84945d4ce566b14d0fa8698d75382ada06c
generated: "2023-12-31T14:23:23.75461574Z"
-30
View File
@@ -1,30 +0,0 @@
apiVersion: v2
name: backstage
description: A Helm chart for Backstage
type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.3
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v0.1.1-alpha.23
sources:
- https://github.com/backstage/backstage
- https://github.com/spotify/lighthouse-audit-service
dependencies:
- name: postgresql
condition: postgresql.enabled
version: 13.2.27
repository: https://charts.bitnami.com/bitnami
maintainers:
- name: Martina Iglesias Fernández
email: martina@roadie.io
url: https://roadie.io
- name: David Tuite
email: david@roadie.io
url: https://roadie.io
-282
View File
@@ -1,282 +0,0 @@
# Backstage demo helm charts
This folder contains Helm charts that can easily create a Kubernetes deployment of a demo Backstage app.
### Pre-requisites
These charts depend on the `nginx-ingress` controller being present in the cluster. If it's not already installed you
can run:
```shell
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm install nginx-ingress ingress-nginx/ingress-nginx
```
### Installing the charts
After choosing a DNS name where backstage will be hosted create a yaml file for your custom configuration.
```yaml
appConfig:
app:
baseUrl: https://backstage.mydomain.com
title: Backstage
backend:
baseUrl: https://backstage.mydomain.com
cors:
origin: https://backstage.mydomain.com
lighthouse:
baseUrl: https://backstage.mydomain.com/lighthouse-api
techdocs:
storageUrl: https://backstage.mydomain.com/api/techdocs/static/docs
requestUrl: https://backstage.mydomain.com/api/techdocs
```
Then use it to run:
```shell
git clone https://github.com/backstage/backstage.git
cd contrib/chart/backstage
helm dependency update
helm install -f backstage-mydomain.yaml backstage .
```
This command will deploy the following pieces:
- Backstage frontend
- Backstage backend with scaffolder and auth plugins
- (optional) a PostgreSQL instance
- lighthouse plugin
- ingress
After a few minutes Backstage should be up and running in your cluster under the DNS specified earlier.
Make sure to create the appropriate DNS entry in your infrastructure. To find the public IP address run:
```shell
$ kubectl get ingress
NAME HOSTS ADDRESS PORTS AGE
backstage-ingress * 123.1.2.3 80 17m
```
> **NOTE**: this is not a production ready deployment.
## Customization
### Issue certificates
These charts can install or reuse a `clusterIssuer` to generate certificates for the backstage `ingress`. To do that:
1. [Install][install-cert-manager] or make sure [cert-manager][cert-manager] is installed in the cluster.
2. Enable the issuer in the charts. This will first check if there is a `letsencrypt` issuer already deployed in your
cluster and deploy one if it doesn't exist.
To enable it you need to provide a valid email address in the chart's values:
```yaml
issuer:
email: me@example.com
clusterIssuer: 'letsencrypt-prod'
```
By default, the charts use `letsencrypt-staging` so in the above example we instruct helm to use the production issuer
instead.
[cert-manager]: https://cert-manager.io/docs/
[install-cert-manager]: https://cert-manager.io/docs/installation/kubernetes/#installing-with-helm
### Custom PostgreSQL instance
Configuring a connection to an existing PostgreSQL instance is possible through the chart's values.
First create a yaml file with the configuration you want to override, for example `backstage-prod.yaml`:
```yaml
postgresql:
enabled: false
appConfig:
app:
baseUrl: https://backstage-demo.mydomain.com
title: Backstage
backend:
baseUrl: https://backstage-demo.mydomain.com
cors:
origin: https://backstage-demo.mydomain.com
database:
client: pg
connection:
database: backstage_plugin_catalog
host: <host>
user: <pg user>
password: <password>
lighthouse:
baseUrl: https://backstage-demo.mydomain.com/lighthouse-api
lighthouse:
database:
client: pg
connection:
host: <host>
user: <pg user>
password: <password>
database: lighthouse_audit_service
```
For the CA, create a `configMap` named `<release name>-<chart name>-postgres-ca` with a file called `ca.crt`:
```shell
kubectl create configmap my-company-backstage-postgres-ca --from-file=ca.crt"
```
or disable CA mount
```yaml
backend:
postgresCertMountEnabled: false
lighthouse:
postgresCertMountEnabled: false
```
> Where the release name contains the chart name "backstage" then only the release name will be used.
Now install the helm chart:
```shell
cd contrib/chart/backstage
helm install -f backstage-prod.yaml my-backstage .
```
### Use your own docker images
The docker images used for the deployment can be configured through the charts values:
```yaml
frontend:
image:
repository: <image-name>
tag: <image-tag>
backend:
image:
repository: <image-name>
tag: <image-tag>
lighthouse:
image:
repository: <image-name>
tag: <image-tag>
```
### Use a private docker repo
Create a docker-registry secret
```shell
kubectl create secret docker-registry <docker_registry_secret_name> # args
```
> For private images on docker hub --docker-server can be set to docker.io
Reference the secret in your chart values
```yaml
dockerRegistrySecretName: <docker_registry_secret_name>
```
### Different namespace
To install the charts a specific namespace use `--namespace <ns>`:
```shell
helm install -f my_values.yaml --namespace demos backstage .
```
### Disable loading of demo data
To deploy backstage with the pre-loaded demo data disable `backend.demoData`:
```shell
helm install -f my_values.yaml --set backend.demoData=false backstage .
```
### Other options
For more customization options take a look at the [values.yaml](/contrib/chart/backstage/values.yaml) file.
## Troubleshooting
Some resources created by these charts are meant to survive after upgrades and even after uninstalls. When
troubleshooting these charts it can be useful to delete these resources between re-installs.
Secrets:
```
<release-name>-postgresql-certs -- contains the certificates used by the deployed PostgreSQL
```
Persistent volumes:
```
data-<release-name>-postgresql-0 -- this is the data volume used by PostgreSQL to store data and configuration
```
> **NOTE**: this volume also stores the configuration for PostgreSQL which includes things like the password for the
> `postgres` user. This means that uninstalling and re-installing the charts with `postgres.enabled` set to `true` and
> auto generated passwords will fail. The solution is to delete this volume with
> `kubectl delete pvc data-<release-name>-postgresql-0`
ConfigMaps:
```
<release-name>-postgres-ca -- contains the generated CA certificate for PostgreSQL when `postgres` is enabled
```
#### Unable to verify signature
```
Backend failed to start up Error: unable to verify the first certificate
at TLSSocket.onConnectSecure (_tls_wrap.js:1501:34)
at TLSSocket.emit (events.js:315:20)
at TLSSocket._finishInit (_tls_wrap.js:936:8)
at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:710:12) {
code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE'
```
This error happens in the backend when it tries to connect to the configured PostgreSQL database and the specified CA is not correct. The solution is to make sure that the contents of the `configMap` that holds the certificate match the CA for the PostgreSQL instance. A workaround is to set `appConfig.backend.database.connection.ssl.rejectUnauthorized` to `false` in the chart's values.
#### Multi-Platform Kubernetes Services
If you are running a multi-platform Kubernetes service with Windows and Linux nodes then you will need to apply a `nodeSelector` to the Helm chart to ensure that pods are scheduled onto the correct platform nodes.
Add the following to your Helm values file:
```yaml
global:
nodeSelector:
kubernetes.io/os: linux
# If using Postgres Chart also add
postgresql:
master:
nodeSelector:
kubernetes.io/os: linux
slave:
nodeSelector:
kubernetes.io/os: linux
```
<!-- TODO Add example command when we know the final name of the charts -->
## Uninstalling Backstage
To uninstall Backstage simply run:
```shell
RELEASE_NAME=<release-name> # use `helm list` to find out the name
helm uninstall ${RELEASE_NAME}
kubectl delete pvc data-${RELEASE_NAME}-postgresql-0
kubectl delete secret ${RELEASE_NAME}-postgresql-certs
kubectl delete configMap ${RELEASE_NAME}-postgres-ca
```
@@ -1,51 +0,0 @@
backend:
lighthouseHostname: {{ include "lighthouse.serviceName" . | quote }}
listen:
port: {{ .Values.appConfig.backend.listen.port | default 7007 }}
database:
client: {{ .Values.appConfig.backend.database.client | quote }}
connection:
host: {{ include "backend.postgresql.host" . | quote }}
port: {{ include "backend.postgresql.port" . | quote }}
user: {{ include "backend.postgresql.user" . | quote }}
database: {{ .Values.appConfig.backend.database.connection.database | quote }}
ssl:
rejectUnauthorized: {{ .Values.appConfig.backend.database.connection.ssl.rejectUnauthorized | quote }}
ca: {{ include "backstage.backend.postgresCaFilename" . | quote }}
catalog:
{{- if .Values.backend.demoData }}
locations:
# Backstage example components
- type: github
target: https://github.com/backstage/backstage/blob/master/packages/catalog-model/examples/all-components.yaml
# Example component for github-actions
- type: github
target: https://github.com/backstage/backstage/blob/master/plugins/github-actions/examples/sample.yaml
# Example component for techdocs
- type: github
target: https://github.com/backstage/backstage/blob/master/plugins/techdocs-backend/examples/documented-component/documented-component.yaml
# Backstage example APIs
- type: github
target: https://github.com/backstage/backstage/blob/master/packages/catalog-model/examples/all-apis.yaml
# Backstage example templates
- type: github
target: https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend/sample-templates/all-templates.yaml
{{- else }}
locations: []
{{- end }}
auth:
providers:
microsoft: null
scaffolder:
azure: null
sentry:
organization: {{ .Values.appConfig.sentry.organization | quote }}
techdocs:
generator:
runIn: 'local'
@@ -1,13 +0,0 @@
{{ $backendDb := .Values.appConfig.backend.database.connection.database }}
{{ $lighthouseDb := .Values.lighthouse.database.connection.database }}
{{ $user := .Values.global.postgresql.postgresqlUsername }}
grant all privileges on database {{ $backendDb }} to {{ $user }};
create database backstage_plugin_auth;
grant all privileges on database backstage_plugin_auth to {{ $user }};
{{ if not (eq $backendDb $lighthouseDb) }}
create database {{ $lighthouseDb }};
grant all privileges on database {{ $lighthouseDb }} to {{ $user }};
{{ end }}
@@ -1,286 +0,0 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "backstage.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "backstage.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "backstage.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common App labels
*/}}
{{- define "backstage.app.labels" -}}
app.kubernetes.io/name: {{ include "backstage.name" . }}-app
helm.sh/chart: {{ include "backstage.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Common Backend labels
*/}}
{{- define "backstage.backend.labels" -}}
app.kubernetes.io/name: {{ include "backstage.name" . }}-backend
helm.sh/chart: {{ include "backstage.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Name for postgresql dependency
See https://github.com/helm/helm/issues/3920#issuecomment-686913512
*/}}
{{- define "backstage.postgresql.fullname" -}}
{{ printf "%s-%s" .Release.Name .Values.postgresql.nameOverride }}
{{- end -}}
{{/*
Create the name of the service account to use for the app
*/}}
{{- define "backstage.app.serviceAccountName" -}}
{{- if .Values.app.serviceAccount.create -}}
{{ default "default" .Values.app.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.app.serviceAccount.name }}
{{- end -}}
{{- end -}}
{{/*
Create the name of the service account to use for the backend
*/}}
{{- define "backstage.backend.serviceAccountName" -}}
{{- if .Values.backend.serviceAccount.create -}}
{{ default default .Values.backend.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.backend.serviceAccount.name }}
{{- end -}}
{{- end -}}
{{/*
Path to the CA certificate file in the backend
*/}}
{{- define "backstage.backend.postgresCaFilename" -}}
{{ include "backstage.backend.postgresCaDir" . }}/{{- required "The name for the CA certificate file for postgresql is required" .Values.global.postgresql.caFilename }}
{{- end -}}
{{/*
{{/*
Directory path to the CA certificate file in the backend
*/}}
{{- define "backstage.backend.postgresCaDir" -}}
{{- if .Values.appConfig.backend.database.connection.ssl.ca -}}
{{ .Values.appConfig.backend.database.connection.ssl.ca }}
{{- else -}}
/etc/postgresql
{{- end -}}
{{- end -}}
{{/*
Path to the CA certificate file in lighthouse
*/}}
{{- define "backstage.lighthouse.postgresCaFilename" -}}
{{ include "backstage.lighthouse.postgresCaDir" . }}/{{- required "The name for the CA certificate file for postgresql is required" .Values.global.postgresql.caFilename }}
{{- end -}}
{{/*
Directory path to the CA certificate file in lighthouse
*/}}
{{- define "backstage.lighthouse.postgresCaDir" -}}
{{- if .Values.lighthouse.database.pathToDatabaseCa -}}
{{ .Values.lighthouse.database.pathToDatabaseCa }}
{{- else -}}
/etc/postgresql
{{- end -}}
{{- end -}}
{{/*
{{/*
Generate ca for postgresql
*/}}
{{- define "backstage.postgresql.generateCA" -}}
{{- $ca := .ca | default (genCA (include "backstage.postgresql.fullname" .) 365) -}}
{{- $_ := set . "ca" $ca -}}
{{- $ca.Cert -}}
{{- end -}}
{{/*
Generate certificates for postgresql
*/}}
{{- define "generateCerts" -}}
{{- $postgresName := (include "backstage.postgresql.fullname" .) }}
{{- $altNames := list $postgresName ( printf "%s.%s" $postgresName .Release.Namespace ) ( printf "%s.%s.svc" ( $postgresName ) .Release.Namespace ) -}}
{{- $ca := .ca | default (genCA (include "backstage.postgresql.fullname" .) 365) -}}
{{- $_ := set . "ca" $ca -}}
{{- $cert := genSignedCert ( $postgresName ) nil $altNames 365 $ca -}}
tls.crt: {{ $cert.Cert | b64enc }}
tls.key: {{ $cert.Key | b64enc }}
{{- end -}}
{{/*
Generate a password for the postgres user used for the connections from the backend and lighthouse
*/}}
{{- define "postgresql.generateUserPassword" -}}
{{- $pgPassword := .pgPassword | default ( randAlphaNum 12 ) -}}
{{- $_ := set . "pgPassword" $pgPassword -}}
{{ $pgPassword}}
{{- end -}}
{{/*
Name of the backend service
*/}}
{{- define "backend.serviceName" -}}
{{ include "backstage.fullname" . }}-backend
{{- end -}}
{{/*
Name of the frontend service
*/}}
{{- define "frontend.serviceName" -}}
{{ include "backstage.fullname" . }}-frontend
{{- end -}}
{{/*
Name of the lighthouse backend service
*/}}
{{- define "lighthouse.serviceName" -}}
{{ include "backstage.fullname" . }}-lighthouse
{{- end -}}
{{/*
Name of the postgresql service
*/}}
{{- define "postgresql.serviceName" -}}
{{- include "backstage.postgresql.fullname" . }}
{{- end -}}
{{/*
Postgres host for lighthouse
*/}}
{{- define "lighthouse.postgresql.host" -}}
{{- if .Values.postgresql.enabled }}
{{- include "postgresql.serviceName" . }}
{{- else -}}
{{- required "A valid .Values.lighthouse.database.connection.host is required when postgresql is not enabled" .Values.lighthouse.database.connection.host -}}
{{- end -}}
{{- end -}}
{{/*
Postgres host for the backend
*/}}
{{- define "backend.postgresql.host" -}}
{{- if .Values.postgresql.enabled }}
{{- include "postgresql.serviceName" . }}
{{- else -}}
{{- required "A valid .Values.appConfig.backend.database.connection.host is required when postgresql is not enabled" .Values.appConfig.backend.database.connection.host -}}
{{- end -}}
{{- end -}}
{{/*
Postgres port for the backend
*/}}
{{- define "backend.postgresql.port" -}}
{{- if .Values.postgresql.enabled }}
{{- .Values.postgresql.service.port }}
{{- else if .Values.appConfig.backend.database.connection.port -}}
{{- .Values.appConfig.backend.database.connection.port }}
{{- else -}}
5432
{{- end -}}
{{- end -}}
{{/*
Postgres port for lighthouse
*/}}
{{- define "lighthouse.postgresql.port" -}}
{{- if .Values.postgresql.enabled }}
{{- .Values.postgresql.service.port }}
{{- else if .Values.lighthouse.database.connection.port -}}
{{- .Values.lighthouse.database.connection.port }}
{{- else -}}
5432
{{- end -}}
{{- end -}}
{{/*
Postgres user for backend
*/}}
{{- define "backend.postgresql.user" -}}
{{- if .Values.postgresql.enabled }}
{{- .Values.global.postgresql.postgresqlUsername }}
{{- else -}}
{{- required "A valid .Values.appConfig.backend.database.connection.user is required when postgresql is not enabled" .Values.appConfig.backend.database.connection.user -}}
{{- end -}}
{{- end -}}
{{/*
Postgres user for lighthouse
*/}}
{{- define "lighthouse.postgresql.user" -}}
{{- if .Values.postgresql.enabled }}
{{- .Values.global.postgresql.postgresqlUsername }}
{{- else -}}
{{- required "A valid .Values.lighthouse.database.connection.user is required when postgresql is not enabled" .Values.lighthouse.database.connection.user -}}
{{- end -}}
{{- end -}}
{{/*
Postgres password secret for backend
*/}}
{{- define "backend.postgresql.passwordSecret" -}}
{{- if .Values.postgresql.enabled }}
{{- template "backstage.postgresql.fullname" . }}
{{- else -}}
{{ $secretName := (printf "%s-backend-postgres" (include "backstage.fullname" . )) }}
{{- required "A valid .Values.appConfig.backend.database.connection.password is required when postgresql is not enabled" $secretName -}}
{{- end -}}
{{- end -}}
{{/*
Postgres password for lighthouse
*/}}
{{- define "lighthouse.postgresql.passwordSecret" -}}
{{- if .Values.postgresql.enabled }}
{{- template "backstage.postgresql.fullname" . }}
{{- else -}}
{{ $secretName := (printf "%s-lighthouse-postgres" (include "backstage.fullname" . )) }}
{{- required "A valid .Values.lighthouse.database.connection.password is required when postgresql is not enabled" $secretName -}}
{{- end -}}
{{- end -}}
{{/*
app-config file name
*/}}
{{- define "backstage.appConfigFilename" -}}
{{- "app-config.development.yaml" -}}
{{- end -}}
@@ -1,98 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "backstage.fullname" . }}-backend
spec:
replicas: {{ .Values.backend.replicaCount }}
selector:
matchLabels:
app: backstage
component: backend
template:
metadata:
annotations:
ad.datadoghq.com/backstage.logs: '[{"source":"backstage","service":"backend"}]'
labels:
app: backstage
component: backend
spec:
{{- if .Values.dockerRegistrySecretName }}
imagePullSecrets:
- name: {{ .Values.dockerRegistrySecretName }}
{{- end}}
containers:
- name: {{ .Chart.Name }}-backend
command: ["node"]
args:
- "packages/backend"
- "--config"
- "app-config.yaml"
- "--config"
- {{ printf "/usr/src/app/%s" (include "backstage.appConfigFilename" .) | quote }}
image: {{ .Values.backend.image.repository }}:{{ .Values.backend.image.tag }}
imagePullPolicy: {{ .Values.backend.image.pullPolicy }}
ports:
- containerPort: {{ .Values.backend.containerPort }}
resources:
{{- toYaml .Values.backend.resources | nindent 12 }}
envFrom:
- secretRef:
name: {{ include "backstage.fullname" . }}-backend
- configMapRef:
name: {{ include "backstage.fullname" . }}-app-env
- configMapRef:
name: {{ include "backstage.fullname" . }}-auth
env:
- name: NODE_ENV
value: {{ .Values.backend.nodeEnv | default "development" }}
- name: APP_CONFIG_backend_database_connection_password
valueFrom:
secretKeyRef:
name: {{ include "backend.postgresql.passwordSecret" .}}
key: postgresql-password
volumeMounts:
{{- if .Values.backend.postgresCertMountEnabled }}
- name: postgres-ca
mountPath: {{ include "backstage.backend.postgresCaDir" . }}
{{- end }}
- name: app-config
mountPath: {{ printf "/usr/src/app/%s" (include "backstage.appConfigFilename" .) }}
subPath: {{ include "backstage.appConfigFilename" . }}
volumes:
{{- if .Values.backend.postgresCertMountEnabled }}
- name: postgres-ca
configMap:
name: {{ include "backstage.fullname" . }}-postgres-ca
{{- end }}
- name: app-config
configMap:
name: {{ include "backstage.fullname" . }}-app-config
{{- if .Values.global.nodeSelector }}
nodeSelector: {{- toYaml .Values.global.nodeSelector | nindent 8 }}
{{- end }}
{{- if .Values.backend.enabled }}
---
apiVersion: v1
kind: Service
metadata:
name: {{ include "backend.serviceName" . }}
spec:
ports:
- port: 80
targetPort: {{ .Values.backend.containerPort }}
selector:
app: backstage
component: backend
type: {{ .Values.backend.serviceType }}
{{- end }}
@@ -1,24 +0,0 @@
{{- if .Values.backend.enabled }}
apiVersion: v1
kind: Secret
metadata:
name: {{ include "backstage.fullname" . }}-backend
type: Opaque
stringData:
AUTH_GOOGLE_CLIENT_SECRET: {{ .Values.auth.google.clientSecret }}
AUTH_GITHUB_CLIENT_SECRET: {{ .Values.auth.github.clientSecret }}
AUTH_GITLAB_CLIENT_SECRET: {{ .Values.auth.gitlab.clientSecret }}
AUTH_OKTA_CLIENT_SECRET: {{ .Values.auth.okta.clientSecret }}
AUTH_OAUTH2_CLIENT_SECRET: {{ .Values.auth.oauth2.clientSecret }}
AUTH_AUTH0_CLIENT_SECRET: {{ .Values.auth.auth0.clientSecret }}
AUTH_MICROSOFT_CLIENT_SECRET: {{ .Values.auth.microsoft.clientSecret }}
SENTRY_TOKEN: {{ .Values.auth.sentryToken }}
ROLLBAR_ACCOUNT_TOKEN: {{ .Values.auth.rollbarAccountToken }}
CIRCLECI_AUTH_TOKEN: {{ .Values.auth.circleciAuthToken }}
GITHUB_TOKEN: {{ .Values.auth.githubToken }}
GITLAB_TOKEN: {{ .Values.auth.gitlabToken }}
AZURE_TOKEN: {{ .Values.auth.azure.api.token }}
NEW_RELIC_REST_API_KEY: {{ .Values.auth.newRelicRestApiKey }}
TRAVISCI_AUTH_TOKEN: {{ .Values.auth.travisciAuthToken }}
PAGERDUTY_TOKEN: {{ .Values.auth.pagerdutyToken }}
{{- end }}
@@ -1,27 +0,0 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "backstage.fullname" . }}-app-config
data:
{{ include "backstage.appConfigFilename" . | indent 2 }}: |
{{ tpl (.Files.Get "files/app-config.development.yaml.tpl") . | indent 4 }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "backstage.fullname" . }}-app-env
data:
APP_CONFIG_app_baseUrl: {{ .Values.appConfig.app.baseUrl | quote | quote }}
APP_CONFIG_app_title: {{ .Values.appConfig.app.title | quote | quote }}
APP_CONFIG_backend_baseUrl: {{ .Values.appConfig.backend.baseUrl | quote | quote }}
APP_CONFIG_backend_cors_origin: {{ .Values.appConfig.backend.cors.origin | quote | quote }}
APP_CONFIG_techdocs_storageUrl: {{ .Values.appConfig.techdocs.storageUrl | quote | quote }}
APP_CONFIG_techdocs_requestUrl: {{ .Values.appConfig.techdocs.requestUrl | quote | quote }}
APP_CONFIG_lighthouse_baseUrl: {{ .Values.appConfig.lighthouse.baseUrl | quote | quote }}
APP_CONFIG_backend_database_connection_ssl_rejectUnauthorized: "false"
APP_CONFIG_auth_providers_github_development_appOrigin: {{ .Values.appConfig.auth.providers.github.development.appOrigin | quote | quote }}
APP_CONFIG_auth_providers_google_development_appOrigin: {{ .Values.appConfig.auth.providers.google.development.appOrigin | quote | quote }}
APP_CONFIG_auth_providers_gitlab_development_appOrigin: {{ .Values.appConfig.auth.providers.gitlab.development.appOrigin | quote | quote }}
APP_CONFIG_auth_providers_okta_development_appOrigin: {{ .Values.appConfig.auth.providers.okta.development.appOrigin | quote | quote }}
APP_CONFIG_auth_providers_oauth2_development_appOrigin: {{ .Values.appConfig.auth.providers.oauth2.development.appOrigin | quote | quote }}
@@ -1,21 +0,0 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "backstage.fullname" . }}-auth
data:
AUTH_GOOGLE_CLIENT_ID: {{ .Values.auth.google.clientId }}
AUTH_GITHUB_CLIENT_ID: {{ .Values.auth.github.clientId }}
AUTH_GITLAB_CLIENT_ID: {{ .Values.auth.gitlab.clientId }}
# This should not be prefixed with AUTH_. This could be a typo in the Backstage app config.
# Regardless, it is not decided by me.
GITLAB_BASE_URL: {{ .Values.auth.gitlab.baseUrl }}
AUTH_OKTA_CLIENT_ID: {{ .Values.auth.okta.clientId }}
AUTH_OKTA_AUDIENCE: {{ .Values.auth.okta.audience }}
AUTH_OAUTH2_CLIENT_ID: {{ .Values.auth.oauth2.clientId }}
AUTH_OAUTH2_AUTH_URL: {{ .Values.auth.oauth2.authUrl }}
AUTH_OAUTH2_TOKEN_URL: {{ .Values.auth.oauth2.tokenUrl }}
AUTH_AUTH0_CLIENT_ID: {{ .Values.auth.auth0.clientId }}
AUTH_AUTH0_DOMAIN: {{ .Values.auth.auth0.domain }}
AUTH_MICROSOFT_CLIENT_ID: {{ .Values.auth.microsoft.clientId }}
AUTH_MICROSOFT_TENANT_ID: {{ .Values.auth.microsoft.tenantId }}
@@ -1,66 +0,0 @@
{{- if .Values.frontend.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "backstage.fullname" . }}-frontend
spec:
replicas: {{ .Values.frontend.replicaCount }}
selector:
matchLabels:
app: backstage
component: frontend
template:
metadata:
annotations:
ad.datadoghq.com/backstage.logs: '[{"source":"backstage","service":"frontend"}]'
labels:
app: backstage
component: frontend
spec:
{{- if .Values.dockerRegistrySecretName }}
imagePullSecrets:
- name: {{ .Values.dockerRegistrySecretName }}
{{- end}}
containers:
- name: {{ .Chart.Name }}-frontend
image: {{ .Values.frontend.image.repository }}:{{ .Values.frontend.image.tag }}
imagePullPolicy: {{ .Values.frontend.image.pullPolicy }}
ports:
- containerPort: {{ .Values.frontend.containerPort }}
resources:
{{- toYaml .Values.frontend.resources | nindent 12 }}
envFrom:
- configMapRef:
name: {{ include "backstage.fullname" . }}-app-env
volumeMounts:
- name: app-config
mountPath: {{ printf "/usr/share/nginx/html/static/%s" (include "backstage.appConfigFilename" .) }}
subPath: {{ include "backstage.appConfigFilename" . }}
volumes:
- name: app-config
configMap:
name: {{ include "backstage.fullname" . }}-app-config
{{- if .Values.global.nodeSelector }}
nodeSelector: {{- toYaml .Values.global.nodeSelector | nindent 8 }}
{{- end }}
---
apiVersion: v1
kind: Service
metadata:
name: {{ include "frontend.serviceName" . }}
spec:
ports:
- port: 80
targetPort: {{ .Values.frontend.containerPort }}
selector:
app: backstage
component: frontend
type: {{ .Values.frontend.serviceType }}
{{- end }}
@@ -1,150 +0,0 @@
{{- $frontendUrl := urlParse .Values.appConfig.app.baseUrl}}
{{- $backendUrl := urlParse .Values.appConfig.backend.baseUrl}}
{{- $lighthouseUrl := urlParse .Values.appConfig.lighthouse.baseUrl}}
{{/* Determine the api type for the ingress */}}
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
apiVersion: networking.k8s.io/v1
{{- else -}}
apiVersion: networking.k8s.io/v1beta1
{{- end }}
kind: Ingress
metadata:
name: {{ include "backstage.fullname" . }}-ingress
annotations:
{{- if .Values.issuer.email }}
cert-manager.io/cluster-issuer: {{ .Values.issuer.clusterIssuer }}
{{- end }}
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/configuration-snippet: |
if ($scheme = https) {
add_header Strict-Transport-Security "max-age=0;";
}
{{- toYaml .Values.ingress.annotations | nindent 4 }}
spec:
tls:
- secretName: {{ include "backstage.fullname" . }}-tls
hosts:
- {{ $frontendUrl.host }}
- {{ $backendUrl.host }}
- {{ $lighthouseUrl.host }}
rules:
- host: {{ $frontendUrl.host }}
http:
paths:
- path: /
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
pathType: Prefix
{{- end }}
backend:
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
service:
name: {{ include "frontend.serviceName" . }}
port:
number: 80
{{- else -}}
serviceName: {{ include "frontend.serviceName" . }}
servicePort: 80
{{- end }}
{{/* Route the backend inside the same hostname as the frontend when they are the same */}}
{{- if eq $frontendUrl.host $backendUrl.host}}
- path: /api/
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
pathType: Prefix
{{- end }}
backend:
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
service:
name: {{ include "backend.serviceName" . }}
port:
number: 80
{{- else -}}
serviceName: {{ include "backend.serviceName" . }}
servicePort: 80
{{- end }}
{{/* Route the backend through a different host */}}
{{- else -}}
- host: {{ $backendUrl.host }}
http:
paths:
- path: {{ $backendUrl.path | default "/" }}
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
pathType: Prefix
{{- end }}
backend:
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
service:
name: {{ include "backend.serviceName" . }}
port:
number: 80
{{- else -}}
serviceName: {{ include "backend.serviceName" . }}
servicePort: 80
{{- end }}
{{- end }}
{{/* Route lighthouse through a different host */}}
{{- if not ( eq $frontendUrl.host $lighthouseUrl.host ) }}
- host: {{ $lighthouseUrl.host }}
http:
paths:
- path: {{ $lighthouseUrl.path | default "/" }}
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
pathType: Prefix
{{- end }}
backend:
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
service:
name: {{ include "lighthouse.serviceName" . }}
port:
number: 80
{{- else -}}
serviceName: {{ include "lighthouse.serviceName" . }}
servicePort: 80
{{- end }}
{{- else }}
{{/* Route lighthouse by path with re-write rules when it is hosted under the same hostname */}}
---
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
apiVersion: networking.k8s.io/v1
{{- else -}}
apiVersion: networking.k8s.io/v1beta1
{{- end }}
kind: Ingress
metadata:
name: {{ include "backstage.fullname" . }}-ingress-lighthouse
annotations:
{{- if .Values.issuer.email }}
cert-manager.io/cluster-issuer: {{ .Values.issuer.clusterIssuer }}
{{- end }}
nginx.ingress.kubernetes.io/rewrite-target: /$2
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/configuration-snippet: |
if ($scheme = https) {
add_header Strict-Transport-Security "max-age=0;";
}
{{- toYaml .Values.ingress.annotations | nindent 4 }}
spec:
tls:
- secretName: {{ include "backstage.fullname" . }}-tls
hosts:
- {{ $lighthouseUrl.host }}
rules:
- host: {{ $frontendUrl.host }}
http:
paths:
- path: {{$lighthouseUrl.path}}(/|$)(.*)
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
pathType: Prefix
{{- end }}
backend:
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
service:
name: {{ include "lighthouse.serviceName" . }}
port:
number: 80
{{- else -}}
serviceName: {{ include "lighthouse.serviceName" . }}
servicePort: 80
{{- end }}
{{- end }}
@@ -1,19 +0,0 @@
{{- if (and (.Capabilities.APIVersions.Has "cert-manager.io/v1alpha2") .Values.issuer.email ) -}}
{{/* Only install issuer if it doesn't already exist in the cluster */}}
{{- if not ( lookup "cert-manager.io/v1alpha2" "ClusterIssuer" "" .Values.issuer.clusterIssuer ) }}
apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
name: {{ .Values.issuer.clusterIssuer }}
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: {{ required "expected a valid .Values.issuer.email to enable ClusterIssuer" .Values.issuer.email }}
privateKeySecretRef:
name: {{ required "expected .Values.issuer.cluster-issuer to not be empty (letsencrypt-prod | letsencrypt-staging)" .Values.issuer.clusterIssuer }}
solvers:
- http01:
ingress:
class: nginx
{{- end -}}
{{- end -}}
@@ -1,12 +0,0 @@
{{- if .Values.lighthouse.enabled }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "backstage.fullname" . -}}-lighthouse
data:
PGDATABASE: {{ .Values.lighthouse.database.connection.database | quote }}
PGUSER: {{ include "lighthouse.postgresql.user" . | quote }}
PGPORT: {{ include "lighthouse.postgresql.port" . | quote }}
PGHOST: {{ include "lighthouse.postgresql.host" . | quote }}
PGPATH_TO_CA: {{ include "backstage.lighthouse.postgresCaFilename" . | quote }}
{{- end }}
@@ -1,86 +0,0 @@
{{- if .Values.lighthouse.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "backstage.fullname" . }}-lighthouse
spec:
replicas: {{ .Values.lighthouse.replicaCount }}
selector:
matchLabels:
app: backstage
component: lighthouse-audit-service
template:
metadata:
annotations:
ad.datadoghq.com/backstage.logs: '[{"source":"backstage","service":"lighthouse"}]'
labels:
app: backstage
component: lighthouse-audit-service
spec:
{{- if .Values.dockerRegistrySecretName }}
imagePullSecrets:
- name: {{ .Values.dockerRegistrySecretName }}
{{- end}}
containers:
- name: lighthouse-audit-service
image: {{ .Values.lighthouse.image.repository }}:{{ .Values.lighthouse.image.tag }}
imagePullPolicy: {{ .Values.lighthouse.image.pullPolicy }}
ports:
- containerPort: {{ .Values.lighthouse.containerPort }}
resources:
{{- toYaml .Values.lighthouse.resources | nindent 12 }}
envFrom:
- configMapRef:
name: {{ include "backstage.fullname" . -}}-lighthouse
- configMapRef:
name: {{ include "backstage.fullname" . }}-app-env
env:
- name: LAS_PORT
value: {{ .Values.lighthouse.containerPort | quote }}
- name: LAS_CORS
value: "true"
- name: PGPASSWORD
valueFrom:
secretKeyRef:
name: {{ include "lighthouse.postgresql.passwordSecret" . }}
key: postgresql-password
{{- if .Values.lighthouse.postgresCertMountEnabled }}
volumeMounts:
- name: postgres-ca
mountPath: {{ include "backstage.lighthouse.postgresCaDir" . }}
{{- end }}
{{- if .Values.lighthouse.postgresCertMountEnabled }}
volumes:
- name: postgres-ca
configMap:
name: {{ include "backstage.fullname" . }}-postgres-ca
{{- end }}
{{- if .Values.global.nodeSelector }}
nodeSelector: {{- toYaml .Values.global.nodeSelector | nindent 8 }}
{{- end }}
---
apiVersion: v1
kind: Service
metadata:
name: {{ include "lighthouse.serviceName" . }}
spec:
ports:
- port: 80
targetPort: {{ .Values.lighthouse.containerPort }}
selector:
app: backstage
component: lighthouse-audit-service
type: {{ .Values.lighthouse.serviceType }}
{{- end }}
@@ -1,21 +0,0 @@
{{- if .Values.postgresql.enabled }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "backstage.fullname" . }}-postgres-ca
labels:
app: {{ include "backstage.postgresql.fullname" . }}
release: {{ .Release.Name }}
annotations:
"helm.sh/hook": "pre-install"
"helm.sh/hook-delete-policy": "before-hook-creation"
data:
{{ .Values.global.postgresql.caFilename }}: |
{{ include "backstage.postgresql.generateCA" . | indent 4}}
{{- else }}
{{- $caConfig := printf "%s-postgres-ca" (include "backstage.fullname" .) }}
{{- if not ( lookup "v1" "ConfigMap" .Release.Namespace $caConfig ) }}
{{- fail (printf "\n\nPlease create the '%s' configmap with the CA certificate for your existing postgresql: kubectl create configmap %s --from-file=ca.crt" $caConfig $caConfig) }}
{{- end }}
{{- end }}
@@ -1,16 +0,0 @@
{{- if .Values.postgresql.enabled }}
---
apiVersion: v1
kind: Secret
type: kubernetes.io/tls
metadata:
name: {{ required ".Values.postgresql.tls.certificatesSecret is required" .Values.postgresql.tls.certificatesSecret }}
labels:
app: {{ include "backstage.postgresql.fullname" . }}
release: {{ .Release.Name }}
annotations:
"helm.sh/hook": "pre-install"
"helm.sh/hook-delete-policy": "before-hook-creation"
data:
{{ include "generateCerts" . | indent 2 }}
{{- end }}
@@ -1,14 +0,0 @@
{{- if .Values.postgresql.enabled }}
apiVersion: v1
kind: Secret
metadata:
name: {{ required ".Values.postgresql.initdbScriptsSecret is required" .Values.postgresql.initdbScriptsSecret }}
annotations:
"helm.sh/hook": "pre-install"
"helm.sh/hook-delete-policy": "before-hook-creation"
type: Opaque
data:
create-backend-dbs.sql: |
{{ tpl (.Files.Get "files/create-backend-dbs.sql") . | b64enc }}
{{- end }}
@@ -1,15 +0,0 @@
{{- if not .Values.postgresql.enabled }}
---
apiVersion: v1
kind: Secret
type: Opaque
metadata:
name: {{ include "backend.postgresql.passwordSecret" . }}
labels:
release: {{ .Release.Name }}
annotations:
"helm.sh/hook": "pre-install,pre-upgrade"
"helm.sh/hook-delete-policy": "before-hook-creation"
data:
postgresql-password: {{ .Values.appConfig.backend.database.connection.password | b64enc }}
{{- end }}
@@ -1,17 +0,0 @@
{{- if .Values.lighthouse.enabled }}
{{- if not .Values.postgresql.enabled }}
---
apiVersion: v1
kind: Secret
type: Opaque
metadata:
name: {{ include "lighthouse.postgresql.passwordSecret" . }}
labels:
release: {{ .Release.Name }}
annotations:
"helm.sh/hook": "pre-install,pre-upgrade"
"helm.sh/hook-delete-policy": "before-hook-creation"
data:
postgresql-password: {{ .Values.lighthouse.database.connection.password | b64enc }}
{{- end }}
{{- end }}
@@ -1,23 +0,0 @@
---
apiVersion: v1
kind: Pod
metadata:
name: {{ include "backstage.fullname" . -}}-test-app-connection
annotations:
"helm.sh/hook": test
spec:
containers:
- name: test-app
image: busybox
command:
- /bin/sh
- -ecx
- |
echo -e "===== Testing the connection with the frontend...\n"
wget -q -O - {{ printf "%s.%s" (include "frontend.serviceName" .) .Release.Namespace | quote }}
echo -e "\n\n===== Testing the connection with the backend...\n"
wget -q -O - {{ printf "http://%s.%s/catalog/entities" (include "backend.serviceName" .) .Release.Namespace | quote }}
echo -e "\n\n===== Testing the connection with the lighthouse plugin...\n"
wget -q -O - {{ printf "%s.%s/v1/audits" (include "lighthouse.serviceName" .) .Release.Namespace | quote }}
echo -e "\n"
restartPolicy: Never
@@ -1,33 +0,0 @@
{{- if .Values.postgresql.enabled}}
---
apiVersion: v1
kind: Pod
metadata:
name: {{ include "backstage.name" . -}}-test-postgres
annotations:
"helm.sh/hook": test
spec:
containers:
- name: postgresql-client
image: bitnami/postgresql
env:
- name: PG_HOST
value: {{ include "postgresql.serviceName" . | quote }}
- name: PG_PORT
value: {{ .Values.postgresql.service.port | quote }}
- name: PG_USER
value: {{ .Values.global.postgresql.postgresqlUsername | quote }}
- name: PGPASSWORD
valueFrom:
secretKeyRef:
name: {{ include "backend.postgresql.passwordSecret" .}}
key: postgresql-password
- name: PG_DBNAME
value: {{ .Values.appConfig.backend.database.connection.database }}
command:
- /bin/bash
- -ecx
- |
psql --host=$PG_HOST --port=$PG_PORT --username=$PG_USER --dbname=$PG_DBNAME --no-password
restartPolicy: Never
{{- end }}

Some files were not shown because too many files have changed in this diff Show More