Skip to content

Commit 591394e

Browse files
authored
Merge branch 'main' into RHIDP-5733-info-about-custom-config-in-the-Installation-guides
2 parents 2a0f464 + c7d1764 commit 591394e

File tree

295 files changed

+6983
-2540
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

295 files changed

+6983
-2540
lines changed

.github/pull_request_template.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@
22

33
<!--- If your changes apply to the latest released and/or in-development version of RHDH, open your PR against the `main` branch and cherrypick your PR to any released branches that you want to apply your changes to. --->
44

5+
<!--- Add the relevant labels to the Pull Request. Update the labels, as needed, to reflect the current status of the PR. --->
6+
7+
58
**IMPORTANT: Do Not Merge - To be merged by Docs Team Only**
69

710
**Version(s):**
811
<!--- Specify the version(s) of RHDH that your PR applies to. -->
9-
Add the relevant labels to the Pull Request.
1012
**Issue:**
1113
<!--- Add a link to the Jira issue. --->
12-
14+
**Preview:**
15+
<!--- Add a link to the preview of the changed file(s). --->

.vscode/settings.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1-
{}
1+
{
2+
"cSpell.words": [
3+
"preconfigured"
4+
]
5+
}

artifacts/attributes.adoc

Lines changed: 58 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,21 @@
22
:imagesdir: images
33
:idseparator: -
44

5-
// Company names
5+
// Company name
66
:company-name: Red Hat
77

88
// Products
99
:product-author: CCS
1010
:product: Red Hat Developer Hub
1111
:product-short: Developer Hub
1212
:product-very-short: RHDH
13-
:product-version: 1.5
14-
:product-bundle-version: 1.5.0
15-
:product-chart-version: 1.5.0
16-
:product-backstage-version: 1.35.0
13+
:product-local: Red Hat Developer Hub Local
14+
:product-local-very-short: RHDH Local
15+
:product-version: 1.7
16+
:product-bundle-version: 1.7.0
17+
:product-chart-version: 1.7.0
18+
:product-backstage-version: 1.39.1
19+
:product-version-next: 1.7
1720
:product-custom-resource-type: Backstage
1821
:rhdeveloper-name: Red Hat Developer
1922
:rhel: Red Hat Enterprise Linux
@@ -47,12 +50,11 @@
4750
:rhsso: RHSSO
4851
:rhbk-brand-name: Red Hat Build of Keycloak
4952
:rhbk: RHBK
50-
:keycloak-version: 24.0
53+
:keycloak-version: 26.0
5154

52-
// RHTAP information
53-
:rhtap-version: 1.3
54-
:rhtap-brand-name: Red Hat Trusted Application Pipeline
55-
:rhtap-very-short: RHTAP
55+
// RHADS information
56+
:rhads-brand-name: Red Hat Advanced Developer Suite - secure supply chain
57+
:rhads-very-short: RHADS - ssc
5658

5759
// TAS information
5860
:rhtas-brand-name: Red Hat Trusted Artifact Signer
@@ -85,75 +87,69 @@
8587
:gcp-brand-name: Google Cloud Platform
8688
:gcp-short: GCP
8789

88-
// Release Notes
89-
:rn-product-title: Release notes for Red Hat Developer Hub
90-
91-
// Red Hat Developer Hub administration guide
92-
:ag-product-title: Administration guide for Red Hat Developer Hub
93-
94-
// Red Hat Developer Hub getting started guide
95-
:gs-product-title: Getting started with Red Hat Developer Hub
96-
97-
// Backstage Plugins for Red Hat Developer Hub
98-
//:bs-product-title: Backstage Plugins for Red Hat Developer Hub
99-
100-
// User Guide
101-
:ug-product-title: Red Hat Developer Hub User Guide
10290

10391
// Links
10492

10593

106-
:LinkPluginsGuide: https://access.redhat.com/documentation/en-us/red_hat_developer_hub/{product-version}/html-single/configuring_plugins_in_red_hat_developer_hub/index
107-
:NameOfPluginsGuide: Configuring plugins in {product}
108-
109-
:release-notes-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/release_notes/index
110-
:release-notes-title: Release notes
111-
112-
:installing-and-viewing-dynamic-plugins-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/installing_and_viewing_dynamic_plugins/index
113-
:installing-and-viewing-dynamic-plugins-title: Installing and viewing dynamic plugins
114-
115-
:authentication-book-url: https://docs.redhat.com/documentation/en-us/red_hat_developer_hub/{product-version}/html-single/authentication/index
116-
:authentication-book-title: Authentication
117-
118-
:authorization-book-url: https://docs.redhat.com/documentation/en-us/red_hat_developer_hub/{product-version}/html-single/authorization/index
119-
:authorization-book-title: Authorization
120-
121-
:configuring-book-url: https://docs.redhat.com/documentation/en-us/red_hat_developer_hub/{product-version}/html-single/configuring/index
122-
:configuring-book-title: Configuring
94+
:discover-category-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/#Discover
95+
:about-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/about_red_hat_developer_hub/index
96+
:about-book-title: About {product}
12397

124-
:customizing-book-url: https://docs.redhat.com/documentation/en-us/red_hat_developer_hub/{product-version}/html-single/customizing/index
125-
:customizing-book-title: Customizing
98+
:release-notes-category-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/#Release Notes
99+
:release-notes-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/red_hat_developer_hub_release_notes/index
100+
:release-notes-book-title: {product} release notes
126101

127-
:installing-on-osd-on-gcp-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/installing_red_hat_developer_hub_on_openshift_dedicated_on_google_cloud_platform/index
128-
:installing-on-osd-on-gcp-book-title: Installing {product} on {gcp-brand-name} on {gcp-brand-name}
129-
130-
:installing-on-ocp-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/installing_red_hat_developer_hub_on_openshift_container_platform/index
102+
:install-category-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/#Install
131103
:installing-on-ocp-book-title: Installing {product} on {ocp-short}
132-
133-
:installing-on-gke-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/installing_red_hat_developer_hub_on_google_kubernetes_engine/index
134-
:installing-on-gke-book-title: Installing {product} on {gke-brand-name}
135-
136-
:installing-on-eks-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/installing_red_hat_developer_hub_on_amazon_elastic_kubernetes_service/index
104+
:installing-on-ocp-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/installing_red_hat_developer_hub_on_openshift_container_platform/index
137105
:installing-on-eks-book-title: Installing {product} on {eks-brand-name}
138-
139-
:installing-on-aks-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/installing_red_hat_developer_hub_on_microsoft_azure_kubernetes_service/index
106+
:installing-on-eks-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/installing_red_hat_developer_hub_on_amazon_elastic_kubernetes_service/index
140107
:installing-on-aks-book-title: Installing {product} on {aks-brand-name}
141-
142-
:installing-in-air-gap-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/installing_red_hat_developer_hub_in_an_air-gapped_environment/index
108+
:installing-on-aks-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/installing_red_hat_developer_hub_on_microsoft_azure_kubernetes_service/index
109+
:installing-on-osd-on-gcp-book-title: Installing {product} on {gcp-brand-name} on {gcp-brand-name}
110+
:installing-on-osd-on-gcp-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/installing_red_hat_developer_hub_on_openshift_dedicated_on_google_cloud_platform/index
111+
:installing-on-gke-book-title: Installing {product} on {gke-brand-name}
112+
:installing-on-gke-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/installing_red_hat_developer_hub_on_google_kubernetes_engine/index
143113
:installing-in-air-gap-book-title: Installing {product} in an air-gapped environment
114+
:installing-in-air-gap-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/installing_red_hat_developer_hub_in_an_air-gapped_environment/index
144115

116+
:upgrade-category-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/#Upgrade
145117
:upgrading-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/upgrading_red_hat_developer_hub/index
146118
:upgrading-book-title: Upgrading {product}
147119

120+
:configure-category-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/#Configure
121+
:configuring-book-url: https://docs.redhat.com/documentation/en-us/red_hat_developer_hub/{product-version}/html-single/configuring_red_hat_developer_hub/index
122+
:configuring-book-title: Configuring {product}
123+
:customizing-book-url: https://docs.redhat.com/documentation/en-us/red_hat_developer_hub/{product-version}/html-single/customizing_red_hat_developer_hub/index
124+
:customizing-book-title: Customizing {product}
125+
:techdocs-book-url: https://docs.redhat.com/documentation/en-us/red_hat_developer_hub/{product-version}/html-single/techdocs_for_red_hat_developer_hub/index
126+
:techdocs-book-title: TechDocs for {product}
127+
128+
:control-access-category-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/#Control access
129+
:authentication-book-url: https://docs.redhat.com/documentation/en-us/red_hat_developer_hub/{product-version}/html-single/authentication_in_red_hat_developer_hub/index
130+
:authentication-book-title: Authentication in {product}
131+
:authorization-book-url: https://docs.redhat.com/documentation/en-us/red_hat_developer_hub/{product-version}/html-single/authorization_in_red_hat_developer_hub/index
132+
:authorization-book-title: Authorization in {product}
133+
134+
:observability-category-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/#Observability
135+
:audit-log-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/audit_logs_in_red_hat_developer_hub/index
136+
:audit-log-book-title: Audit logs in {product}
137+
:monitoring-and-logging-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/monitoring_and_logging/index
138+
:monitoring-and-logging-book-title: Monitoring and logging
148139
:telemetry-data-collection-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/telemetry_data_collection/index
149140
:telemetry-data-collection-book-title: Telemetry data collection
150141

151-
:audit-log-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/audit_log/index
152-
:audit-log-book-title: Audit log
142+
:extend-category-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/#Extend
143+
:introduction-to-plugins-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/introduction_to_plugins/index
144+
:introduction-to-plugins-book-title: Introduction to plugins
145+
:configuring-dynamic-plugins-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/configuring_dynamic_plugins/index
146+
:configuring-dynamic-plugins-book-title: Configuring dynamic plugins
147+
:installing-and-viewing-plugins-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/installing_and_viewing_plugins_in_red_hat_developer_hub/index
148+
:installing-and-viewing-plugins-book-title: Installing and viewing plugins in {product}
149+
:using-dynamic-plugins-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/installing_and_viewing_plugins_in_red_hat_developer_hub/index
150+
:using-dynamic-plugins-book-title: Using dynamic plugins
151+
:dynamic-plugins-reference-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/dynamic_plugins_reference/index
152+
:dynamic-plugins-reference-book-title: Dynamic plugins reference
153153

154-
:monitoring-and-logging-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/monitoring_and_logging/index
155-
:monitoring-and-logging-book-title: Monitoring and logging
156154

157-
:plugins-configure-book-url: https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/configuring_dynamic_plugins/index
158-
:plugins-configure-book-title: Configuring dynamic plugins
159155

artifacts/rhdh-plugins-reference/argocd/argocd-plugin-admin.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,6 @@ If using the label selector annotation (backstage.io/kubernetes-label-selector),
226226
[role="_additional-resources"]
227227
.Additional resources
228228

229-
* The package path, scope, and name of the {company-name} ArgoCD plugin has changed since 1.2. For more information, see link:{release-notes-url}#removed-functionality-rhidp-4293[Breaking Changes] in the _{rn-product-title}_.
229+
* The package path, scope, and name of the {company-name} ArgoCD plugin has changed since 1.2. For more information, see link:{release-notes-book-url}#removed-functionality-rhidp-4293[Breaking Changes] in the _{release-notes-book-title}_.
230230

231-
* For more information on installing dynamic plugins, see link:{installing-and-viewing-dynamic-plugins-url}[{installing-and-viewing-dynamic-plugins-title}].
231+
* For more information on installing dynamic plugins, see link:{installing-and-viewing-plugins-book-url}[{installing-and-viewing-plugins-book-title}].

artifacts/rhdh-plugins-reference/argocd/argocd-plugin-readme.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,4 @@ image::rhdh-plugins-reference/deployment_summary.png[Deployment summary]
3333
[role="_additional-resources"]
3434
.Additional resources
3535

36-
* For more information on installing dynamic plugins, see link:{installing-and-viewing-dynamic-plugins-url}[{installing-and-viewing-dynamic-plugins-title}].
36+
* For more information on installing dynamic plugins, see link:{installing-and-viewing-plugins-book-url}[{installing-and-viewing-plugins-book-title}].

artifacts/rhdh-plugins-reference/argocd/argocd-plugin-user.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@ image::rhdh-plugins-reference/deployment_summary.png[Deployment summary]
3131
[role="_additional-resources"]
3232
.Additional resources
3333

34-
* For more information on installing dynamic plugins, see link:{installing-and-viewing-dynamic-plugins-url}[{installing-and-viewing-dynamic-plugins-title}].
34+
* For more information on installing dynamic plugins, see link:{installing-and-viewing-plugins-book-url}[{installing-and-viewing-plugins-book-title}].

artifacts/rhdh-plugins-reference/keycloak/keycloak-plugin-admin.adoc

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,64 @@ When using client credentials, the access type must be set to `confidential` and
143143
* `query-users`
144144
* `view-users`
145145

146+
== Metrics
147+
148+
The Keycloak backend plugin supports link:https://opentelemetry.io/[OpenTelemetry] metrics that you can use to monitor fetch operations and diagnose potential issues.
149+
150+
=== Available Counters
151+
152+
.Keycloak metrics
153+
[cols="60%,40%", frame="all", options="header"]
154+
|===
155+
|Metric Name
156+
|Description
157+
| `backend_keycloak_fetch_task_failure_count_total` | Counts fetch task failures where no data was returned due to an error.
158+
| `backend_keycloak_fetch_data_batch_failure_count_total` | Counts partial data batch failures. Even if some batches fail, the plugin continues fetching others.
159+
|===
160+
161+
=== Labels
162+
163+
All counters include the `taskInstanceId` label, which uniquely identifies each scheduled fetch task. You can use this label to trace failures back to individual task executions.
164+
165+
Users can enter queries in the Prometheus UI or Grafana to explore and manipulate metric data.
166+
167+
In the following examples, a Prometheus Query Language (PromQL) expression returns the number of backend failures.
168+
169+
.Example to get the number of backend failures associated with a `taskInstanceId`
170+
[source,subs="+attributes,+quotes"]
171+
----
172+
backend_keycloak_fetch_data_batch_failure_count_total{taskInstanceId="df040f82-2e80-44bd-83b0-06a984ca05ba"} 1
173+
----
174+
175+
.Example to get the number of backend failures during the last hour
176+
177+
[source,subs="+attributes,+quotes"]
178+
----
179+
sum(backend_keycloak_fetch_data_batch_failure_count_total) - sum(backend_keycloak_fetch_data_batch_failure_count_total offset 1h)
180+
----
181+
182+
[NOTE]
183+
====
184+
PromQL supports arithmetic operations, comparison operators, logical/set operations, aggregation, and various functions. Users can combine these features to analyze time-series data effectively.
185+
186+
Additionally, the results can be visualized using Grafana.
187+
====
188+
189+
// === Use Case Example
190+
191+
// Imagine your Keycloak instance is under-provisioned (e.g., low CPU/RAM limits), and the plugin is configured to send many parallel API requests.
192+
// This could cause request timeouts or throttling. The metrics described above can help detect such behavior early, allowing administrators to:
193+
194+
// - Tune the plugin configuration (e.g., reduce parallelism)
195+
// - Increase resources on the Keycloak server
196+
// - Investigate network or permission issues
197+
198+
=== Exporting Metrics
199+
200+
You can export metrics using any OpenTelemetry-compatible backend, such as *Prometheus*.
201+
202+
See the link:https://backstage.io/docs/tutorials/setup-opentelemetry[Backstage OpenTelemetry setup guide] for integration instructions.
203+
146204
== Limitations
147205

