Skip to content

Commit ded8aa5

Browse files
authored
Merge branch 'main' into RHIDP-7612
2 parents c7996c2 + 3d66b98 commit ded8aa5

File tree

46 files changed

+892
-959
lines changed

Some content is hidden

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

46 files changed

+892
-959
lines changed

artifacts/attributes.adoc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@
9393

9494
// First mention of OpenShift CLI or `oc` in a module
9595
:openshift-cli: pass:quotes[OpenShift CLI (`oc`)]
96+
:platform-generic: OpenShift
9697

9798
// Links and their title (in alphabetical order)
9899
:about-book-link: {product-docs-link}/html-single/about_red_hat_developer_hub/index
@@ -127,11 +128,11 @@
127128
:installing-and-viewing-plugins-book-title: Installing and viewing plugins in {product}
128129
:installing-in-air-gap-book-link: {product-docs-link}/html-single/installing_red_hat_developer_hub_in_an_air-gapped_environment/index
129130
:installing-in-air-gap-book-title: Installing {product} in an air-gapped environment
130-
:installing-on-aks-book-link: {product-docs-link}/html-single/installing_red_hat_developer_hub_on_microsoft_azure_kubernetes_service/index
131+
:installing-on-aks-book-link: {product-docs-link}/html-single/installing_red_hat_developer_hub_on_microsoft_azure_kubernetes_service_aks/index
131132
:installing-on-aks-book-title: Installing {product} on {aks-brand-name}
132-
:installing-on-eks-book-link: {product-docs-link}/html-single/installing_red_hat_developer_hub_on_amazon_elastic_kubernetes_service/index
133+
:installing-on-eks-book-link: {product-docs-link}/html-single/installing_red_hat_developer_hub_on_amazon_elastic_kubernetes_service_eks/index
133134
:installing-on-eks-book-title: Installing {product} on {eks-brand-name}
134-
:installing-on-gke-book-link: {product-docs-link}/html-single/installing_red_hat_developer_hub_on_google_kubernetes_engine/index
135+
:installing-on-gke-book-link: {product-docs-link}/html-single/installing_red_hat_developer_hub_on_google_kubernetes_engine_gke/index
135136
:installing-on-gke-book-title: Installing {product} on {gke-brand-name}
136137
:installing-on-ocp-book-link: {product-docs-link}/html-single/installing_red_hat_developer_hub_on_openshift_container_platform/index
137138
:installing-on-ocp-book-title: Installing {product} on {ocp-short}

assemblies/assembly-configuring-default-secret-pvc-mounts.adoc

Lines changed: 0 additions & 10 deletions
This file was deleted.

assemblies/assembly-install-rhdh-eks-operator.adoc

