Skip to content

Commit eb1133b

Browse files
GitHub Actionsjmagak
authored andcommitted
Update the orchestrator modules
1 parent 203f27e commit eb1133b

9 files changed

+237
-79
lines changed

assemblies/assembly-orchestrator-rhdh.adoc

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,17 @@ include::modules/orchestrator/con-supported-architecture-for-orchestrator.adoc[l
3333
include::modules/orchestrator/con-understanding-orchestrator-plugin-dependencies-operator.adoc[leveloffset=+1]
3434

3535
// installing the components for the orchestrator plugin
36-
include::modules/orchestrator/proc-install-components-for-orchestrator-plugin.adoc[leveloffset=+1]
36+
include::modules/orchestrator/con-install-components-orchestrator-plugin.adoc[leveloffset=+1]
37+
38+
// manual installation
39+
include::modules/orchestrator/proc-manual-install-components-orchestrator-plugin.adoc[leveloffset=+2]
40+
41+
// {product-very-short} helper script
42+
include::modules/orchestrator/con-helper-scripts-overview.adoc[leveloffset=+2]
43+
44+
include::modules/orchestrator/proc-setup-sh-init-script.adoc[leveloffset=+3]
45+
46+
include::modules/orchestrator/proc-plugin-infra-install.adoc[leveloffset=+3]
47+
48+
// Orchestrator Infrastructure for {product} Helm chart
49+
include::modules/orchestrator/proc-helm-install-components-orchestrator-plugin.adoc[leveloffset=+2]
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
:mod-docs-content-type: CONCEPT
2+
[id="con-helper-scripts-overview_{context}"]
3+
= Helper scripts overview for the Orchestrator on {ocp-short}
4+
5+
You can install the OpenShift Serverless infrastructure for the Orchestrator plugin using the {product-very-short} helper script. The following helper scripts are available to streamline non-production setup:
6+
7+
* `setup.sh`: Initializes the {product-very-short} environment by creating the required authentication secret and labeling GitOps namespaces based on cluster configuration. It can use defaults or prompt for values.
8+
* `plugin-infra.sh`: Installs the OpenShift Serverless infrastructure required by the Orchestrator plugin.
9+
10+
[NOTE]
11+
====
12+
These scripts are intended for quick-start scenarios and are **not recommended for production**.
13+
====
14+
15+
For more information on controlling the installation of the Operators, see link:https://olm.operatorframework.io/docs/tasks/install-operator-with-olm/[Install your Operator with OLM].
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
:_mod-docs-content-type: CONCEPT
2+
[id="con-install-components-orchestrator-plugin_{context}"]
3+
= Installing components for the Orchestrator plugin on {ocp-short}
4+
5+
To run the Orchestrator plugin successfully on {ocp-short}, you must install components that provide the runtime environment and the dependencies that the plugin requires.
6+
7+
.Required components
8+
9+
* The Orchestrator plugin depends on the following components:
10+
11+
** OpenShift Serverless Logic Operator
12+
** OpenShift Serverless Operator
13+
*** Knative Serving
14+
*** Knative Eventing
15+
** {product} ({product-very-short}) {product-custom-resource-type}
16+
** (Optional) An ArgoCD project named orchestrator requires a pre-installed ArgoCD or {company-name} OpenShift GitOps instance in the cluster. It is disabled by default.
17+
** (Optional) Tekton tasks and build pipeline. These require a pre-installed Tekton or {company-name} OpenShift Pipelines instance in the cluster, and are disabled by default.
18+
+
19+
[NOTE]
20+
====
21+
You must preinstall the components, or install them by using one of the supported methods.
22+
====
23+
24+
You can install the components (Operators) that provide the dependencies required by the Orchestrator plugin on {ocp-short} using the following methods:
25+
26+
* Manual installation
27+
* {product-very-short} helper script
28+
* Orchestrator Infrastructure for {product} Helm chart
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
:mod-docs-content-type: PROCEDURE
2+
[id="proc-helm-install-components-orchestrator-plugin_{context}"]
3+
= Installing the Orchestrator plugin components using the Orchestrator Infrastructure for {product} Helm chart
4+
5+
You can use Orchestrator Infrastructure for {product} to install components for the Orchestrator plugins.
6+
7+
[IMPORTANT]
8+
====
9+
By default, Orchestrator Infrastructure for {product} Helm chart does *not* auto-install or auto-upgrade the required Serverless Operators. You must approve the install plans.
10+
====
11+
12+
.Procedure
13+
14+
. Add or update the Helm repository for Orchestrator Infrastructure for {product}.
15+
. Install the chart with the required configuration for your environment.
16+
. Approve the install plans for the Serverless Operators when prompted.

modules/orchestrator/proc-install-components-for-orchestrator-plugin.adoc

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

modules/orchestrator/proc-install-rhdh-with-orchestrator-helm-webui.adoc

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,20 @@ You can install {product} ({product-very-short}) with the Orchestrator by using
1212
1313
.Procedure
1414

15-
. In the {ocp-short} web console, go to menu:Helm[Helm Charts].
15+
. In the {ocp-short} web console, go to the Helm Charts and verify that the {product} Helm chart repository is available.
1616

17-
. Click btn:[Repository] and confirm that the {product} Helm chart repository is available.
18-
19-
. Search for the Orchestrator infrastructure for {product} and click btn:[Install].
17+
. Search for the Orchestrator infrastructure for {product} and select *Install*.
2018
+
2119
[IMPORTANT]
2220
====
23-
You must be an administrator to install the Orchestrator Infrastructure for {product} Helm chart because it deploys cluster-scoped resources. As an administrator, you need to manually approve the install plans for OpenShift Serverless and Serverless Logic Operators.
21+
You must be an administrator to install the Orchestrator Infrastructure for {product} Helm chart because it deploys cluster-scoped resources. As an administrator, you must manually approve the install plans for OpenShift Serverless and Serverless Logic Operators.
2422
====
2523
+
2624
As a regular user, search for the {product} chart and install it by setting the value of `orchestrator.enabled` to `true`. Otherwise, the Orchestrator will not be deployed.
2725

2826
. Wait until they are successfully deployed.
2927

30-
. Monitor the deployment status by navigating to menu:Workloads[Pods] or menu:Helm[Releases].
28+
. Monitor the deployment status by navigating to menu:Workloads[Pods] or releases.
3129

3230
.Verification
3331

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
:mod-docs-content-type: PROCEDURE
2+
[id="proc-manual-install-orchestrator-plugin_{context}"]
3+
= Manually installing the Orchestrator plugin components on {ocp-short}
4+
5+
Use manual installation when you want full control of the setup process and component versions.
6+
7+
.Procedure
8+
9+
. Deploy the PostgreSQL reference implementation for persistence support in SonataFlow.
10+
11+
. Create a namespace for the Orchestrator solution as shown in the following example:
12+
+
13+
[subs="quotes+"]
14+
----
15+
oc new-project ${orchestrator}
16+
----
17+
18+
. Run the setup script.
19+
Follow the steps in the _Installing the Orchestrator plugin components using the {product-very-short} helper script_ section to download and execute the `setup.sh` script, which initializes the {product-very-short} environment.
20+
21+
. Install the Orchestrator Operator in the {ocp-short} cluster by applying the following manifest:
22+
+
23+
[source,yaml]
24+
----
25+
apiVersion: operators.coreos.com/v1alpha1
26+
kind: Subscription
27+
metadata:
28+
name: orchestrator-operator
29+
namespace: openshift-operators
30+
spec:
31+
channel: stable
32+
installPlanApproval: Automatic
33+
name: orchestrator-operator
34+
source: redhat-operators
35+
sourceNamespace: openshift-marketplace
36+
----
37+
38+
. Verify installation by running the following command:
39+
+
40+
[source,terminal,subs="+attributes,+quotes"]
41+
----
42+
wget https://raw.githubusercontent.com/rhdhorchestrator/orchestrator-go-operator/release-${PRODUCT_VERSION}/hack/wait_for_operator_installed.sh -O /tmp/wait_for_operator_installed.sh \ && chmod u+x /tmp/wait_for_operator_installed.sh \ && /tmp/wait_for_operator_installed.sh # Specify the {product} version in the URL
43+
----
44+
45+
During installation, the Orchestrator Operator creates the following sub-components:
46+
47+
* {product-very-short} Operator
48+
* OpenShift Serverless Operator
49+
* OpenShift Serverless Logic Operator
50+
51+
It also creates the necessary custom resources (CRs) for Orchestrator to function properly.
52+
53+
. Apply the Orchestrator custom resource (CR) to the cluster to create an instance of {product-very-short} and resources for OpenShift Serverless and OpenShift Serverless Logic:
54+
+
55+
[source,terminal,subs="+attributes,+quotes"]
56+
----
57+
oc apply -n orchestrator -f https://raw.githubusercontent.com/rhdhorchestrator/orchestrator-go-operator/refs/heads/release-${PRODUCT_VERSION}/config/samples/_v1alpha3_orchestrator.yaml # Specify the {product} version in the URL
58+
----
59+
60+
[NOTE]
61+
====
62+
After the first reconciliation of the Orchestrator CR, changes to some fields might not propagate to the intended resources. For example, updating the `platform.resources.requests` field in the Orchestrator CR has no effect on the running SonataFlowPlatform (SFP) resource.
63+
====
64+
65+
For more information on preparing the required infrastructure, see link:https://docs.redhat.com/en/documentation/red_hat_openshift_serverless/1.36[Red Hat OpenShift Serverless].
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
:mod-docs-content-type: PROCEDURE
2+
[id="proc-plugin-infra-install_{context}"]
3+
= Installing dependencies with `plugin-infra.sh`
4+
5+
You can use the `{product-very-short}` helper script `plugin-infra.sh` to install the OpenShift Serverless infrastructure required by the Orchestrator plugin.
6+
7+
[WARNING]
8+
====
9+
Do not use `plugin-infra.sh` in production.
10+
====
11+
12+
.Procedure
13+
14+
. Download the `plugin-infra.sh` script as shown in the following example:
15+
+
16+
[source,terminal,subs="+attributes,+quotes"]
17+
----
18+
curl -sSLO https://raw.githubusercontent.com/redhat-developer/rhdh-operator/refs/heads/release-${PRODUCT_VERSION}/config/profile/rhdh/plugin-infra/plugin-infra.sh # Specify the {product} version in the URL or use main
19+
----
20+
21+
. Run the script:
22+
+
23+
[source,terminal]
24+
----
25+
$ ./plugin-infra.sh
26+
----
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
:mod-docs-content-type: PROCEDURE
2+
[id="proc-setup-sh-init-script_{context}"]
3+
= Installing the Orchestrator plugin components using the `setup.sh` script
4+
5+
The `setup.sh` script simplifies the initialization of the {product-very-short} environment by:
6+
7+
* Creating the required authentication secret.
8+
* Labeling GitOps namespaces based on the cluster configuration.
9+
10+
.Procedure
11+
12+
. Create a namespace for the {product-very-short} instance. This namespace is predefined as the default in both the `setup.sh` script and the Orchestrator CR, but you can override it as shown in the following example:
13+
+
14+
[subs="quotes+"]
15+
----
16+
oc new-project ${product-very-short}
17+
----
18+
19+
. Download the setup script from the GitHub repository:
20+
+
21+
[source,terminal,subs="+attributes,+quotes"]
22+
----
23+
wget https://raw.githubusercontent.com/rhdhorchestrator/orchestrator-go-operator/release-${PRODUCT_VERSION}/hack/setup.sh -O /tmp/setup.sh \ && chmod u+x /tmp/setup.sh # Specify the {product} version in the URL
24+
----
25+
26+
. Run the setup script:
27+
+
28+
[source,terminal]
29+
----
30+
/tmp/setup.sh --use-default
31+
----
32+
+
33+
[NOTE]
34+
====
35+
To specify custom values, omit the `--use-default` option. The script will then prompt you for input.
36+
====
37+
38+
The contents of the secret vary depending on cluster configuration and can include the following keys:
39+
40+
* `BACKEND_SECRET`: Randomly generated. This is mandatory for the {product-very-short} Operator to start.
41+
* `K8S_CLUSTER_URL`: Dynamically obtained with `oc whoami --show-server`.
42+
* `K8S_CLUSTER_TOKEN`: Dynamically obtained from the service account and namespace.
43+
* `GITHUB_TOKEN`: Prompted from the user.
44+
* `GITHUB_CLIENT_ID` and `GITHUB_CLIENT_SECRET`: Used to authenticate against GitHub.
45+
* `GITLAB_HOST` and `GITLAB_TOKEN`: Used to authenticate against GitLab.
46+
* `ARGOCD_URL`: Obtained from the first ArgoCD instance available.
47+
* `ARGOCD_USERNAME`: Defaults to `admin`.
48+
* `ARGOCD_PASSWORD`: Obtained dynamically from the ArgoCD instance.
49+
50+
Keys without values are omitted. For example, if no GitOps operator is installed, the ArgoCD-related keys are excluded.
51+
52+
.Sample secret in a GitOps environment:
53+
[source,yaml]
54+
----
55+
apiVersion: v1
56+
data:
57+
ARGOCD_PASSWORD: ...
58+
ARGOCD_URL: ...
59+
ARGOCD_USERNAME: ...
60+
BACKEND_SECRET: ...
61+
GITHUB_TOKEN: ...
62+
K8S_CLUSTER_TOKEN: ...
63+
K8S_CLUSTER_URL: ...
64+
kind: Secret
65+
metadata:
66+
name: backstage-backend-auth-secret
67+
namespace: rhdh
68+
type: Opaque
69+
----

0 commit comments

Comments
 (0)