Skip to content

chore: sync RHDH infrastructure to 1.10.2 (Backstage 1.49.4) - #364

Merged
Anton-Fil merged 3 commits into
mainfrom
rhdh-sync-1.10.2
Aug 6, 2026
Merged

chore: sync RHDH infrastructure to 1.10.2 (Backstage 1.49.4)#364
Anton-Fil merged 3 commits into
mainfrom
rhdh-sync-1.10.2

Conversation

@R-Lawton

@R-Lawton R-Lawton commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Syncs RHDH base from 1.8.4 to 1.10.2, upgrading Backstage from 1.42.5 to 1.49.4
  • Updates all @backstage/* dependencies to match the 1.49.4 release manifest
  • Preserves all Kuadrant-specific plugins, configs, and customizations

Key version changes

Package Before After
Backstage 1.42.5 1.49.4
RHDH 1.8.4 1.10.2
@backstage/cli 0.34.1 0.36.0
@backstage/plugin-catalog-react 1.20.1 2.1.1 (major)
@backstage/core-components 0.17.5 0.18.8
@backstage/backend-plugin-api 1.4.2 1.8.0
@red-hat-developer-hub/cli ~1.9.0 ~1.10.0
jest (via cli) 29.x 30.3.0

What changed

  • Lockfile & backstage.json — synced from upstream RHDH 1.10.2
  • Root, app, backend package.json — upstream versions + Kuadrant additions preserved
  • Dynamic plugin wrappers — removed 42 deprecated wrappers, added 3 new (extensions, extensions-backend, catalog-backend-module-extensions)
  • Internal RHDH plugins — fully synced (dynamic-plugins-info-backend, licensed-users-info-backend, scalprum-backend)
  • App/backend source files — synced from upstream; 7 Kuadrant-modified files preserved and adapted
  • Patches — old catalog-graph and search patches removed; new scaffolder patch added
  • Kuadrant plugin deps — updated to Backstage 1.49.4 compatible versions
  • Code fix — removed variant="gridItem" props dropped in new @backstage/plugin-catalog, @backstage/plugin-catalog-graph, and @backstage/plugin-org

Breaking change from upstream

GitHub/GitLab sign-in resolver (packages/backend/src/modules/authProvidersModule.ts): The upstream changed GitHub and GitLab sign-in resolvers from usernameMatchingUserEntityName() to userIdMatchingUserEntityAnnotation(). This means deployments using GitHub/GitLab auth will need github.com/user-id (or gitlab.com/user-id) annotations on their User entities in the catalog. Our dev setup uses dex/OIDC so this doesn't affect local development, but any deployment relying on GitHub/GitLab username matching will need to add the user ID annotations before upgrading.

Kuadrant files preserved (not overwritten)

  • plugins/kuadrant/**, plugins/kuadrant-backend/**
  • kuadrant-dev-setup/**, app-config.yaml, app-config.local.yaml, rbac-policy.csv
  • CLAUDE.md, .claude/**, docs/**, e2e-tests/**, .github/**
  • 7 Kuadrant-customized source files in packages/app/src/ and packages/backend/src/

Test plan

  • yarn tsc — all 8 packages compile
  • yarn build — all 17 tasks pass
  • yarn test — all 9 test packages pass
  • Manual smoke test with yarn dev + kind cluster
  • E2E tests against dev environment

🤖 Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 394 files, which is 294 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 23da3542-89ab-4d7a-914e-941663128e16

📥 Commits

Reviewing files that changed from the base of the PR and between bd05722 and dcee831.

⛔ Files ignored due to path filters (4)
  • .yarn/patches/@backstage-plugin-catalog-graph-npm-0.4.22-9b7885f2b0.patch is excluded by !**/.yarn/**
  • .yarn/patches/@backstage-plugin-scaffolder-npm-1.36.1-8e259c5e91.patch is excluded by !**/.yarn/**
  • .yarn/patches/@backstage-plugin-search-npm-1.4.29-73fcb2942c.patch is excluded by !**/.yarn/**
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (394)
  • backstage.json
  • dynamic-plugins/_utils/package.json
  • dynamic-plugins/_utils/src/wrappers.test.ts
  • dynamic-plugins/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-3scale-backend-dynamic/.eslintignore
  • dynamic-plugins/wrappers/backstage-community-plugin-3scale-backend-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-community-plugin-3scale-backend-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-3scale-backend-dynamic/src/index.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-3scale-backend-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/backstage-community-plugin-3scale-backend-dynamic/turbo.json
  • dynamic-plugins/wrappers/backstage-community-plugin-acr/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-analytics-provider-segment/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-azure-devops-backend-dynamic/.eslintignore
  • dynamic-plugins/wrappers/backstage-community-plugin-azure-devops-backend-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-community-plugin-azure-devops-backend-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-azure-devops-backend-dynamic/src/index.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-azure-devops-backend-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/backstage-community-plugin-azure-devops-backend-dynamic/turbo.json
  • dynamic-plugins/wrappers/backstage-community-plugin-azure-devops/.eslintignore
  • dynamic-plugins/wrappers/backstage-community-plugin-azure-devops/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-community-plugin-azure-devops/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-azure-devops/src/index.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-azure-devops/tsconfig.json
  • dynamic-plugins/wrappers/backstage-community-plugin-azure-devops/turbo.json
  • dynamic-plugins/wrappers/backstage-community-plugin-catalog-backend-module-keycloak-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-catalog-backend-module-pingidentity-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-catalog-backend-module-scaffolder-relation-processor-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-dynatrace/.eslintignore
  • dynamic-plugins/wrappers/backstage-community-plugin-dynatrace/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-community-plugin-dynatrace/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-dynatrace/src/index.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-dynatrace/tsconfig.json
  • dynamic-plugins/wrappers/backstage-community-plugin-dynatrace/turbo.json
  • dynamic-plugins/wrappers/backstage-community-plugin-github-actions/.eslintignore
  • dynamic-plugins/wrappers/backstage-community-plugin-github-actions/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-community-plugin-github-actions/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-github-actions/src/index.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-github-actions/tsconfig.json
  • dynamic-plugins/wrappers/backstage-community-plugin-github-actions/turbo.json
  • dynamic-plugins/wrappers/backstage-community-plugin-github-issues/.eslintignore
  • dynamic-plugins/wrappers/backstage-community-plugin-github-issues/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-community-plugin-github-issues/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-github-issues/src/index.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-github-issues/tsconfig.json
  • dynamic-plugins/wrappers/backstage-community-plugin-github-issues/turbo.json
  • dynamic-plugins/wrappers/backstage-community-plugin-jenkins-backend-dynamic/.eslintignore
  • dynamic-plugins/wrappers/backstage-community-plugin-jenkins-backend-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-community-plugin-jenkins-backend-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-jenkins-backend-dynamic/src/index.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-jenkins-backend-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/backstage-community-plugin-jenkins-backend-dynamic/turbo.json
  • dynamic-plugins/wrappers/backstage-community-plugin-jenkins/.eslintignore
  • dynamic-plugins/wrappers/backstage-community-plugin-jenkins/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-community-plugin-jenkins/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-jenkins/src/index.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-jenkins/tsconfig.json
  • dynamic-plugins/wrappers/backstage-community-plugin-jenkins/turbo.json
  • dynamic-plugins/wrappers/backstage-community-plugin-jfrog-artifactory/.eslintignore
  • dynamic-plugins/wrappers/backstage-community-plugin-jfrog-artifactory/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-community-plugin-jfrog-artifactory/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-jfrog-artifactory/src/index.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-jfrog-artifactory/tsconfig.json
  • dynamic-plugins/wrappers/backstage-community-plugin-jfrog-artifactory/turbo.json
  • dynamic-plugins/wrappers/backstage-community-plugin-lighthouse/.eslintignore
  • dynamic-plugins/wrappers/backstage-community-plugin-lighthouse/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-community-plugin-lighthouse/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-lighthouse/src/index.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-lighthouse/tsconfig.json
  • dynamic-plugins/wrappers/backstage-community-plugin-lighthouse/turbo.json
  • dynamic-plugins/wrappers/backstage-community-plugin-nexus-repository-manager/.eslintignore
  • dynamic-plugins/wrappers/backstage-community-plugin-nexus-repository-manager/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-community-plugin-nexus-repository-manager/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-nexus-repository-manager/src/index.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-nexus-repository-manager/tsconfig.json
  • dynamic-plugins/wrappers/backstage-community-plugin-nexus-repository-manager/turbo.json
  • dynamic-plugins/wrappers/backstage-community-plugin-ocm-backend-dynamic/.eslintignore
  • dynamic-plugins/wrappers/backstage-community-plugin-ocm-backend-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-community-plugin-ocm-backend-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-ocm-backend-dynamic/src/index.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-ocm-backend-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/backstage-community-plugin-ocm-backend-dynamic/turbo.json
  • dynamic-plugins/wrappers/backstage-community-plugin-ocm/.eslintignore
  • dynamic-plugins/wrappers/backstage-community-plugin-ocm/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-community-plugin-ocm/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-ocm/src/index.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-ocm/tsconfig.json
  • dynamic-plugins/wrappers/backstage-community-plugin-ocm/turbo.json
  • dynamic-plugins/wrappers/backstage-community-plugin-quay/.eslintignore
  • dynamic-plugins/wrappers/backstage-community-plugin-quay/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-community-plugin-quay/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-quay/src/index.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-quay/tsconfig.json
  • dynamic-plugins/wrappers/backstage-community-plugin-quay/turbo.json
  • dynamic-plugins/wrappers/backstage-community-plugin-rbac/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-redhat-argocd/.eslintignore
  • dynamic-plugins/wrappers/backstage-community-plugin-redhat-argocd/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-community-plugin-redhat-argocd/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-redhat-argocd/src/alpha.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-redhat-argocd/src/index.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-redhat-argocd/tsconfig.json
  • dynamic-plugins/wrappers/backstage-community-plugin-redhat-argocd/turbo.json
  • dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-kubernetes-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-quay-dynamic/.eslintignore
  • dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-quay-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-quay-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-quay-dynamic/src/index.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-quay-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-quay-dynamic/turbo.json
  • dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-regex-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-servicenow-dynamic/.eslintignore
  • dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-servicenow-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-servicenow-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-servicenow-dynamic/src/index.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-servicenow-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-servicenow-dynamic/turbo.json
  • dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-sonarqube-dynamic/.eslintignore
  • dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-sonarqube-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-sonarqube-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-sonarqube-dynamic/src/index.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-sonarqube-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-sonarqube-dynamic/turbo.json
  • dynamic-plugins/wrappers/backstage-community-plugin-sonarqube-backend-dynamic/.eslintignore
  • dynamic-plugins/wrappers/backstage-community-plugin-sonarqube-backend-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-community-plugin-sonarqube-backend-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-sonarqube-backend-dynamic/src/index.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-sonarqube-backend-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/backstage-community-plugin-sonarqube-backend-dynamic/turbo.json
  • dynamic-plugins/wrappers/backstage-community-plugin-sonarqube/.eslintignore
  • dynamic-plugins/wrappers/backstage-community-plugin-sonarqube/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-community-plugin-sonarqube/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-sonarqube/src/index.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-sonarqube/tsconfig.json
  • dynamic-plugins/wrappers/backstage-community-plugin-sonarqube/turbo.json
  • dynamic-plugins/wrappers/backstage-community-plugin-tech-radar-backend-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-tech-radar/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-tekton/.eslintignore
  • dynamic-plugins/wrappers/backstage-community-plugin-tekton/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-community-plugin-tekton/package.json
  • dynamic-plugins/wrappers/backstage-community-plugin-tekton/src/index.ts
  • dynamic-plugins/wrappers/backstage-community-plugin-tekton/tsconfig.json
  • dynamic-plugins/wrappers/backstage-community-plugin-tekton/turbo.json
  • dynamic-plugins/wrappers/backstage-community-plugin-topology/package.json
  • dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-cloud-dynamic/.eslintignore
  • dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-cloud-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-cloud-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-cloud-dynamic/src/index.ts
  • dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-cloud-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-cloud-dynamic/turbo.json
  • dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-server-dynamic/.eslintignore
  • dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-server-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-server-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-server-dynamic/src/index.ts
  • dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-server-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-server-dynamic/turbo.json
  • dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-github-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-github-org-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-gitlab-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-gitlab-org-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-ldap-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-msgraph-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-plugin-kubernetes-backend-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-plugin-kubernetes/package.json
  • dynamic-plugins/wrappers/backstage-plugin-notifications-backend-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-plugin-notifications-backend-module-email-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-plugin-notifications/package.json
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-azure-dynamic/.eslintignore
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-azure-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-azure-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-azure-dynamic/src/index.ts
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-azure-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-azure-dynamic/turbo.json
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-cloud-dynamic/.eslintignore
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-cloud-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-cloud-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-cloud-dynamic/src/index.ts
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-cloud-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-cloud-dynamic/turbo.json
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-server-dynamic/.eslintignore
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-server-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-server-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-server-dynamic/src/index.ts
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-server-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-server-dynamic/turbo.json
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gerrit-dynamic/.eslintignore
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gerrit-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gerrit-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gerrit-dynamic/src/index.ts
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gerrit-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gerrit-dynamic/turbo.json
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-github-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gitlab-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-plugin-signals-backend-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-plugin-signals/package.json
  • dynamic-plugins/wrappers/backstage-plugin-techdocs-backend-dynamic/package.json
  • dynamic-plugins/wrappers/backstage-plugin-techdocs-module-addons-contrib/package.json
  • dynamic-plugins/wrappers/backstage-plugin-techdocs/package.json
  • dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab-backend-dynamic/.eslintignore
  • dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab-backend-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab-backend-dynamic/package.json
  • dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab-backend-dynamic/src/bundle.ts
  • dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab-backend-dynamic/src/index.ts
  • dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab-backend-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab-backend-dynamic/turbo.json
  • dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab/.eslintignore
  • dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab/.eslintrc.js
  • dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab/package.json
  • dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab/src/index.ts
  • dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab/tsconfig.json
  • dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab/turbo.json
  • dynamic-plugins/wrappers/pagerduty-backstage-plugin-backend-dynamic/.eslintignore
  • dynamic-plugins/wrappers/pagerduty-backstage-plugin-backend-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/pagerduty-backstage-plugin-backend-dynamic/package.json
  • dynamic-plugins/wrappers/pagerduty-backstage-plugin-backend-dynamic/src/index.ts
  • dynamic-plugins/wrappers/pagerduty-backstage-plugin-backend-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/pagerduty-backstage-plugin-backend-dynamic/turbo.json
  • dynamic-plugins/wrappers/pagerduty-backstage-plugin/.eslintignore
  • dynamic-plugins/wrappers/pagerduty-backstage-plugin/.eslintrc.js
  • dynamic-plugins/wrappers/pagerduty-backstage-plugin/package.json
  • dynamic-plugins/wrappers/pagerduty-backstage-plugin/src/index.ts
  • dynamic-plugins/wrappers/pagerduty-backstage-plugin/tsconfig.json
  • dynamic-plugins/wrappers/pagerduty-backstage-plugin/turbo.json
  • dynamic-plugins/wrappers/parfuemerie-douglas-scaffolder-backend-module-azure-repositories-dynamic/.eslintignore
  • dynamic-plugins/wrappers/parfuemerie-douglas-scaffolder-backend-module-azure-repositories-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/parfuemerie-douglas-scaffolder-backend-module-azure-repositories-dynamic/package.json
  • dynamic-plugins/wrappers/parfuemerie-douglas-scaffolder-backend-module-azure-repositories-dynamic/src/index.ts
  • dynamic-plugins/wrappers/parfuemerie-douglas-scaffolder-backend-module-azure-repositories-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/parfuemerie-douglas-scaffolder-backend-module-azure-repositories-dynamic/turbo.json
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-adoption-insights-backend-dynamic/package.json
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-adoption-insights/package.json
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-analytics-module-adoption-insights-dynamic/package.json
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import-backend-dynamic/package.json
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import/package.json
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-catalog-backend-module-extensions-dynamic/package.json
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-catalog-backend-module-marketplace-dynamic/.eslintignore
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-catalog-backend-module-marketplace-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-catalog-backend-module-marketplace-dynamic/src/index.ts
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-catalog-backend-module-marketplace-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-catalog-backend-module-marketplace-dynamic/turbo.json
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-dynamic-home-page/package.json
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-extensions-backend-dynamic/package.json
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-extensions/package.json
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/package.json
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-header/package.json
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-marketplace-backend-dynamic/.eslintignore
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-marketplace-backend-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-marketplace-backend-dynamic/src/index.ts
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-marketplace-backend-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-marketplace-backend-dynamic/turbo.json
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-marketplace/.eslintignore
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-marketplace/.eslintrc.js
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-marketplace/src/alpha.ts
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-marketplace/src/index.ts
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-marketplace/tsconfig.json
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-marketplace/turbo.json
  • dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-quickstart/package.json
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-argo-cd-backend-dynamic/.eslintignore
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-argo-cd-backend-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-argo-cd-backend-dynamic/package.json
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-argo-cd-backend-dynamic/src/index.ts
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-argo-cd-backend-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-argo-cd-backend-dynamic/turbo.json
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-datadog/.eslintignore
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-datadog/.eslintrc.js
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-datadog/package.json
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-datadog/src/index.ts
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-datadog/tsconfig.json
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-datadog/turbo.json
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-insights/.eslintignore
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-insights/.eslintrc.js
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-insights/package.json
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-insights/src/index.ts
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-insights/tsconfig.json
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-insights/turbo.json
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-pull-requests/.eslintignore
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-pull-requests/.eslintrc.js
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-pull-requests/package.json
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-pull-requests/src/index.ts
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-pull-requests/tsconfig.json
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-pull-requests/turbo.json
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-jira/.eslintignore
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-jira/.eslintrc.js
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-jira/package.json
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-jira/src/index.ts
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-jira/tsconfig.json
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-jira/turbo.json
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-security-insights/.eslintignore
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-security-insights/.eslintrc.js
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-security-insights/package.json
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-security-insights/src/index.ts
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-security-insights/tsconfig.json
  • dynamic-plugins/wrappers/roadiehq-backstage-plugin-security-insights/turbo.json
  • dynamic-plugins/wrappers/roadiehq-scaffolder-backend-argocd-dynamic/.eslintignore
  • dynamic-plugins/wrappers/roadiehq-scaffolder-backend-argocd-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/roadiehq-scaffolder-backend-argocd-dynamic/package.json
  • dynamic-plugins/wrappers/roadiehq-scaffolder-backend-argocd-dynamic/src/index.ts
  • dynamic-plugins/wrappers/roadiehq-scaffolder-backend-argocd-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/roadiehq-scaffolder-backend-argocd-dynamic/turbo.json
  • dynamic-plugins/wrappers/roadiehq-scaffolder-backend-module-http-request-dynamic/package.json
  • dynamic-plugins/wrappers/roadiehq-scaffolder-backend-module-utils-dynamic/.eslintignore
  • dynamic-plugins/wrappers/roadiehq-scaffolder-backend-module-utils-dynamic/.eslintrc.js
  • dynamic-plugins/wrappers/roadiehq-scaffolder-backend-module-utils-dynamic/package.json
  • dynamic-plugins/wrappers/roadiehq-scaffolder-backend-module-utils-dynamic/src/index.ts
  • dynamic-plugins/wrappers/roadiehq-scaffolder-backend-module-utils-dynamic/tsconfig.json
  • dynamic-plugins/wrappers/roadiehq-scaffolder-backend-module-utils-dynamic/turbo.json
  • package.json
  • packages/app-next/package.json
  • packages/app/config.d.ts
  • packages/app/package.json
  • packages/app/src/build-metadata.json
  • packages/app/src/components/ErrorPages/ErrorPage.tsx
  • packages/app/src/components/Root/ApplicationDrawer.tsx
  • packages/app/src/components/Root/CustomSidebarItem.tsx
  • packages/app/src/components/Root/ResizableDrawer.tsx
  • packages/app/src/components/SignInPage/SignInPage.tsx
  • packages/app/src/components/catalog/EntityPage/DependenciesTabContent.tsx
  • packages/app/src/components/catalog/EntityPage/DiagramTabContent.tsx
  • packages/app/src/components/catalog/EntityPage/OverviewTabContent.tsx
  • packages/app/src/components/catalog/Grid/Grid.tsx
  • packages/app/src/components/catalog/filters/CustomEntityTagPicker.tsx
  • packages/app/src/hooks/useLearningPathData.test.ts
  • packages/app/src/hooks/useThemedConfig.ts
  • packages/app/src/translations/catalog-import/catalog-import-en.ts
  • packages/app/src/translations/catalog-import/catalog-import.ts
  • packages/app/src/translations/catalog-import/de.ts
  • packages/app/src/translations/catalog-import/es.ts
  • packages/app/src/translations/catalog-import/fr.ts
  • packages/app/src/translations/catalog-import/it.ts
  • packages/app/src/translations/catalog-import/ja.ts
  • packages/app/src/translations/catalog/catalog-en.ts
  • packages/app/src/translations/catalog/catalog.ts
  • packages/app/src/translations/catalog/de.ts
  • packages/app/src/translations/catalog/es.ts
  • packages/app/src/translations/catalog/fr.ts
  • packages/app/src/translations/catalog/it.ts
  • packages/app/src/translations/catalog/ja.ts
  • packages/app/src/translations/core-components/core-components-en.ts
  • packages/app/src/translations/core-components/core-components.ts
  • packages/app/src/translations/core-components/de.ts
  • packages/app/src/translations/core-components/es.ts
  • packages/app/src/translations/core-components/fr.ts
  • packages/app/src/translations/core-components/it.ts
  • packages/app/src/translations/core-components/ja.ts
  • packages/app/src/translations/rhdh/de.ts
  • packages/app/src/translations/rhdh/es.ts
  • packages/app/src/translations/rhdh/fr.ts
  • packages/app/src/translations/rhdh/index.ts
  • packages/app/src/translations/rhdh/it.ts
  • packages/app/src/translations/rhdh/ja.ts
  • packages/app/src/translations/rhdh/ref.ts
  • packages/app/src/translations/scaffolder/de.ts
  • packages/app/src/translations/scaffolder/es.ts
  • packages/app/src/translations/scaffolder/fr.ts
  • packages/app/src/translations/scaffolder/it.ts
  • packages/app/src/translations/scaffolder/ja.ts
  • packages/app/src/translations/scaffolder/scaffolder-en.ts
  • packages/app/src/translations/scaffolder/scaffolder.ts
  • packages/app/src/translations/search/ja.ts
  • packages/app/src/translations/search/search-de.ts
  • packages/app/src/translations/search/search-en.ts
  • packages/app/src/translations/search/search-es.ts
  • packages/app/src/translations/search/search-fr.ts
  • packages/app/src/translations/search/search-it.ts
  • packages/app/src/translations/search/search.ts
  • packages/app/src/translations/user-settings/ja.ts
  • packages/app/src/translations/user-settings/user-settings-de.ts
  • packages/app/src/translations/user-settings/user-settings-en.ts
  • packages/app/src/translations/user-settings/user-settings-es.ts
  • packages/app/src/translations/user-settings/user-settings-fr.ts
  • packages/app/src/translations/user-settings/user-settings-it.ts
  • packages/app/src/translations/user-settings/user-settings.ts
  • packages/app/src/types/types.ts
  • packages/app/src/utils/dynamicUI/extractDynamicConfig.ts
  • packages/app/src/utils/dynamicUI/extractDynamicConfigFrontend.test.ts
  • packages/app/src/utils/dynamicUI/extractDynamicConfigFrontend.ts
  • packages/app/src/utils/translations/staticTranslationConfigs.ts
  • packages/backend/package.json
  • packages/backend/src/corporate-proxy.ts
  • packages/backend/src/defaultServiceFactories.test.ts
  • packages/backend/src/defaultServiceFactories.ts
  • packages/backend/src/instrumentation.js
  • packages/backend/src/modules/authProvidersModule.ts
  • packages/backend/src/modules/rbacDynamicPluginsModule.ts
  • packages/backend/src/modules/resolverUtils.ts
  • packages/backend/src/modules/rhdhSignInResolvers.ts
  • packages/plugin-utils/package.json
  • packages/plugin-utils/src/types.ts
  • plugins/dynamic-plugins-info-backend/package.json
  • plugins/kuadrant-backend/package.json
  • plugins/kuadrant/package.json
  • plugins/licensed-users-info-backend/package.json
  • plugins/licensed-users-info-backend/src/service/readBackstageTokenExpiration.ts
  • plugins/scalprum-backend/package.json
  • scripts/update-backstage.mjs
  • turbo.json

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@R-Lawton
R-Lawton marked this pull request as ready for review August 4, 2026 13:52
Comment thread plugins/kuadrant-backend/package.json

@jasonmadigan jasonmadigan left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

couple of bits

Comment thread dynamic-plugins/package.json Outdated
Comment thread dynamic-plugins/_utils/src/wrappers.test.ts Outdated
Comment thread packages/app-next/package.json Outdated
"@testing-library/dom": "9.3.4",
"@testing-library/jest-dom": "6.9.1",
"@testing-library/react": "16.3.0",
"@testing-library/react": "14.3.1",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this goes backwards — main has 16.3.0 here, this downgrades to 14.3.1. Looks like it was accidentally normalised to match packages/app. Should be bumped back up.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good catch, fixed in 75d9501 -- restored to 16.3.0

Comment thread dynamic-plugins/_utils/package.json Outdated
"yaml": "2.8.1"
"@backstage/cli": "0.36.0",
"@backstage/cli-defaults": "0.1.0",
"glob": "11.1.0",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same issue — main has glob@12.0.0, this reverts to 11.1.0. Needs bumping back.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good catch, fixed in 75d9501 -- restored to 12.0.0

@@ -155,7 +155,7 @@ function getAuthProviderFactory(
authenticator: githubAuthenticator,
...applySignInResolvers({
signInResolver:
githubSignInResolvers.usernameMatchingUserEntityName(),
githubSignInResolvers.userIdMatchingUserEntityAnnotation(),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

heads up — this changes the GitHub (and GitLab on line 170) sign-in resolver from username matching to user ID annotation matching. Any existing deployment that doesn't have github.com/user-id annotations on User entities in the catalog will break on upgrade. Worth calling out explicitly in the PR description or release notes.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great callout 👀 this is an upstream change -- added a "Breaking change from upstream" section to the PR description to flag it. our dev setup uses dex/OIDC so it won't affect local dev, but worth knowing for anyone using github/gitlab auth directly.

jasonmadigan
jasonmadigan previously approved these changes Aug 4, 2026
@Anton-Fil

Copy link
Copy Markdown
Contributor

pls sign

R-Lawton and others added 3 commits August 6, 2026 10:05
Update the RHDH base from 1.8.4 to 1.10.2, bringing Backstage from
1.42.5 to 1.49.4. All Kuadrant-specific code is preserved.

Key changes:
- Bump all @backstage/* deps to 1.49.4 release versions
- @backstage/plugin-catalog-react 1.20.1 -> 2.1.1 (major)
- @backstage/cli 0.34.1 -> 0.36.0 (jest 30, cli-defaults)
- @red-hat-developer-hub/cli ~1.9.0 -> ~1.10.0
- Remove 42 deprecated dynamic plugin wrappers, add 3 new ones
- Remove variant="gridItem" props dropped in new Backstage
- Sync internal RHDH plugins, patches, and build scripts

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: R-Lawton <rlawton@redhat.com>
- Set node engine to "22" in dynamic-plugins/package.json to match
  .nvmrc and root package.json (was "24" from upstream)
- Remove commented-out RHIDP-10876 code from wrappers.test.ts

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: R-Lawton <rlawton@redhat.com>
- Restore @testing-library/react to 16.3.0 in app-next (upstream had
  14.3.1 but main already bumped it)
- Restore glob to 12.0.0 in dynamic-plugins/_utils (upstream had
  11.1.0 but main already bumped it)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: R-Lawton <rlawton@redhat.com>

@Anton-Fil Anton-Fil left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Anton-Fil
Anton-Fil merged commit a729b84 into main Aug 6, 2026
7 checks passed
@Anton-Fil
Anton-Fil deleted the rhdh-sync-1.10.2 branch August 6, 2026 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants