You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This change adds a useNewFrontendSystem option to configure the RHDH
deployment to load the new frontend system app-next package instead of
the old frontend system app package. This change also adds the relevant
plugins in this mode that are required for logging in using other
authentication providers than the guest login as well as source control
authentication support. Tests that want to use the new frontend system
simply need to set useNewFrontendSystem to "true" in the options object
for rhdh.configure().
Assisted-By: Cursor Desktop
rh-pre-commit.version: 2.3.2
rh-pre-commit.check-secrets: ENABLED
|`disableWrappers`|`string[]`| Wrapper plugins to disable (PR builds) |
62
+
|`useNewFrontendSystem`|`boolean`| New frontend system (app-next / NFS shell); see [RHDH deployment](/guide/deployment/rhdh-deployment#new-frontend-system-usenewfrontendsystem)|
Copy file name to clipboardExpand all lines: docs/changelog.md
+7-1Lines changed: 7 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,13 @@
2
2
3
3
All notable changes to this project will be documented in this file.
4
4
5
-
## [1.1.37] - Current
5
+
## [1.1.38] - Current
6
+
7
+
### Added
8
+
9
+
-**`useNewFrontendSystem`** — Optional flag on `rhdh.configure()` for Backstage **app-next** / new frontend system tests: merges `APP_CONFIG_app_packageName` and `ENABLE_STANDARD_MODULE_FEDERATION` into `rhdh-secrets`, adds default OCI dynamic plugins for **app-auth** and **app-integrations**, optional Helm merge layers (`value_file.new-frontend.yaml`, workspace `tests/config/value_file-app-next.yaml`). Env overrides: `RHDH_E2E_NFS_APP_AUTH_PACKAGE`, `RHDH_E2E_NFS_APP_INTEGRATIONS_PACKAGE` (full `oci://` refs). Exported constants `RHDH_E2E_NFS_APP_AUTH_PACKAGE_ENV` and `RHDH_E2E_NFS_APP_INTEGRATIONS_PACKAGE_ENV`. Types re-exported from `@red-hat-developer-hub/e2e-test-utils/rhdh`.
Copy file name to clipboardExpand all lines: docs/guide/configuration/config-files.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,6 +46,10 @@ catalog:
46
46
47
47
Configure dynamic plugins:
48
48
49
+
::: tip `useNewFrontendSystem`
50
+
If you run against the **app-next** shell, set `useNewFrontendSystem: true` on [`configure()`](/guide/deployment/rhdh-deployment#new-frontend-system-usenewfrontendsystem) so the package merges default **app-auth** and **app-integrations** OCI plugins (and optional [env overrides](/guide/configuration/environment-variables#new-frontend-system-app-next-shell-plugins)). You can then omit those entries from this file when the defaults match your train.
Copy file name to clipboardExpand all lines: docs/guide/configuration/environment-variables.md
+13Lines changed: 13 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,6 +48,19 @@ These control automatic plugin configuration injection from metadata files:
48
48
|`JOB_NAME`| CI job name (set by OpenShift CI/Prow) | If contains `periodic-`, injection is disabled |
49
49
|`JOB_MODE`| CI-only: `nightly` or `pr-check` (set by step registry) | Informational |
50
50
51
+
## New frontend system (app-next shell plugins)
52
+
53
+
When [`useNewFrontendSystem`](/guide/deployment/rhdh-deployment#new-frontend-system-usenewfrontendsystem) is `true`, the package adds default OCI packages for **app-auth** and **app-integrations**. You can override each with a **full**`oci://` reference (optional):
54
+
55
+
| Variable | Description | Default |
56
+
|----------|-------------|---------|
57
+
|`RHDH_E2E_NFS_APP_AUTH_PACKAGE`| Full `oci://` package ref for `red-hat-developer-hub-backstage-plugin-app-auth`| Baked default in package YAML |
58
+
|`RHDH_E2E_NFS_APP_INTEGRATIONS_PACKAGE`| Full `oci://` package ref for `red-hat-developer-hub-backstage-plugin-app-integrations`| Baked default in package YAML |
59
+
60
+
If an env var is **unset**, the default ref from the package is used. If set, it **replaces** that plugin entry (useful in CI to pin versions without publishing a new `@red-hat-developer-hub/e2e-test-utils` release).
61
+
62
+
Constants matching these names are exported as `RHDH_E2E_NFS_APP_AUTH_PACKAGE_ENV` and `RHDH_E2E_NFS_APP_INTEGRATIONS_PACKAGE_ENV` from `@red-hat-developer-hub/e2e-test-utils/rhdh`.
63
+
51
64
### OCI URL Generation
52
65
53
66
When `GIT_PR_NUMBER` is set, the package replaces local plugin paths with OCI URLs:
|[Disabling Conflicting Wrappers](/guide/configuration/disable-wrappers)| Disabling pre-enabled wrappers that may cause configuration conflicts |
14
14
15
15
## Project Configuration
@@ -69,6 +69,8 @@ RHDH configurations are merged in layers:
69
69
70
70
This allows you to override only what you need while using sensible defaults.
71
71
72
+
For tests targeting the **new frontend system** (app-next), see [`useNewFrontendSystem`](/guide/deployment/rhdh-deployment#new-frontend-system-usenewfrontendsystem) on `configure()` and [NFS-related environment variables](/guide/configuration/environment-variables#new-frontend-system-app-next-shell-plugins).
73
+
72
74
## Plugin Metadata Injection
73
75
74
76
For PR builds, the package can automatically inject plugin configurations from metadata files. See [Plugin Metadata Injection](/guide/configuration/config-files#plugin-metadata-injection) for details.
|`disableWrappers`|`string[]`| Wrapper plugin package names to disable (`GIT_PR_NUMBER` flows) |
61
+
|`useNewFrontendSystem`|`boolean`| When `true`, enables the Backstage **new frontend system** shell (app-next): merges `APP_CONFIG_app_packageName` / `ENABLE_STANDARD_MODULE_FEDERATION` into `rhdh-secrets`, adds OCI **app-auth** and **app-integrations** dynamic plugins (with optional env overrides — see [Environment Variables](/guide/configuration/environment-variables#new-frontend-system-app-next-shell-plugins)), and merges extra Helm values (`value_file.new-frontend.yaml`, optional workspace `tests/config/value_file-app-next.yaml`). Defaults to `false`. |
62
+
63
+
### New frontend system (`useNewFrontendSystem`)
64
+
65
+
Set `useNewFrontendSystem: true` in **`configure()`** when tests must run against the **app-next** frontend (often called NFS in docs). Typical flow:
66
+
67
+
```typescript
68
+
awaitrhdh.configure({
69
+
auth: "keycloak",
70
+
useNewFrontendSystem: true,
71
+
});
72
+
awaitrhdh.deploy();
73
+
```
74
+
75
+
Do **not** rely on the worker fixture’s argument-free `configure()` call for this flag — pass it in `beforeAll` with the rest of your deployment options **before**`deploy()`, as you do for `auth` and custom config paths.
76
+
77
+
What gets merged:
78
+
79
+
1.**Secrets** — `APP_CONFIG_app_packageName: app-next` and `ENABLE_STANDARD_MODULE_FEDERATION: "true"` (workspace `rhdh-secrets.yaml` still supplies plugin-specific secrets).
80
+
2.**Dynamic plugins** — Default OCI refs for `red-hat-developer-hub-backstage-plugin-app-auth` and `...-app-integrations`, overridable via `RHDH_E2E_NFS_APP_AUTH_PACKAGE` and `RHDH_E2E_NFS_APP_INTEGRATIONS_PACKAGE` (full `oci://` URIs).
81
+
3.**Helm** — Package merge layer `config/helm/value_file.new-frontend.yaml` (shipped with the package), then your `value_file.yaml`, then optional `tests/config/value_file-app-next.yaml` when that file exists.
82
+
83
+
Workspace-specific **app-config** (titles, plugin routes, etc.) remains your responsibility.
2. Optionally applies **new frontend system** merges when [`useNewFrontendSystem`](#deploymentoptions) was set on `configure()` (secrets, optional OCI shell plugins, Helm layers)
142
+
3.[Injects plugin metadata](/guide/configuration/config-files#plugin-metadata-injection) into dynamic plugins config
Copy file name to clipboardExpand all lines: docs/overlay/reference/environment-variables.md
+11Lines changed: 11 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,6 +42,17 @@ See [Running Locally - Secrets from Vault](/overlay/tutorials/running-locally#se
42
42
|`INSTALLATION_METHOD`| Deployment method: `helm` or `operator`|`helm`| No |
43
43
|`CHART_URL`| Custom Helm chart URL |`oci://quay.io/rhdh/chart`| No |
44
44
45
+
### New frontend system (optional OCI overrides)
46
+
47
+
Used when tests call `configure({ useNewFrontendSystem: true })`. Same semantics as the [guide environment reference](/guide/configuration/environment-variables#new-frontend-system-app-next-shell-plugins): full `oci://` refs; unset keeps package defaults.
48
+
49
+
| Variable | Description |
50
+
|----------|-------------|
51
+
|`RHDH_E2E_NFS_APP_AUTH_PACKAGE`| Override default OCI ref for app-auth |
52
+
|`RHDH_E2E_NFS_APP_INTEGRATIONS_PACKAGE`| Override default OCI ref for app-integrations |
53
+
54
+
Set these in Vault or CI job env when you need to pin shell plugin versions per pipeline.
**All of these files are optional.** Only create them when you need to override or extend defaults.
34
35
36
+
## `useNewFrontendSystem` (app-next / NFS)
37
+
38
+
When you pass `useNewFrontendSystem: true` to [`configure()`](/guide/deployment/rhdh-deployment#configureoptions), `@red-hat-developer-hub/e2e-test-utils` merges:
39
+
40
+
-**Secrets** — `APP_CONFIG_app_packageName=app-next` and `ENABLE_STANDARD_MODULE_FEDERATION=true` into the `rhdh-secrets` Secret (you no longer need duplicate keys in a separate `rhdh-secrets-next.yaml` for that).
41
+
-**Dynamic plugins** — Default OCI entries for **app-auth** and **app-integrations**, overridable via `RHDH_E2E_NFS_APP_AUTH_PACKAGE` / `RHDH_E2E_NFS_APP_INTEGRATIONS_PACKAGE` ([guide](/guide/configuration/environment-variables#new-frontend-system-app-next-shell-plugins)).
42
+
43
+
You can **remove** hand-maintained `app-auth` / `app-integrations` lines from `dynamic-plugins.yaml` when the framework supplies them. Keep workspace-only plugins and metadata-driven config as today.
44
+
45
+
Optional **`value_file-app-next.yaml`** is merged last when `useNewFrontendSystem` is true and the file exists — use for chart tweaks specific to app-next runs.
46
+
35
47
## app-config-rhdh.yaml (Optional)
36
48
37
49
The main RHDH configuration file. This file is merged with default configurations from `@red-hat-developer-hub/e2e-test-utils`.
0 commit comments