Skip to content

Commit f3e1019

Browse files
committed
RHIDP-7849 Added existing modules to the _Getting started with RHDH on OCP_ title
Fixed existing content to build while reused. Signed-off-by: Fabrice Flore-Thébault <[email protected]>
1 parent 8be4076 commit f3e1019

13 files changed

+253
-55
lines changed

assemblies/assembly-configuring-high-availability.adoc

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
:_mod-docs-content-type: ASSEMBLY
2+
:previouscontext: {context}
23
:context: HighAvailability
34
[id="{context}"]
45
= Configuring high availability in {product}
@@ -9,7 +10,7 @@ High availability (HA) is a system design approach that ensures a service remain
910
{product} supports HA deployments on the following platforms:
1011

1112
* {ocp-brand-name}
12-
* {aks-name}
13+
* {aks-name}
1314
* {eks-name}
1415
1516
The HA deployments enable more resilient and reliable service availability across supported environments.
@@ -25,4 +26,7 @@ As an administrator, you can configure high availability by adjusting replica va
2526
2627
include::modules/configuring-high-availability/proc-configuring-high-availability-in-rhdh-operator-deployment.adoc[leveloffset=+1]
2728

28-
include::modules/configuring-high-availability/proc-configuring-high-availability-in-rhdh-helm-chart-deployment.adoc[leveloffset=+1]
29+
include::modules/configuring-high-availability/proc-configuring-high-availability-in-rhdh-helm-chart-deployment.adoc[leveloffset=+1]
30+
31+
:context: {previouscontext}
32+
!:previouscontext:

modules/authentication/proc-enabling-user-authentication-with-rhbk.adoc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,6 @@ catalog:
157157
schedule:
158158
initialDelay: { seconds: 15}
159159
----
160-
--
161160

162161
. To set up the {rhbk} authentication provider in your {product-short} custom configuration, edit your custom {product-short} ConfigMap such as `app-config-rhdh`, and add the following lines to the `{my-app-config-file}` content:
163162

modules/installation/proc-configuring-an-rhdh-instance-with-tls-in-kubernetes.adoc renamed to modules/configuring/proc-configuring-an-rhdh-instance-with-tls-in-kubernetes.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
[id="proc-configuring-an-rhdh-instance-with-tls-in-kubernetes_{context}"]
1+
[id="configuring-an-rhdh-instance-with-tls-in-kubernetes"]
22
= Configuring an {product-very-short} instance with a TLS connection in Kubernetes
33

44
You can configure a {product-very-short} instance with a Transport Layer Security (TLS) connection in a Kubernetes cluster, such as an Azure Red Hat OpenShift (ARO) cluster, any cluster from a supported cloud provider, or your own cluster with proper configuration. Transport Layer Security (TLS) ensures a secure connection for the {product-very-short} instance with other entities, such as third-party applications, or external databases. However, you must use a public Certificate Authority (CA)-signed certificate to configure your Kubernetes cluster.

modules/configuring/proc-provisioning-your-custom-configuration.adoc

Lines changed: 4 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -22,40 +22,10 @@ It contains one secret per line in `KEY=value` form.
2222
This is the main {product-short} configuration file.
2323
You need a custom `{my-app-config-file}` file to avoid the {product-short} installer to revert user edits during upgrades.
2424
When your custom `{my-app-config-file}` file is empty, {product-short} is using default values.
25-
26-
** To prepare a deployment with the {product} Operator on {ocp-short}, you can start with an empty file.
27-
28-
** To prepare a deployment with the {product} Helm chart, or on Kubernetes, enter the {product-short} base URL in the relevant fields in your `{my-app-config-file}` file to ensure proper functionality of {product-short}.
29-
The base URL is what a {product-short} user sees in their browser when accessing {product-short}.
30-
The relevant fields are `baseUrl` in the `app` and `backend` sections, and `origin` in the `backend.cors` subsection:
3125
+
32-
.Configuring the `baseUrl` in `{my-app-config-file}`
33-
====
34-
[source,yaml,subs="+attributes,+quotes"]
35-
----
36-
app:
37-
title: {product}
38-
baseUrl: {my-product-url}
39-
40-
backend:
41-
auth:
42-
externalAccess:
43-
- type: legacy
44-
options:
45-
subject: legacy-default-config
46-
secret: "${BACKEND_SECRET}"
47-
baseUrl: {my-product-url}
48-
cors:
49-
origin: {my-product-url}
50-
----
51-
====
52-
53-
** Optionally, enter your configuration such as:
54-
55-
*** link:{authentication-book-url}[{authentication-book-title}].
56-
*** link:{authorization-book-url}[{authorization-book-title}].
57-
*** link:{customizing-book-url}[Customization].
58-
*** xref:proc-configuring-an-rhdh-instance-with-tls-in-kubernetes_running-behind-a-proxy[Configure your {ocp-short} integration].
26+
--
27+
include::snip-provisioning-your-custom-configuration-optional-substep-in-{context}-context.adoc[]
28+
--
5929

6030
. Provision your custom configuration files to your {ocp-short} cluster.
6131

@@ -92,12 +62,5 @@ link:https://docs.redhat.com/en/documentation/openshift_container_platform/{ocp-
9262
`_<my_product_secrets>_` is your preferred {product-short} secret name, specifying the identifier for your secret configuration within {product-short}.
9363
====
9464

95-
.Next steps
96-
Consider provisioning additional config maps and secrets:
97-
98-
* To use an external PostgreSQL database, xref:configuring-external-postgresql-databases[provision your PostgreSQL database secrets].
99-
100-
101-
* To enable dynamic plugins, link:{installing-and-viewing-plugins-book-url}[provision your dynamic plugins config map].
10265