Lines changed: 0 additions & 12 deletions
This file was deleted.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
:_mod-docs-content-type: ASSEMBLY
2+
// To use this module define the attributes: :platform-long: :platform: :platform-id:
3+
[id="assembly-installing-rhdh-on-{platform-id}-by-using-the-operator"]
4+
= Installing {product-short} on {platform-long} by using the Operator
5+
6+
To benefit from over-the-air updates and catalogs provided by Operator-based applications distributed with the Operator Lifecycle Manager (OLM) framework, consider installing {product} by using the {product} Operator distributed in the {company-name} Ecosystem.
7+
8+
On {platform}, the most notable differences over an OpenShift-based installation are:
9+
10+
* The OLM framework and the {company-name} Ecosystem are not built-in.
11+
* The {company-name} Ecosystem pull-secret is not managed globally.
12+
* To expose the application, Ingresses replace OpenShift Routes.
13+
14+
For clarity, the content is broken down in sections highlighting these platform-specific additional steps.
15+
16+
include::modules/installation/proc-installing-the-operator-on-{platform-id}-by-using-olm.adoc[leveloffset=+1]
17+
18+
include::modules/configuring/proc-provisioning-your-custom-configuration.adoc[leveloffset=+1]
19+
20+
include::modules/installation/proc-provisioning-your-pull-secret-to-your-rhdh-instance-namespace.adoc[leveloffset=+1]
21+
22+
include::modules/configuring/proc-using-the-operator-to-run-rhdh-with-your-custom-configuration.adoc[leveloffset=+1]
23+
24+
include::modules/installation/proc-exposing-your-operator-based-rhdh-instance-on-{platform-id}.adoc[leveloffset=+1]
25+
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
:_mod-docs-content-type: ASSEMBLY
2+
3+
[id="assembly-rhdh-default-configuration_{context}"]
4+
= {product} default configuration
5+
6+
You can deploy a standard {product} ({product-very-short}) instance, understand the structure, and tailor {product-very-short} instance to meet your needs.
7+
8+
include::modules/configuring-external-databases/ref-rhdh-default-configuration.adoc[leveloffset=+1]
9+
10+
include::modules/configuring-external-databases/con-automated-operator-features.adoc[leveloffset=+1]
11+
12+
include::modules/configuring-external-databases/con-metadata-generation.adoc[leveloffset=+2]
13+
14+
include::modules/configuring-external-databases/con-multiple-resources.adoc[leveloffset=+2]
15+
16+
include::modules/configuring-external-databases/con-default-base-urls.adoc[leveloffset=+2]
17+
18+
include::modules/configuring-external-databases/con-configuring-default-secret-pvc-mounts.adoc[leveloffset=+1]
19+
20+
include::modules/configuring-external-databases/proc-configuring-mount-paths.adoc[leveloffset=+2]
21+
22+
include::modules/configuring-external-databases/proc-mounting-to-specific-containers.adoc[leveloffset=+2]

modules/authorization/proc-enabling-the-rbac-plugin.adoc

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,11 @@ permission:
4141
users:
4242
- name: user:default/__<your_policy_administrator_name>__
4343
----
44-
. In order for the {product-short} Web UI to display available permissions provided by installed plugins, add the corresponding plugin IDs to {configuring-book-link}[your custom `{my-app-config-file}` {product-short} configuration file].
44+
45+
. In order to display the available permissions provided by installed plugins in the {product-short} UI, you must supply the corresponding list of plugin IDs. There are two ways to do this, by updating your application configuration or by using the RBAC REST API permissions endpoint.
4546
+
46-
To display available permissions in RBAC UI, edit your custom {product-short} ConfigMap, such as `app-config-rhdh`, and add following code to the `{my-app-config-file}` content:
47+
48+
.. To provide plugins by updating your application configuration, you can specify the plugins with permissions in your `{my-app-config-file}` file as follows:
4749
+
4850
.`{my-app-config-file}` fragment
4951
[source,yaml,subs=+quotes]
@@ -60,6 +62,8 @@ permission:
6062
- permission
6163
----
6264

65+
.. To specify the plugins with permissions by using the RBAC REST API permissions endpoint, see the xref:rbac-rest-api-permission-endpoints_{context}[RBAC REST API permissions endpoint].
66+
6367
.Verification
6468
. Sign out from the existing {product} session and log in again using the declared policy administrator account.
6569
. With RBAC enabled, most features are disabled by default.

modules/authorization/ref-rbac-rest-api-endpoints.adoc

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -561,6 +561,86 @@ Returns permission policies for all static plugins.
561561
----
562562
--
563563

564+
[id='rbac-rest-api-permission-endpoints_{context}']
565+
[GET] /api/permission/plugins/id::
566+
+
567+
--
568+
Returns object with list plugin IDs:
569+
570+
.Example response (JSON)
571+
[source,json]
572+
----
573+
[
574+
{
575+
"ids": ["catalog", "permission"]
576+
}
577+
]
578+
----
579+
--
580+
581+
[POST] /api/permission/plugins/id::
582+
+
583+
--
584+
Add more plugins IDs defined in the request object.
585+
586+
Request Parameters: object in JSON format.
587+
588+
.Example request body (JSON)
589+
[source,json]
590+
----
591+
[
592+
{
593+
"ids": ["scaffolder"]
594+
}
595+
]
596+
----
597+
598+
Returns a status code of 200 and JSON with actual object stored in the server:
599+
600+
.Example response (JSON)
601+
[source,json]
602+
----
603+
[
604+
{
605+
"ids": ["catalog", "permission", "scaffolder"]
606+
}
607+
]
608+
----
609+
--
610+
611+
[DELETE] /api/permission/plugins/id::
612+
+
613+
--
614+
Delete plugins IDs defined in the request object.
615+
616+
Request Parameters: object in JSON format.
617+
618+
.Example request body (JSON)
619+
[source,json]
620+
----
621+
[
622+
{
623+
"ids": ["scaffolder"]
624+
}
625+
]
626+
----
627+
628+
Returns a status code of 200 and JSON with actual object stored in the server:
629+
630+
.Example response (JSON)
631+
[source,json]
632+
----
633+
[
634+
{
635+
"ids": ["catalog", "permission"]
636+
}
637+
]
638+
----
639+
--
640+
641+
[NOTE]
642+
In order to prevent an inconsistent state after a deployment restart, the REST API does not allow deletion of plugin IDs that were provided by using the application configuration. These ID values can only be removed through the configuration file.
643+
564644
== Conditional policies
565645

566646
The RBAC REST API supports the following endpoints for managing conditional policies in the {product}.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
:_mod-docs-content-type: CONCEPT
2+
3+
[id="con-automated-operator-features_{context}"]
4+
= Automated Operator features
5+
6+
You can use the Operator to automate several key processes to effectively configure your {product-custom-resource-type} application.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
:_mod-docs-content-type: CONCEPT
2+
3+
[id="con-configuring-default-secret-pvc-mounts_{context}"]
4+
= Configuring mounts for default Secrets and Persistent Volume Claims (PVCs)
5+
6+
You can use annotations to configure mount paths and specify containers for Secrets and Persistent Volume Claims (PVCs) that are attached to the Operator default resources in your {product} deployment. This method is specific for default objects, for instance, the {product-custom-resource-type} Deployment that the Operator manages.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
:_mod-docs-content-type: CONCEPT
2+
3+
[id="con-default-base-urls"]
4+
= Default base URLs
5+
6+
The Operator automatically sets the base URLs for your {product-custom-resource-type} application in the default `app-config` ConfigMap known as `backstage-appconfig-{CR_name}`. The Operator does so based on your Route parameters and the OpenShift cluster ingress domain.
7+
8+
The Operator follows these rules to set the base URLs for your application:
9+
10+
* If the cluster is not OpenShift, the Operator makes no changes.
11+
* If you explicitly set the `spec.application.route.enabled` field in your Custom Resource (CR) to `false`, no changes are made.
12+
* If you define `spec.application.route.host` in the {product-custom-resource-type} CR, the base URLs are set to `https://<spec.application.route.host>`.
13+
* If you specify the `spec.application.route.subdomain` in the {product-custom-resource-type} CR, the base URLs are set to `https://<spec.application.route.subdomain>.<cluster_ingress_domain>`.
14+
* If no custom host or subdomain is provided, the Operator sets the base URLs to `https://backstage-{cr_name}-<namespace>.<cluster_ingress_domain>`, which is the default domain for the created _Route_ resource.
15+
16+
The Operator updates the following base URLs in the default `app-config` ConfigMap:
17+
18+
* `app.baseUrl`
19+
* `backend.baseUrl`
20+
* `backend.cors.origin`
21+
22+
[NOTE]
23+
====
24+
You can perform these actions on a best-effort basis and only on OpenShift. During an error or on non-OpenShift clusters, you can still override these defaults by providing a custom `app-config` ConfigMap.
25+
====
26+

0 commit comments

Comments
 (0)