Skip to content
Merged
2 changes: 1 addition & 1 deletion assemblies/assembly-install-rhdh-orchestrator.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ To install {product}, use one of the following methods:
* The {product} Helm chart
// {product} Operator
include::modules/orchestrator/proc-install-orchestrator-plugin.adoc[leveloffset=+1]
include::modules/orchestrator/proc-enable-orchestrator-plugin.adoc[leveloffset=+1]

// {product} Helm chart
include::modules/orchestrator/proc-install-rhdh-with-orchestrator-helm-cli.adoc[leveloffset=+1]
Expand Down
6 changes: 3 additions & 3 deletions assemblies/assembly-orchestrator-rhdh.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -17,20 +17,20 @@ You can streamline and automate your work by using the Orchestrator in {product}

[NOTE]
====
Orchestrator currently supports only {ocp-short}; it is not available on AKS, EKS, or GKE.
Orchestrator currently supports only {ocp-brand-name} ({ocp-short}); it is not available on {aks-brand-name} ({aks-short}), {eks-brand-name} ({eks-short}), or {gke-brand-name} ({gke-short}).
====

To start using Orchestrator in {product-very-short}, you must:

* Install the required infrastructure components, such as Red Hat OpenShift Serverless Operator, Knative Serving, Knative Eventing, and OpenShift Serverless Logic Operator
* Configure your {product-custom-resource-type} custom resource (CR) for Orchestrator
* Configure your {product-custom-resource-type} custom resource (CR) or Helm values file for Orchestrator
* Import the Orchestrator software templates into the {product} catalog

// orchestrator architecture
include::modules/orchestrator/con-supported-architecture-for-orchestrator.adoc[leveloffset=+1]

// provisioning plugin dependencies
include::modules/orchestrator/con-orchestrator-plugin-dependencies.adoc[leveloffset=+1]
include::modules/orchestrator/con-understanding-orchestrator-plugin-dependencies-operator.adoc[leveloffset=+1]

// installing the components for the orchestrator plugin
include::modules/orchestrator/proc-install-components-for-orchestrator-plugin.adoc[leveloffset=+1]
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ You can use Orchestrator to design, run, and monitor workflows that automate key

To help you get started quickly, the following Orchestrator plugin components are included by default in the `dynamic-plugins.default.yaml` file:

* `"@redhat/backstage-plugin-orchestrator"`
* `"@redhat/backstage-plugin-orchestrator-backend-dynamic"`
* `"@redhat/backstage-plugin-scaffolder-backend-module-orchestrator-dynamic"`
* `"@redhat/backstage-plugin-orchestrator-form-widgets"`
* `"backstage-plugin-orchestrator"`
* `"backstage-plugin-orchestrator-backend-dynamic"`
* `"backstage-plugin-scaffolder-backend-module-orchestrator-dynamic"`
* `"backstage-plugin-orchestrator-form-widgets"`
Original file line number Diff line number Diff line change
@@ -1,27 +1,18 @@
:_mod-docs-content-type: CONCEPT
[id="con-orchestrator-plugin-dependencies_{context}"]
= Orchestrator Plugin dependencies
[id="con-understanding-orchestrator-plugin-dependencies-operator_{context}"]
= Understanding Orchestrator plugin dependencies for Operator installation

The Orchestrator plugin in {product-very-short} requires components such as SonataFlow and supporting network policies to run. When you enable the plugin in your {product-custom-resource-type} custom resource (CR), the Operator automatically provisions these dependencies for you:

* A `SonataflowPlatform` CR
* `NetworkPolicies` that allow traffic between infrastructure resources (Knative, Serverless Logic Operator), monitoring traffic, and intra-namespace traffic

[NOTE]
====
Orchestrator currently supports only {ocp-short}; it is not available on AKS, EKS, or GKE.
====

The `orchestrator-backend` plugin uses the `sonataflow-platform-data-index-service`, which the `SonataFlowPlatform` CR creates to communicate with the SonataFlow platform.

The Operator resolves the dependency reference SonataFlow against the `sonataflow.yaml` manifest included in its profile configuration (`config/profile/rhdh/plugin-deps/sonataflow.yaml`) and applies it to create the required resources.

The Operator automatically applies the `sonataflow.yaml` manifest, creating the `SonataFlowPlatform` CR and required `NetworkPolicy` resources in the {product-custom-resource-type} CR namespace.

[IMPORTANT]
====
The `SonataFlowPlatform` CR contains Data Index service that requires PostgreSQL database as shown in the following example:
+

[source,yaml,subs="+quotes,+attributes"]
----
persistence:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
:_mod-docs-content-type: PROCEDURE
[id="proc-install-orchestrator-plugin_{context}"]
= Installing the Orchestrator plugin using Operator
[id="proc-enable-orchestrator-plugin_{context}"]
= Enabling the Orchestrator plugin using Operator

You can enable the Orchestrator plugin in {product-very-short} by configuring dynamic plugins in your {product-custom-resource-type} custom resource (CR).

Expand All @@ -9,31 +9,13 @@ You can enable the Orchestrator plugin in {product-very-short} by configuring dy
* You have access to edit or create ConfigMaps in the namespace where the {product-custom-resource-type} CR is deployed.