103-
* To configure authorization by using external files, link:{authorization-book-url}#managing-authorizations-by-using-external-files[provision your RBAC policies config map].
66+
include::snip-provisioning-your-custom-configuration-next-steps-in-{context}-context.adoc[]
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
[id="using-the-operator-to-run-rhdh-with-your-custom-configuration"]
2+
= Using the {product} Operator to run {product-short} with your custom configuration
3+
4+
To use the {product-short} Operator to run {product} with your custom configuration, create your {product-custom-resource-type} custom resource (CR) that:
5+
6+
* Mounts files provisioned in your custom config maps.
7+
* Injects environment variables provisioned in your custom secrets.
8+
9+
.Prerequisites
10+
* By using the link:https://docs.redhat.com/en/documentation/openshift_container_platform/{ocp-version}/html-single/cli_tools/index#cli-about-cli_cli-developer-commands[{openshift-cli}], you have access, with developer permissions, to the {ocp-short} cluster aimed at containing your {product-short} instance.
11+
* xref:proc-install-operator_getting-started-with-rhdh-on-ocp-for-the-platform-engineer[]
12+
* xref:provisioning-your-custom-configuration[]
13+
14+
.Procedure
15+
16+
. Author your {product-custom-resource-type} CR in a `{my-product-cr-name}.yaml` file to use your custom config maps and secrets.
17+
+
18+
.`{my-product-cr-name}.yaml` custom resource example with dynamic plugins and RBAC policies config maps, and external PostgreSQL database secrets.
19+
[source,yaml,subs="+attributes,+quotes"]
20+
----
21+
apiVersion: rhdh.redhat.com/v1alpha3
22+
kind: Backstage
23+
metadata:
24+
name: _<{my-product-cr-name}>_
25+
spec:
26+
application:
27+
appConfig:
28+
mountPath: /opt/app-root/src
29+
configMaps:
30+
- name: {my-app-config-config-map}
31+
- name: rbac-policies
32+
dynamicPluginsConfigMapName: dynamic-plugins-rhdh
33+
extraEnvs:
34+
envs:
35+
- name: HTTP_PROXY
36+
value: 'http://10.10.10.105:3128'
37+
- name: HTTPS_PROXY
38+
value: 'http://10.10.10.106:3128'
39+
- name: NO_PROXY
40+
value: 'localhost,example.org'
41+
secrets:
42+
- name: `_<my_product_secrets>_`
43+
- name: {my-product-database-secrets}
44+
extraFiles:
45+
mountPath: /opt/app-root/src
46+
secrets:
47+
- name: {my-product-database-certificates-secrets}
48+
key: postgres-crt.pem, postgres-ca.pem, postgres-key.key
49+
replicas: 2
50+
database:
51+
enableLocalDb: false
52+
----
53+
54+
`application`::
55+
`appConfig`::: Register your `{my-app-config-config-map}` and `rbac-policies` config maps.
56+
`dynamicPluginsConfigMapName`::: Register your `dynamic-plugins-rhdh` config map.
57+
`extraEnvs`:::
58+
`env`:::: Enter your proxy environment variables.
59+
`secrets`:::: Register your `<my_product_secrets>` and `{my-product-database-secrets}` secrets.
60+
`extraFiles`:::
61+
`secrets`::::
62+
Register the `postgres-crt.pem`, `postgres-ca.pem`, and `postgres-key.key` files contained in the `{my-product-database-certificates-secrets}` secret.
63+
`replicas`::: Enable high availability (HA) by increasing the replicas count to a value higher or equal to 2.
64+
`database`::
65+
`enableLocalDb`::: Use your external PostgreSQL database rather than the internal PostgreSQL database.
66+
67+
. Apply your {product-custom-resource-type} CR to start or update your {product-short} instance.
68+
+
69+
[source,terminal,subs="+attributes,+quotes"]
70+
----
71+
$ oc apply --filename={my-product-cr-name}.yaml --namespace={my-product-namespace}
72+
----
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
.Next steps
2+
Consider provisioning additional config maps and secrets:
3+
4+
* To use an external PostgreSQL database, xref:configuring-external-postgresql-databases[provision your PostgreSQL database secrets].
5+
6+
7+
* To enable dynamic plugins, link:{installing-and-viewing-plugins-book-url}[provision your dynamic plugins config map].
8+
9+
* To configure authorization by using external files, link:{authorization-book-url}#managing-authorizations-by-using-external-files[provision your RBAC policies config map].
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
.Next steps
2+
Consider provisioning additional config maps and secrets:
3+
4+
* xref:proc-configuring-postgresql-instance-using-operator_getting-started-with-rhdh-on-ocp-for-the-platform-engineer[Provision your external PostgreSQL database secrets.]
5+
6+
* xref:enabling-github-repository-discovery[Provision your GitHub repository discovery secrets.]
7+
8+
* xref:proc-config-dynamic-plugins-rhdh-operator_getting-started-with-rhdh-on-ocp-for-the-platform-engineer[To enable dynamic plugins, provision your dynamic plugins config map].
9+
10+
* To configure authorization by using external files, link:{authorization-book-url}#managing-authorizations-by-using-external-files[provision your RBAC policies config map].
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
.. For a production environment consider starting with:
2+
+
3+
.`{my-app-config-file}`
4+
[source,yaml,subs="+attributes,+quotes"]
5+
----
6+
app:
7+
title: My custom Red Hat Developer Hub title
8+
branding:
9+
fullLogo: ${BASE64_EMBEDDED_FULL_LOGO}
10+
fullLogoWidth: 110px
11+
iconLogo: ${BASE64_EMBEDDED_ICON_LOGO}
12+
backend:
13+
cache:
14+
store: redis
15+
connection: redis://user:[email protected]:6379
16+
catalog:
17+
providers:
18+
github:
19+
providerId:
20+
organization: "${GITHUB_INTEGRATION_ORGANIZATION}"
21+
schedule:
22+
frequency:
23+
minutes: 30
24+
initialDelay:
25+
seconds: 15
26+
timeout:
27+
minutes: 15
28+
integrations:
29+
github:
30+
- host: ${GITHUB_INTEGRATION_HOST_DOMAIN}
31+
apps:
32+
- appId: ${GITHUB_INTEGRATION_APP_ID}
33+
clientId: ${GITHUB_INTEGRATION_CLIENT_ID}
34+
clientSecret: ${GITHUB_INTEGRATION_CLIENT_SECRET}
35+
privateKey: |
36+
${GITHUB_INTEGRATION_PRIVATE_KEY_FILE}
37+
techdocs:
38+
cache:
39+
ttl: 3600000
40+
----
41+
`app`::
42+
`title`::: Enter your Developer Hub instance display name, such as _<My custom {product} title>_.
43+
`branding`::: Set your custom logo. See xref:proc-customize-rhdh-branding-logo_getting-started-with-rhdh-on-ocp-for-the-platform-engineer[].
44+
`backend`::
45+
`cache`::: Enable the plugins assets cache. See xref:enabling-the-rhdh-plugin-assets-cache_getting-started-with-rhdh-on-ocp-for-the-platform-engineer[].
46+
`catalog`::
47+
`provider`:::
48+
`github`:::: xref:enabling-github-repository-discovery[]
49+
`integrations`::
50+
`github`::: xref:enabling-github-repository-discovery[]
51+
`techdocs`::
52+
`cache`::: Enable the Techdocs cache. See xref:enabling-the-rhdh-plugin-assets-cache_getting-started-with-rhdh-on-ocp-for-the-platform-engineer[].
53+
54+
.. Additionaly, link:{authentication-book-url}[provision users and enabling authentication with your external identity provider].
55+
.. link:{authorization-book-url}[Configuring authorization by using Role based access control (RBAC)].
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
2+
** To prepare a deployment with the {product} Operator on {ocp-short}, you can start with an empty file.
3+
4+
** To prepare a deployment with the {product} Helm chart, or on Kubernetes, enter the {product-short} base URL in the relevant fields in your `{my-app-config-file}` file to ensure proper functionality of {product-short}.
5+
The base URL is what a {product-short} user sees in their browser when accessing {product-short}.
6+
The relevant fields are `baseUrl` in the `app` and `backend` sections, and `origin` in the `backend.cors` subsection:
7+
+
8+
.Configuring the `baseUrl` in `{my-app-config-file}`
9+
====
10+
[source,yaml,subs="+attributes,+quotes"]
11+
----
12+
app:
13+
title: {product}
14+
baseUrl: {my-product-url}
15+
16+
backend:
17+
auth:
18+
externalAccess:
19+
- type: legacy
20+
options:
21+
subject: legacy-default-config
22+
secret: "${BACKEND_SECRET}"
23+
baseUrl: {my-product-url}
24+
cors:
25+
origin: {my-product-url}
26+
----
27+
====
28+
29+
** Optionally, enter your configuration such as:
30+
31+
*** link:{authentication-book-url}[{authentication-book-title}].
32+
*** link:{authorization-book-url}[{authorization-book-title}].
33+
*** link:{customizing-book-url}[Customization].
34+
*** xref:proc-configuring-an-rhdh-instance-with-tls-in-kubernetes_running-behind-a-proxy[Configure your {ocp-short} integration].
35+

modules/installation/proc-install-operator.adoc

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,3 @@ If you selected an *Automatic* approval strategy, the upgrade status should reso
7878
*** From the list of installed Operators, locate the {product} Operator name and details.
7979
*** Click *{product} Operator* to open the *Operator details* page for the {product} Operator.
8080
81-
[role="_additional-resources"]
82-
.Additional resources
83-
84-
* xref:proc-install-rhdh-ocp-operator_{context}[Deploying {product} on {ocp-short} with the Operator]
85-
* link:https://docs.redhat.com/en/documentation/openshift_container_platform/{ocp-version}/html-single/operators/index#olm-installing-from-operatorhub-using-web-console_olm-adding-operators-to-a-cluster[Installing from OperatorHub by using the web console]

0 commit comments

Comments
 (0)