-
Notifications
You must be signed in to change notification settings - Fork 58
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add SonataFlow Management Console guide
- Loading branch information
1 parent
a9b6165
commit 3cf8d8d
Showing
4 changed files
with
153 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
149 changes: 149 additions & 0 deletions
149
...use-cases/deployments/deploying-sonataflow-management-console-on-openshift.adoc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,149 @@ | ||
= Deploying {product_name} Management Console on OpenShift | ||
:compat-mode!: | ||
// Metadata: | ||
:description: Deploying Management Console on OpenShift | ||
:keywords: kogito, workflow, quarkus, serverless, kn, oc, openshift, sonataflow | ||
:table-caption: Data Set | ||
// envs for common content | ||
:management_console: SonataFlow Management Console | ||
:registry: OpenShift's | ||
:command_line_tool: oc | ||
:command_line_tool_name: OpenShift CLI | ||
:ocp_name: OpenShift Container Platform | ||
:platform: OpenShift | ||
// links | ||
:ocp_cli_url: https://docs.openshift.com/container-platform/4.12/cli_reference/openshift_cli/getting-started-cli.html#cli-about-cli_cli-developer-commands | ||
|
||
|
||
This document describes how to deploy the {product_name} Management Console using on OpenShift. | ||
|
||
The SonataFlow Management Console is a web interface designed to manage and monitor workflows in a production-ready environment. It allows users to initiate workflows, trigger Cloud Events, and monitor their execution. | ||
|
||
.Prerequisites | ||
* Your xref:use-cases/advanced-developer-use-cases/deployments/deploying-on-openshift.adoc[{product_name} application] is deployed and ready to use. | ||
* link:{ocp_cli_url}[OpenShift CLI] is installed. | ||
* (Optional) xref:security/orchestrating-third-party-services-with-oauth2.adoc[Keycloak server] is installed in OpenShift. | ||
== Set up {ocp_name} and deploy your SonataFlow application on OpenShift | ||
|
||
The SonataFlow Management Console relies on the underlying services of the SonataFlow application, including the Data Index service. The Data Index provides data from workflow executions, enabling the Management Console to display workflow information. | ||
|
||
Ensure that your Data Index service is deployed and accessible before deploying the Management Console. | ||
Instructions to set up {ocp_name} and deploy your SonataFlow application on OpenShift can be found xref:use-cases/advanced-developer-use-cases/deployments/deploying-on-openshift.adoc[here]. | ||
|
||
== (Optional) Deploy Keycloak for production | ||
|
||
_If you already have Keycloak deployment or server available you can skip this section._ | ||
|
||
For production environments, deploy Keycloak to handle authentication or choose your orwn OAuth2 server. You can refer to the SonataFlow Keycloak documentation xref:security/orchestrating-third-party-services-with-oauth2.adoc[here]. | ||
|
||
== Deploy {management_console} | ||
|
||
Create the deployment for the SonataFlow Management Console by applying the following YAML definition: | ||
|
||
.Example configuration in `osl-management-console-deployment.yaml` | ||
[source,yaml,subs="attributes+"] | ||
---- | ||
apiVersion: apps/v1 | ||
kind: Deployment | ||
metadata: | ||
name: osl-management-console | ||
spec: | ||
replicas: 1 | ||
selector: | ||
matchLabels: | ||
app: osl-management-console | ||
template: | ||
metadata: | ||
labels: | ||
app: osl-management-console | ||
spec: | ||
containers: | ||
- name: osl-management-console | ||
image: {sonataflow_management_console_imagename}:latest | ||
imagePullPolicy: Always | ||
ports: | ||
- containerPort: 8080 | ||
name: http | ||
protocol: TCP | ||
env: | ||
- name: SONATAFLOW_MANAGEMENT_CONSOLE_KOGITO_ENV_MODE | ||
value: DEV <1> | ||
- name: SONATAFLOW_MANAGEMENT_CONSOLE_DATA_INDEX_ENDPOINT | ||
value: DATA-INDEX-URL <2> | ||
---- | ||
<1> (Optional) Environment mode: "PROD" or "DEV". PROD enables Keycloak integration. | ||
<2> The URL to the Data Index Deployment created xref:use-cases/advanced-developer-use-cases/deployments/deploying-on-openshift.adoc[here]. | ||
|
||
.Apply {management_console} Deployment | ||
[source,shell] | ||
---- | ||
oc apply -f osl-management-console-deployment.yaml | ||
---- | ||
|
||
== Create the Service | ||
|
||
Once the deployment is created, expose it through a service. Create a service definition by applying the following YAML: | ||
|
||
.Example configuration in `osl-management-console-service.yaml` | ||
[source,yaml] | ||
---- | ||
apiVersion: v1 | ||
kind: Service | ||
metadata: | ||
name: osl-management-console-service | ||
spec: | ||
selector: | ||
app: osl-management-console | ||
ports: | ||
- name: http | ||
protocol: TCP | ||
port: 8080 | ||
targetPort: 8080 | ||
---- | ||
|
||
.Apply {management_console} Service | ||
[source,shell] | ||
---- | ||
oc apply -f osl-management-console-service.yaml | ||
---- | ||
This will create a service exposing the SonataFlow Management Console. | ||
|
||
== Create the Route | ||
|
||
Finally, expose the service with a route, so that it can be accessed externally. | ||
|
||
Create the route by applying the following YAML: | ||
|
||
.Example configuration in `osl-management-console-route.yaml` | ||
[source,yaml] | ||
---- | ||
apiVersion: route.openshift.io/v1 | ||
kind: Route | ||
metadata: | ||
name: osl-management-console-route | ||
spec: | ||
to: | ||
kind: Service | ||
name: osl-management-console-service | ||
port: | ||
targetPort: http | ||
---- | ||
|
||
.Apply {management_console} Route | ||
[source,shell] | ||
---- | ||
oc apply -f osl-management-console-route.yaml | ||
---- | ||
|
||
== Optional: Keycloak authentication for Production | ||
|
||
In a production environment, you can integrate the SonataFlow Management Console with a Keycloak server for authentication or any OAuth2 server. | ||
|
||
Set the following environment variables in your deployment: | ||
|
||
* `SONATAFLOW_MANAGEMENT_CONSOLE_DATA_INDEX_ENDPOINT="PROD"` | ||
* `KOGITO_CONSOLES_KEYCLOAK_HEALTH_CHECK_URL` – The Keycloak realm’s health check URL. | ||
* `KOGITO_CONSOLES_KEYCLOAK_URL` – The Keycloak server URL. | ||
|
||
include::../../../../pages/_common-content/report-issue.adoc[] |