From 297f33c00f02b3691acc0f7c7dc0c634ee8f7917 Mon Sep 17 00:00:00 2001 From: deerskindoll Date: Thu, 4 Dec 2025 01:23:40 +0100 Subject: [PATCH 1/5] RHIDP-8066 --- modules/ref-time-syntax.adoc | 63 ++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 modules/ref-time-syntax.adoc diff --git a/modules/ref-time-syntax.adoc b/modules/ref-time-syntax.adoc new file mode 100644 index 0000000000..d68723e726 --- /dev/null +++ b/modules/ref-time-syntax.adoc @@ -0,0 +1,63 @@ +:_mod-docs-content-type: REFERENCE + +[id="ref-time-syntax_{context}"] += Time syntax in {product} + +{product-very-short} configuration fields involving time durations support multiple formats. + +.Generally supported time formats +[cols="1, 1, 1, 1"] +|=== +|*Format* +|*Description* +|*Example* +|*Compound values* + +|*Human-readable strings* +|Simple strings compatible with the `ms` library. +|`30s` (30 seconds) +`1.5h` (1.5 hours) +`2 days` (2 days) +|No + +|*ISO 8601 duration strings* +|Standard ISO 8601 duration strings. +|`PT30S` (30 seconds) +`P1DT12H` (1 day and 12 hours) +`P1M` (1 month) +|Yes + +|*Duration objects* +|A structured object specifying time units. Matches the `HumanDuration` TypeScript interface. +|[source,yaml] +---- + timeout: + minutes: 30 + seconds: 10 +---- +|Yes +|=== + + +.Context-dependent time formats +[cols="1, 1, 1"] +|=== +|*Format* +|*Description* +|*Example* + +|*Cron* +|An object containing a `cron` key with a crontab-style string. Used primarily by Scheduler services for tasks such as `frequency`). +|[source,yaml] +---- + frequency: + cron: '*/5 * * * *' +---- +|=== + +[WARNING] +==== +{product-very-short} configuration reader `readDurationFromConfig` explicitly **disallows** plain numbers to prevent ambiguity. + +However, specific raw configuration fields, such as direct Node.js HTTP server settings, might strictly require numbers. Always check the specific documentation for the field you are configuring. +==== From dc4e7b37dd16e5a021f2b5412dbe4c4fe1cae9aa Mon Sep 17 00:00:00 2001 From: deerskindoll Date: Thu, 4 Dec 2025 21:45:29 +0100 Subject: [PATCH 2/5] RHIDP-8066 --- assemblies/assembly-rhdh-default-configuration.adoc | 4 +++- modules/{ => configuring}/ref-time-syntax.adoc | 0 2 files changed, 3 insertions(+), 1 deletion(-) rename modules/{ => configuring}/ref-time-syntax.adoc (100%) diff --git a/assemblies/assembly-rhdh-default-configuration.adoc b/assemblies/assembly-rhdh-default-configuration.adoc index 700138dc2f..2e79d48615 100644 --- a/assemblies/assembly-rhdh-default-configuration.adoc +++ b/assemblies/assembly-rhdh-default-configuration.adoc @@ -19,4 +19,6 @@ include::modules/configuring-external-databases/con-mounts-for-default-secret-pv include::modules/configuring-external-databases/proc-configuring-mount-paths.adoc[leveloffset=+2] -include::modules/configuring-external-databases/proc-mounting-to-specific-containers.adoc[leveloffset=+2] \ No newline at end of file +include::modules/configuring-external-databases/proc-mounting-to-specific-containers.adoc[leveloffset=+2] + +include::modules/configuring/ref-time-syntax.adoc[leveloffset=1] diff --git a/modules/ref-time-syntax.adoc b/modules/configuring/ref-time-syntax.adoc similarity index 100% rename from modules/ref-time-syntax.adoc rename to modules/configuring/ref-time-syntax.adoc From ecef9ff114fdeb90e118f1f2be9c6efaa7450560 Mon Sep 17 00:00:00 2001 From: deerskindoll Date: Thu, 4 Dec 2025 21:48:22 +0100 Subject: [PATCH 3/5] RHIDP-8066 --- modules/configuring/ref-time-syntax.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/configuring/ref-time-syntax.adoc b/modules/configuring/ref-time-syntax.adoc index d68723e726..50575c09c6 100644 --- a/modules/configuring/ref-time-syntax.adoc +++ b/modules/configuring/ref-time-syntax.adoc @@ -3,7 +3,7 @@ [id="ref-time-syntax_{context}"] = Time syntax in {product} -{product-very-short} configuration fields involving time durations support multiple formats. +Learn about time duration formats supported by {product}. .Generally supported time formats [cols="1, 1, 1, 1"] From 20b6d2a4097bbe5f922b01b8208524513cfd4c68 Mon Sep 17 00:00:00 2001 From: deerskindoll Date: Fri, 5 Dec 2025 14:18:11 +0100 Subject: [PATCH 4/5] RHIDP-8066 --- .../aap-backend/aap-backend-plugin-readme.adoc | 12 ++++++------ .../keycloak/keycloak-plugin-admin.adoc | 4 ++-- .../keycloak/keycloak-plugin-readme.adoc | 14 +++++++------- .../ocm/ocm-plugin-readme.adoc | 14 +++++++------- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/artifacts/rhdh-plugins-reference/aap-backend/aap-backend-plugin-readme.adoc b/artifacts/rhdh-plugins-reference/aap-backend/aap-backend-plugin-readme.adoc index bc06dc0cf1..1131912254 100644 --- a/artifacts/rhdh-plugins-reference/aap-backend/aap-backend-plugin-readme.adoc +++ b/artifacts/rhdh-plugins-reference/aap-backend/aap-backend-plugin-readme.adoc @@ -28,11 +28,11 @@ The AAP backend plugin is pre-loaded in {product-short} with basic configuration [source,yaml] ---- -global: - dynamic: - includes: +global: + dynamic: + includes: - dynamic-plugins.default.yaml - plugins: + plugins: - package: ./dynamic-plugins/dist/janus-idp-backstage-plugin-aap-backend-dynamic disabled: false ---- @@ -60,9 +60,9 @@ To enable the AAP plugin, you must set the following environment variables: owner: system: schedule: # optional; same options as in TaskScheduleDefinition - # supports cron, ISO duration, "human duration" as used in code + # supports cron, ISO 8601 duration strings, and duration objects frequency: { minutes: 1 } - # supports ISO duration, "human duration" as used in code + # supports ISO 8601 duration strings and duration objects timeout: { minutes: 1 } ---- -- diff --git a/artifacts/rhdh-plugins-reference/keycloak/keycloak-plugin-admin.adoc b/artifacts/rhdh-plugins-reference/keycloak/keycloak-plugin-admin.adoc index 7dd2bd2089..5709440546 100644 --- a/artifacts/rhdh-plugins-reference/keycloak/keycloak-plugin-admin.adoc +++ b/artifacts/rhdh-plugins-reference/keycloak/keycloak-plugin-admin.adoc @@ -53,9 +53,9 @@ You can configure a schedule in the `app-config.yaml` file, as follows: # ... # highlight-add-start schedule: # optional; same options as in TaskScheduleDefinition - # supports cron, ISO duration, "human duration" as used in code + # supports cron, ISO 8601 duration strings, and duration objects frequency: { minutes: 1 } - # supports ISO duration, "human duration" as used in code + # supports ISO 8601 duration strings and duration objects timeout: { minutes: 1 } initialDelay: { seconds: 15 } # highlight-add-end diff --git a/artifacts/rhdh-plugins-reference/keycloak/keycloak-plugin-readme.adoc b/artifacts/rhdh-plugins-reference/keycloak/keycloak-plugin-readme.adoc index 754855509a..313400b921 100644 --- a/artifacts/rhdh-plugins-reference/keycloak/keycloak-plugin-readme.adoc +++ b/artifacts/rhdh-plugins-reference/keycloak/keycloak-plugin-readme.adoc @@ -1,5 +1,5 @@ [id="rhdh-keycloak_{context}"] -= Installation and configuration of Keycloak += Installation and configuration of Keycloak The Keycloak backend plugin, which integrates Keycloak into {product-short}, has the following capabilities: @@ -12,11 +12,11 @@ The Keycloak plugin is pre-loaded in {product-short} with basic configuration pr [source,yaml] ---- -global: - dynamic: - includes: +global: + dynamic: + includes: - dynamic-plugins.default.yaml - plugins: + plugins: - package: ./dynamic-plugins/dist/backstage-community-plugin-catalog-backend-module-keycloak-dynamic disabled: false ---- @@ -48,9 +48,9 @@ You can configure a schedule in the `app-config.yaml` file, as follows: # ... # highlight-add-start schedule: # optional; same options as in TaskScheduleDefinition - # supports cron, ISO duration, "human duration" as used in code + # supports cron, ISO 8601 duration strings, and duration objects frequency: { minutes: 1 } - # supports ISO duration, "human duration" as used in code + # supports ISO 8601 duration strings and duration objects timeout: { minutes: 1 } initialDelay: { seconds: 15 } # highlight-add-end diff --git a/artifacts/rhdh-plugins-reference/ocm/ocm-plugin-readme.adoc b/artifacts/rhdh-plugins-reference/ocm/ocm-plugin-readme.adoc index 504259a992..c5371218e7 100644 --- a/artifacts/rhdh-plugins-reference/ocm/ocm-plugin-readme.adoc +++ b/artifacts/rhdh-plugins-reference/ocm/ocm-plugin-readme.adoc @@ -25,15 +25,15 @@ The Red Hat Plug-ins for Backstage (RHPIB) packages are hosted in a separate NPM ---- # update your .npmrc or .yarnrc file yarn config set "@redhat:registry" https://npm.registry.redhat.com -# then pull a package +# then pull a package yarn add @redhat/backstage-plugin-quay ---- -For more information, see link:https://docs.npmjs.com/cli/v9/configuring-npm/npmrc[npm docs]. +For more information, see link:https://docs.npmjs.com/cli/v9/configuring-npm/npmrc[npm docs]. -Creating a `.npmrc` file ensures that all the packages are scoped under `@redhat` and are fetched from link:https://npm.registry.redhat.com/[Red Hat's NPM registry], while the rest dependencies remain sourced from other link:registry.npmjs.org[registry]. +Creating a `.npmrc` file ensures that all the packages are scoped under `@redhat` and are fetched from link:https://npm.registry.redhat.com/[Red Hat's NPM registry], while the rest dependencies remain sourced from other link:registry.npmjs.org[registry]. -Using this configuration, you can proceed with the installation of the individual packages. +Using this configuration, you can proceed with the installation of the individual packages. The OCM plugin is composed of two packages, including: @@ -204,9 +204,9 @@ For more information about the configuration, see https://backstage.io/docs/feat # ... # highlight-add-start schedule: # optional; same options as in TaskScheduleDefinition - # supports cron, ISO duration, "human duration" as used in code + # supports cron, ISO 8601 duration strings, and duration objects frequency: { minutes: 1 } - # supports ISO duration, "human duration" as used in code + # supports ISO 8601 duration strings and duration objects timeout: { minutes: 1 } # highlight-add-end + @@ -295,7 +295,7 @@ yarn workspace app add @redhat/backstage-plugin-ocm -- . Select the components that you want to use, such as: - + ** `OcmPage`: This is a standalone page or dashboard displaying all clusters as tiles. You can add `OcmPage` to `packages/app/src/App.tsx` file as follows: + -- From 9375615d028ba920e699b5d5c5b706b856394b47 Mon Sep 17 00:00:00 2001 From: deerskindoll Date: Mon, 8 Dec 2025 15:17:00 +0100 Subject: [PATCH 5/5] RHIDP-8066 --- modules/configuring/ref-time-syntax.adoc | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/modules/configuring/ref-time-syntax.adoc b/modules/configuring/ref-time-syntax.adoc index 50575c09c6..8e1c484612 100644 --- a/modules/configuring/ref-time-syntax.adoc +++ b/modules/configuring/ref-time-syntax.adoc @@ -15,27 +15,22 @@ Learn about time duration formats supported by {product}. |*Human-readable strings* |Simple strings compatible with the `ms` library. -|`30s` (30 seconds) -`1.5h` (1.5 hours) -`2 days` (2 days) +|`30m` |No -|*ISO 8601 duration strings* -|Standard ISO 8601 duration strings. -|`PT30S` (30 seconds) -`P1DT12H` (1 day and 12 hours) -`P1M` (1 month) -|Yes - |*Duration objects* |A structured object specifying time units. Matches the `HumanDuration` TypeScript interface. -|[source,yaml] +a|[source,yaml] ---- timeout: minutes: 30 - seconds: 10 ---- |Yes + +|*ISO 8601 duration strings* +|Standard ISO 8601 duration strings. +|`PT30M` +|Yes |=== @@ -48,10 +43,10 @@ Learn about time duration formats supported by {product}. |*Cron* |An object containing a `cron` key with a crontab-style string. Used primarily by Scheduler services for tasks such as `frequency`). -|[source,yaml] +a|[source,yaml] ---- frequency: - cron: '*/5 * * * *' + cron: '*/30 * * * *' ---- |===