148206
If you have self-signed or corporate certificate issues, you can set the following environment variable before starting {product-short}:

artifacts/rhdh-plugins-reference/keycloak/keycloak-plugin-readme.adoc

Lines changed: 4 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@ The Keycloak backend plugin, which integrates Keycloak into {product-short}, has
66
* Synchronization of Keycloak users in a realm.
77
* Synchronization of Keycloak groups and their users in a realm.
88

9-
== For administrators
10-
11-
=== Installation
9+
== Installation
1210

1311
The Keycloak plugin is pre-loaded in {product-short} with basic configuration properties. To enable it, set the `disabled` property to `false` as follows:
1412

@@ -23,7 +21,7 @@ global:
2321
disabled: false
2422
----
2523

26-
=== Basic configuration
24+
== Basic configuration
2725
To enable the Keycloak plugin, you must set the following environment variables:
2826

2927
* `KEYCLOAK_BASE_URL`
@@ -36,7 +34,7 @@ To enable the Keycloak plugin, you must set the following environment variables:
3634

3735
* `KEYCLOAK_CLIENT_SECRET`
3836

39-
=== Advanced configuration
37+
== Advanced configuration
4038

4139
.Schedule configuration
4240
You can configure a schedule in the `app-config.yaml` file, as follows:
@@ -140,7 +138,7 @@ When using client credentials, the access type must be set to `confidential` and
140138
* `query-users`
141139
* `view-users`
142140

143-
=== Limitations
141+
== Limitations
144142

145143
If you have self-signed or corporate certificate issues, you can set the following environment variable before starting {product-short}:
146144

@@ -152,29 +150,3 @@ If you have self-signed or corporate certificate issues, you can set the followi
152150
The solution of setting the environment variable is not recommended.
153151
====
154152

155-
== For users
156-
157-
=== Import of users and groups in {product-short} using the Keycloak plugin
158-
159-
After configuring the plugin successfully, the plugin imports the users and groups each time when started.
160-
161-
[NOTE]
162-
====
163-
If you set up a schedule, users and groups will also be imported.
164-
====
165-
166-
After the first import is complete, you can select *User* to list the users from the catalog page:
167-
168-
image::rhdh-plugins-reference/users.jpg[catalog-list]
169-
170-
You can see the list of users on the page:
171-
172-
image::rhdh-plugins-reference/user-list.jpg[user-list]
173-
174-
When you select a user, you can see the information imported from Keycloak:
175-
176-
image::rhdh-plugins-reference/user2.jpg[user-profile]
177-
178-
You can also select a group, view the list, and select or view the information imported from Keycloak for a group:
179-
180-
image::rhdh-plugins-reference/group1.jpg[group-profile]

artifacts/rhdh-plugins-reference/keycloak/keycloak-plugin-user.adoc

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,11 @@ After configuring the plugin successfully, the plugin imports the users and grou
1515
If you set up a schedule, users and groups will also be imported.
1616
====
1717

18-
After the first import is complete, you can select *User* to list the users from the catalog page:
19-
20-
image::rhdh-plugins-reference/users.jpg[catalog-list]
21-
22-
You can see the list of users on the page:
23-
24-
image::rhdh-plugins-reference/user-list.jpg[user-list]
25-
26-
When you select a user, you can see the information imported from Keycloak:
27-
28-
image::rhdh-plugins-reference/user2.jpg[user-profile]
29-
30-
You can also select a group, view the list, and select or view the information imported from Keycloak for a group:
31-
32-
image::rhdh-plugins-reference/group1.jpg[group-profile]
18+
.Procedure
19+
. in {product}, go to the *Catalog* page.
20+
. Select *User* from the entity type filter to display the list of imported users.
21+
. Browse the list of users displayed on the page.
22+
. Select a user to view detailed information imported from Keycloak.
23+
. To view groups, select *Group* from the entity type filter.
24+
. Browse the list of groups shown on the page.
25+
. From the list of groups, select a group to view the information imported from Keycloak.

0 commit comments

Comments
 (0)