.Procedure
. Identify the Orchestrator plugin dynamic plugins that are included by default in the default `dynamic-plugins.yaml` file of the `install-dynamic-plugins` container:
+
* `@redhat/backstage-plugin-orchestrator` (frontend)
* `@redhat/backstage-plugin-orchestrator-backend-dynamic` (backend)
* `@redhat/backstage-plugin-scaffolder-backend-module-orchestrator-dynamic`
* `@redhat/backstage-plugin-orchestrator-form-widgets`

. To enable the Orchestrator plugin, update the ConfigMap file with the following data:
+
[source,yaml,subs="+attributes,+quotes"]
. To enable the Orchestrator plugin with default settings, set `disabled: false` for the package. For example, `package: "@redhat/backstage-plugin-orchestrator@<plugin_version>` is set to `disabled: false`:
+
[source,yaml]
----
includes:
- dynamic-plugins.default.yaml
plugins:
- package: "@redhat/[email protected]"
disabled: false
- package: "@redhat/[email protected]"
disabled: false
dependencies:
- ref: sonataflow
- package: "@redhat/backstage-plugin-scaffolder-backend-module-orchestrator-dynamic@1.6.0"
disabled: false
- package: "@redhat/backstage-plugin-orchestrator-form-widgets@${ORCHESTRATOR_PLUGIN_VERSION}"
disabled: false
- package: "@redhat/backstage-plugin-orchestrator@<plugin_version>"
disabled: false
----

.Example: Complete configuration of the Orchestrator plugin
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ To run the Orchestrator plugin successfully on {ocp-short}, you must install com
+
[NOTE]
====
The {product} Operator provisions these components automatically. Alternatively, you can install them manually by using another Operator.
You must preinstall the components, or install them by using one of the supported methods.
====

.Procedure
Expand All @@ -24,9 +24,7 @@ To install components (Operators) that provide the dependencies required by the

* Manual installation
* {product-very-short} helper script
* {product-very-short} Orchestrator Infra Helm Chart
+
These components enable the creation of the `SonataFlowPlatform` custom resource and several supporting `NetworkPolicy` resources.
* Orchestrator Infrastructure for {product} Helm chart

.Manual installation

Expand All @@ -45,21 +43,16 @@ For more information on preparing the required infrastructure, see link:https://
* Install the OpenShift Serverless Logic Operator

.{product-very-short} helper script

You can install the OpenShift Serverless infrastructure for the Orchestrator plugin using the {product-very-short} helper script. You can use the script in empty clusters, however, use with caution in production clusters because the script installs Operators with automatic upgrades and default settings, which can introduce unplanned changes, version conflicts, or policy misalignments.
You can install the OpenShift Serverless infrastructure for the Orchestrator plugin in empty clusters by using the {product-very-short} helper script.
You can install the OpenShift Serverless infrastructure for the Orchestrator plugin using the {product-very-short} helper script.

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].

[WARNING]
====
This method of installation is not suitable for production clusters. The {product-very-short} helper script installs Operators with automatic upgrades and default settings, which can introduce unplanned changes, version conflicts, or policy misalignments.
====
WARNING: Use the {product-very-short} helper script for a quick-start. Do not use it in production.

.Procedure
. Download the `plugin-infra.sh` script as shown in the following example:
+
[code,terminal]
[source,terminal,subs="+attributes,+quotes"]
----
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
----
Expand All @@ -70,5 +63,10 @@ curl -sSLO https://raw.githubusercontent.com/redhat-developer/rhdh-operator/refs
$ ./plugin-infra.sh
----

.{product-very-short} Orchestrator Infra Helm Chart
You can use {product-very-short} Orchestrator Infra Helm Chart to install components for the Orchestrator plugins in empty clusters.
.Orchestrator Infrastructure for {product} Helm chart
You can use Orchestrator Infrastructure for {product} to install components for the Orchestrator plugins.

[IMPORTANT]
====
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.
====
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ helm install `<release_name>` openshift-helm-charts/redhat-developer-hub-orchest
+
[IMPORTANT]
====
You must be a cluster administrator to install the `redhat-developer-hub-orchestrator-infra` Helm chart because it deploys additional cluster-scoped OpenShift Serverless and OpenShift Serverless Logic Operators. As an administrator, you need to manually approve the install plans for OpenShift Serverless and Serverless Logic Operators.
You must be an administrator to install the `redhat-developer-hub-orchestrator-infra` Helm chart because it deploys additional cluster-scoped OpenShift Serverless and OpenShift Serverless Logic Operators. As an administrator, you need to manually approve the install plans for OpenShift Serverless and Serverless Logic Operators.
====

. Install the Backstage chart with the orchestrator enabled as shown in the following example:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ You can install {product} ({product-very-short}) with the Orchestrator by using

.Prerequisites

* You are logged in to the {ocp-short} web console as a cluster administrator.
* You are logged in to the {ocp-short} web console as an administrator.
* You have access to the {product} Helm chart repository.
* Your cluster has internet access or the Helm charts are mirrored in a disconnected environment.

Expand All @@ -20,7 +20,7 @@ You can install {product} ({product-very-short}) with the Orchestrator by using
+
[IMPORTANT]
====
You must be a cluster 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.
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.
====
+
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.
Expand Down