This is an automated email from the ASF dual-hosted git repository.

dhanak pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-kogito-docs.git


The following commit(s) were added to refs/heads/main by this push:
     new f6720e3ca kie-issues#672: [SonataFlow] Create a guide for the 
SonataFlow Management Console on OCP (#674)
f6720e3ca is described below

commit f6720e3cafce46c1beb76fc4c0bebb7a5e8547bd
Author: Fabrizio Antonangeli <[email protected]>
AuthorDate: Fri Jan 17 15:40:07 2025 +0100

    kie-issues#672: [SonataFlow] Create a guide for the SonataFlow Management 
Console on OCP (#674)
    
    * Add SonataFlow Management Console guide
    
    * Fixes comment: 
https://github.com/apache/incubator-kie-kogito-docs/pull/674#discussion_r1802770531
    
    * Fixes comment: 
https://github.com/apache/incubator-kie-kogito-docs/pull/674#discussion_r1800610026
    
    * Fixes comment: 
https://github.com/apache/incubator-kie-kogito-docs/pull/674#discussion_r1802776260
    
    * Fixes comment: 
https://github.com/apache/incubator-kie-kogito-docs/pull/674#discussion_r1803544869
    
    * Fixes comment: 
https://github.com/apache/incubator-kie-kogito-docs/pull/674#discussion_r1803546290
    
    * Fixes comment: 
https://github.com/apache/incubator-kie-kogito-docs/pull/674#discussion_r1803546651
    
    * Fixes comment: 
https://github.com/apache/incubator-kie-kogito-docs/pull/674#discussion_r1803548125
    
    * Various fixes
    
    * Fixes comment: 
https://github.com/apache/incubator-kie-kogito-docs/pull/674#discussion_r1804999381
    
    * Updated image name following
    https://github.com/apache/incubator-kie-tools/pull/2689
    
    * Fixes comment: 
https://github.com/apache/incubator-kie-kogito-docs/pull/674#discussion_r1805956086
---
 serverlessworkflow/antora.yml                      |   1 +
 serverlessworkflow/modules/ROOT/nav.adoc           |   1 +
 ...onataflow-management-console-on-kubernetes.adoc | 155 +++++++++++++++++++++
 .../deployments/deploying-on-openshift.adoc        |   4 +-
 4 files changed, 159 insertions(+), 2 deletions(-)

diff --git a/serverlessworkflow/antora.yml b/serverlessworkflow/antora.yml
index d9f1738ee..72cfe71bd 100644
--- a/serverlessworkflow/antora.yml
+++ b/serverlessworkflow/antora.yml
@@ -53,6 +53,7 @@ asciidoc:
     sonataflow_dataindex_postgresql_imagename: 
docker.io/apache/incubator-kie-kogito-data-index-postgresql
     sonataflow_dataindex_ephemeral_imagename:  
docker.io/apache/incubator-kie-kogito-data-index-ephemeral
     sonataflow_devmode_devui_url: 
/q/dev-ui/org.apache.kie.sonataflow.sonataflow-quarkus-devui/
+    sonataflow_management_console_imagename: 
apache/incubator-kie-sonataflow-management-console
     serverless_logic_web_tools_name: Serverless Logic Web Tools
     serverless_workflow_vscode_extension_name: KIE Serverless Workflow Editor
     kie_kogito_examples_repo_name: incubator-kie-kogito-examples
diff --git a/serverlessworkflow/modules/ROOT/nav.adoc 
b/serverlessworkflow/modules/ROOT/nav.adoc
index 95f7d9983..c1875bd01 100644
--- a/serverlessworkflow/modules/ROOT/nav.adoc
+++ b/serverlessworkflow/modules/ROOT/nav.adoc
@@ -69,6 +69,7 @@
 // * Java Workflow Library TODO: https://issues.redhat.com/browse/KOGITO-9454
 * xref:cloud/index.adoc[Cloud]
 ** xref:cloud/custom-ingress-authz.adoc[Securing Workflows]
+** 
xref:cloud/deploying-sonataflow-management-console-on-kubernetes.adoc[Deploying 
Management Console on Kubernetes]
 ** Operator
 *** xref:cloud/operator/install-serverless-operator.adoc[Installation]
 *** xref:cloud/operator/global-configuration.adoc[Admin Configuration]
diff --git 
a/serverlessworkflow/modules/ROOT/pages/cloud/deploying-sonataflow-management-console-on-kubernetes.adoc
 
b/serverlessworkflow/modules/ROOT/pages/cloud/deploying-sonataflow-management-console-on-kubernetes.adoc
new file mode 100644
index 000000000..936ebc8e2
--- /dev/null
+++ 
b/serverlessworkflow/modules/ROOT/pages/cloud/deploying-sonataflow-management-console-on-kubernetes.adoc
@@ -0,0 +1,155 @@
+= Deploying {product_name} Management Console on Kubernetes
+:compat-mode!:
+// Metadata:
+:description: Deploying Management Console on Kubernetes
+:keywords: kogito, workflow, quarkus, serverless, kn, oc, openshift, sonataflow
+:table-caption: Data Set
+// envs for common content
+:management_console: SonataFlow Management Console
+:management_console_prefix: sonataflow-management-console
+:command_line_tool: kubectl
+
+
+This document describes how to deploy the {product_name} Management Console on 
Kubernetes
+
+The SonataFlow Management Console is a web interface designed to manage and 
monitor workflows. It allows users to initiate workflows, trigger Cloud Events, 
and monitor their execution.
+
+.Prerequisites
+* Your xref:cloud/operator/build-and-deploy-workflows.adoc[{product_name} 
application] is deployed and ready to use.
+* A Kubernetes or OpenShift cluster with admin privileges and 
{command_line_tool} installed.
+* (Optional) 
xref:security/orchestrating-third-party-services-with-oauth2.adoc[Keycloak 
server] is installed.
+
+== Set up Kubernetes and deploy your SonataFlow application
+
+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.
+
+.See also:
+. 
xref:use-cases/advanced-developer-use-cases/deployments/deploying-on-openshift.adoc[Deploying
 your SonataFlow application on OpenShift ]
+. xref:cloud/operator/supporting-services.adoc[Data Index installation with 
the Operator]
+
+== (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 own 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 `{management_console_prefix}-deployment.yaml`
+[source,yaml,subs="attributes+"]
+----
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: {management_console_prefix}
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: {management_console_prefix}
+  template:
+    metadata:
+      labels:
+        app: {management_console_prefix}
+    spec:
+      containers:
+        - name: {management_console_prefix}
+          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: publicly.accesible.url.of.data-index-service/graphql <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].
 +
+Please note it's required the Data Index URL to be exposed.
+
+.Apply {management_console} Deployment
+[source,shell,subs="attributes+"]
+----
+{command_line_tool} apply -f {management_console_prefix}-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 `{management_console_prefix}-service.yaml`
+[source,yaml,subs="attributes+"]
+----
+apiVersion: v1
+kind: Service
+metadata:
+  name: {management_console_prefix}-service
+spec:
+  selector:
+    app: {management_console_prefix}
+  ports:
+    - name: http
+      protocol: TCP
+      port: 8080
+      targetPort: 8080
+----
+
+.Apply {management_console} Service
+[source,shell,subs="attributes+"]
+----
+{command_line_tool} apply -f {management_console_prefix}-service.yaml
+----
+This will create a service exposing the SonataFlow Management Console.
+
+== Create the Route (OpenShift only)
+
+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 `{management_console_prefix}-route.yaml`
+[source,yaml,subs="attributes+"]
+----
+apiVersion: route.openshift.io/v1
+kind: Route
+metadata:
+  name: {management_console_prefix}-route
+spec:
+  to:
+    kind: Service
+    name: {management_console_prefix}-service
+  port:
+    targetPort: http
+----
+
+.Apply {management_console} Route
+[source,shell,subs="attributes+"]
+----
+{command_line_tool} apply -f {management_console_prefix}-route.yaml
+----
+
+== Create the Ingress (Kubernetes only)
+
+For Kubernetes you can expose the SonataFlow Management Console using an 
Ingress.
+
+To create an Ingress, refer to the official Kubernetes documentation here: 
link:https://kubernetes.io/docs/concepts/services-networking/ingress/[Kubernetes
 Ingress Guide].
+
+
+== 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[]
diff --git 
a/serverlessworkflow/modules/ROOT/pages/use-cases/advanced-developer-use-cases/deployments/deploying-on-openshift.adoc
 
b/serverlessworkflow/modules/ROOT/pages/use-cases/advanced-developer-use-cases/deployments/deploying-on-openshift.adoc
index 3b15f5884..03c1dba1a 100644
--- 
a/serverlessworkflow/modules/ROOT/pages/use-cases/advanced-developer-use-cases/deployments/deploying-on-openshift.adoc
+++ 
b/serverlessworkflow/modules/ROOT/pages/use-cases/advanced-developer-use-cases/deployments/deploying-on-openshift.adoc
@@ -42,7 +42,7 @@ For the following steps we will be using the 
link:{ocp_local_url}[OpenShift Loca
 
 _If you already have an OpenShift cluster available you can skip this section._
 
-Instructions to install Openshift Local can be found 
{ocp_local_url_install}[here].
+Instructions to install OpenShift Local can be found 
{ocp_local_url_install}[here].
 
 Once you have OpenShift Local running, proceed to the next topic.
 [IMPORTANT]
@@ -176,4 +176,4 @@ include::./common/_proc_deploy_sw_oc.adoc[]
 // deploy with quarkus-cli
 include::./common/_proc_deploy_sw_quarkus_cli.adoc[]
 
-include::../../../../pages/_common-content/report-issue.adoc[]
\ No newline at end of file
+include::../../../../pages/_common-content/report-issue.adoc[]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to