Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions default.packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ packages:

# should only include GA (or TP with a path to GA) content here
disabled:
- package: '@backstage-community/plugin-auth-backend-module-keycloak-provider'
support: "generally-available"
- package: '@backstage-community/plugin-catalog-backend-module-keycloak'
support: "generally-available"
- package: '@backstage-community/plugin-catalog-backend-module-pingidentity'
Expand Down
1 change: 1 addition & 0 deletions rhdh-supported-packages.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ global-header/plugins/global-header
homepage/plugins/homepage
homepage/plugins/homepage-backend

keycloak/plugins/auth-backend-module-keycloak
keycloak/plugins/catalog-backend-module-keycloak

extensions/plugins/catalog-backend-module-extensions
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Auth provider metadata exists for publish, but E2E keeps the standard OIDC path
# (e2e-test-utils keycloak auth profile) until RHIDP-11651. An empty list here
# prevents metadata auto-generation from enabling the auth provider plugin.
plugins: []
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ test.describe("Test Keycloak plugin", () => {
await rhdh.configure({
auth: "keycloak",
valueFile: "tests/config/value_file.yaml",
dynamicPlugins: "tests/config/dynamic-plugins.yaml",
});
await rhdh.deploy();

Expand All @@ -40,8 +41,17 @@ test.describe("Test Keycloak plugin", () => {
});

test.beforeEach(
async ({ page, loginHelper }: { page: Page; loginHelper: LoginHelper }) => {
async ({
page,
loginHelper,
uiHelper,
}: {
page: Page;
loginHelper: LoginHelper;
uiHelper: UIhelper;
}) => {
await loginHelper.loginAsKeycloakUser();
await uiHelper.dismissQuickstartIfVisible();
await CatalogUsersPO.visitBaseURL(page);
},
);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
apiVersion: extensions.backstage.io/v1alpha1
kind: Package
metadata:
name: backstage-community-plugin-auth-backend-module-keycloak-provider
namespace: rhdh
title: "Auth Backend Module Keycloak Provider"
links:
- url: https://red.ht/rhdh
title: Homepage
- url: https://github.com/backstage/community-plugins/issues
title: Bugs
- title: Source Code
url: https://github.com/backstage/community-plugins/tree/main/workspaces/keycloak/plugins/auth-backend-module-keycloak
annotations:
backstage.io/source-location: url:https://github.com/backstage/community-plugins/tree/main/workspaces/keycloak/plugins/auth-backend-module-keycloak
tags:
- authentication
spec:
packageName: "@backstage-community/plugin-auth-backend-module-keycloak-provider"
dynamicArtifact: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-auth-backend-module-keycloak-provider:bs_1.52.0__0.4.0
version: 0.4.0
backstage:
role: backend-plugin-module
supportedVersions: 1.52.0
author: Red Hat
support: generally-available
lifecycle: active
partOf:
- backstage-community-plugin-auth-backend-module-keycloak-provider

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[low] completeness

The partOf field self-references the Package entity name (backstage-community-plugin-auth-backend-module-keycloak-provider) instead of referencing a kind: Plugin entity in catalog-entities/extensions/plugins/. No corresponding Plugin entity exists for the keycloak auth provider, so this package will not appear in the RHDH Extensions UI until one is created. The existing keycloak catalog module correctly references keycloak-catalog-integration which has a matching Plugin entity.

Suggested fix: Create a kind: Plugin entity in catalog-entities/extensions/plugins/ for the keycloak auth provider (or add this package to the existing keycloak-catalog-integration Plugin entity's packages list), and update the partOf reference accordingly. This can be done in a follow-up PR.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[low] metadata

partOf references the entity itself (backstage-community-plugin-auth-backend-module-keycloak-provider) rather than a Plugin entity name. No matching kind: Plugin entity exists in catalog-entities/extensions/plugins/, so the Extensions UI link will not resolve. Other packages reference meaningful group names (e.g., keycloak-catalog-integration, jenkins).

Suggested fix: Create a Plugin entity for the keycloak auth provider in catalog-entities/extensions/plugins/ and update partOf to reference it, or add this package to the existing keycloak-catalog-integration Plugin entity spec.packages list if appropriate.

appConfigExamples:

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[low] conventions

partOf references the entity own name (backstage-community-plugin-auth-backend-module-keycloak-provider) rather than a logical group. Other packages use short group names (e.g. keycloak-catalog-integration, jenkins, adoption-insights).

Suggested fix: Use a logical group name such as keycloak-auth or align with the existing keycloak-catalog-integration group.

- title: Default configuration
content:
auth:
providers:
keycloak:
development:
clientId: ${KEYCLOAK_CLIENT_ID}
clientSecret: ${KEYCLOAK_CLIENT_SECRET}
baseUrl: ${KEYCLOAK_BASE_URL}
realm: ${KEYCLOAK_REALM}
signIn:
resolvers:
- resolver: emailMatchingUserEntityProfileEmail
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ metadata:
- software-catalog
spec:
packageName: "@backstage-community/plugin-catalog-backend-module-keycloak"
dynamicArtifact: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-catalog-backend-module-keycloak:bs_1.49.4__3.19.2
version: 3.19.2
dynamicArtifact: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-catalog-backend-module-keycloak:bs_1.52.0__3.21.0
version: 3.21.0
backstage:
role: backend-plugin-module
supportedVersions: 1.49.4
supportedVersions: 1.52.0
author: Red Hat
support: generally-available
lifecycle: active
Expand Down
1 change: 1 addition & 0 deletions workspaces/keycloak/plugins-list.yaml
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
plugins/auth-backend-module-keycloak:
plugins/catalog-backend-module-keycloak:

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[low] style

File lacks a trailing newline (pre-existing issue, not introduced by this PR).

Suggested fix: Add a trailing newline to the file.

2 changes: 1 addition & 1 deletion workspaces/keycloak/source.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"repo":"https://github.com/backstage/community-plugins","repo-ref":"1efa63e27cab90692df93c875ad29a57cf9d3aa5","repo-flat":false,"repo-backstage-version":"1.49.3"}
{"repo":"https://github.com/backstage/community-plugins","repo-ref":"cc95112a8c4ff638a299f5f5fb818e6491f36577","repo-flat":false,"repo-backstage-version":"1.52.0"}
Loading