This is an automated email from the ASF dual-hosted git repository.
ricardozanini pushed a commit to branch main
in repository
https://gitbox.apache.org/repos/asf/incubator-kie-kogito-examples.git
The following commit(s) were added to refs/heads/main by this push:
new 1c9719f47 Consolidate serverless workflow newsletter-subscription
example (#1870)
1c9719f47 is described below
commit 1c9719f47a3cd90fcb12e92b9d63d2d187f3e9a2
Author: nmirasch <[email protected]>
AuthorDate: Fri Feb 9 14:09:03 2024 +0100
Consolidate serverless workflow newsletter-subscription example (#1870)
---
.../kubernetes/data-index-services.yml | 86 +++++++++++++++++++++-
.../kubernetes/supporting-services.yml | 2 +
.../main/resources/application-knative.properties | 26 ++-----
.../src/main/resources/application.properties | 18 +----
4 files changed, 92 insertions(+), 40 deletions(-)
diff --git
a/serverless-workflow-examples/serverless-workflow-newsletter-subscription/kubernetes/data-index-services.yml
b/serverless-workflow-examples/serverless-workflow-newsletter-subscription/kubernetes/data-index-services.yml
index f191c7ef7..8f739b156 100644
---
a/serverless-workflow-examples/serverless-workflow-newsletter-subscription/kubernetes/data-index-services.yml
+++
b/serverless-workflow-examples/serverless-workflow-newsletter-subscription/kubernetes/data-index-services.yml
@@ -88,16 +88,98 @@ spec:
value: "http-events-support"
- name: QUARKUS_HTTP_PORT
value: "8080"
+ - name: KOGITO_SERVICE_URL
+ value: http://data-index-service-postgresql
---
apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
- name: data-index-service-postgresql-processes-trigger
+ name: data-index-service-postgresql-process-definition-trigger
spec:
broker: default
filter:
attributes:
- type: ProcessInstanceEvent
+ type: ProcessDefinitionEvent
+ subscriber:
+ ref:
+ apiVersion: v1
+ kind: Service
+ name: data-index-service-postgresql
+ uri: /definitions
+---
+apiVersion: eventing.knative.dev/v1
+kind: Trigger
+metadata:
+ name: data-index-service-postgresql-process-error-trigger
+spec:
+ broker: default
+ filter:
+ attributes:
+ type: ProcessInstanceErrorDataEvent
+ subscriber:
+ ref:
+ apiVersion: v1
+ kind: Service
+ name: data-index-service-postgresql
+ uri: /processes
+---
+apiVersion: eventing.knative.dev/v1
+kind: Trigger
+metadata:
+ name: data-index-service-postgresql-process-node-trigger
+spec:
+ broker: default
+ filter:
+ attributes:
+ type: ProcessInstanceNodeDataEvent
+ subscriber:
+ ref:
+ apiVersion: v1
+ kind: Service
+ name: data-index-service-postgresql
+ uri: /processes
+---
+apiVersion: eventing.knative.dev/v1
+kind: Trigger
+metadata:
+ name: data-index-service-postgresql-process-sla-trigger
+spec:
+ broker: default
+ filter:
+ attributes:
+ type: ProcessInstanceSLADataEvent
+ subscriber:
+ ref:
+ apiVersion: v1
+ kind: Service
+ name: data-index-service-postgresql
+ uri: /processes
+---
+apiVersion: eventing.knative.dev/v1
+kind: Trigger
+metadata:
+ name: data-index-service-postgresql-process-state-trigger
+spec:
+ broker: default
+ filter:
+ attributes:
+ type: ProcessInstanceStateDataEvent
+ subscriber:
+ ref:
+ apiVersion: v1
+ kind: Service
+ name: data-index-service-postgresql
+ uri: /processes
+---
+apiVersion: eventing.knative.dev/v1
+kind: Trigger
+metadata:
+ name: data-index-service-postgresql-process-variable-trigger
+spec:
+ broker: default
+ filter:
+ attributes:
+ type: ProcessInstanceVariableDataEvent
subscriber:
ref:
apiVersion: v1
diff --git
a/serverless-workflow-examples/serverless-workflow-newsletter-subscription/kubernetes/supporting-services.yml
b/serverless-workflow-examples/serverless-workflow-newsletter-subscription/kubernetes/supporting-services.yml
index 64eab9980..f82d323c7 100644
---
a/serverless-workflow-examples/serverless-workflow-newsletter-subscription/kubernetes/supporting-services.yml
+++
b/serverless-workflow-examples/serverless-workflow-newsletter-subscription/kubernetes/supporting-services.yml
@@ -173,6 +173,8 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
+ - name: KOGITO_SERVICE_URL
+ value: http://jobs-service-postgresql
- name: JOBS_SERVICE_PERSISTENCE
value: "postgresql"
- name: KOGITO_JOBS_SERVICE_HTTP_JOB_STATUS_CHANGE_EVENTS
diff --git
a/serverless-workflow-examples/serverless-workflow-newsletter-subscription/subscription-flow/src/main/resources/application-knative.properties
b/serverless-workflow-examples/serverless-workflow-newsletter-subscription/subscription-flow/src/main/resources/application-knative.properties
index 008cfa2a4..8ce2a7431 100644
---
a/serverless-workflow-examples/serverless-workflow-newsletter-subscription/subscription-flow/src/main/resources/application-knative.properties
+++
b/serverless-workflow-examples/serverless-workflow-newsletter-subscription/subscription-flow/src/main/resources/application-knative.properties
@@ -37,37 +37,19 @@ quarkus.datasource.password=${POSTGRES_PASSWORD:pass}
# Events produced by kogito-addons-quarkus-jobs-knative-eventing to program
the timers on the jobs service.
mp.messaging.outgoing.kogito-job-service-job-request-events.connector=quarkus-http
-# The K_SINK variable is automatically injected by the Knative ecosystem. The
default value http://localhost:8280
-# is used for local testing.
mp.messaging.outgoing.kogito-job-service-job-request-events.url=${K_SINK:http://localhost:8280/v2/jobs/events}
mp.messaging.outgoing.kogito-job-service-job-request-events.method=POST
-# process, variables and user tasks events configuration.
-mp.messaging.outgoing.kogito-processinstances-events.connector=quarkus-http
-mp.messaging.outgoing.kogito-processinstances-events.url=${K_SINK:http://localhost:8180/processes}
-mp.messaging.outgoing.kogito-processinstances-events.method=POST
-
kogito.events.usertasks.enabled=false
-mp.messaging.outgoing.kogito-usertaskinstances-events.connector=quarkus-http
-mp.messaging.outgoing.kogito-usertaskinstances-events.url=${K_SINK:http://localhost:8180/tasks}
-mp.messaging.outgoing.kogito-usertaskinstances-events.method=POST
-
kogito.events.variables.enabled=false
-mp.messaging.outgoing.kogito-variables-events.connector=quarkus-http
-mp.messaging.outgoing.kogito-variables-events.url=${K_SINK:http://localhost:8180/variables}
-mp.messaging.outgoing.kogito-variables-events.method=POST
-
-mp.messaging.outgoing.kogito-processdefinitions-events.connector=quarkus-http
-mp.messaging.outgoing.kogito-processdefinitions-events.url={K_SINK:http://localhost:8180/definitions}
-mp.messaging.outgoing.kogito-processdefinitions-events.method=POST
+kogito.addon.messaging.outgoing.cloudEventMode=structured
## Knative integration:
-# Use the Kogito service discovery mechanism to get the subscription-service
url and set an env var with name SUBSCRIPTION_SERVICE_URL
+# Use the Kogito service discovery mechanism to get the subscription-service
url
# For more information see:
#
https://kiegroup.github.io/kogito-docs/serverlessworkflow/latest/cloud/kubernetes-service-discovery.html
-#
https://quarkus.io/guides/deploying-to-kubernetes#environment-variables-from-keyvalue-pairs
-quarkus.knative.env.vars.subscription_service_url=${knative:services.v1.serving.knative.dev/newsletter-showcase/subscription-service}
+quarkus.rest-client.subscription_service_yaml.url=${knative:services.v1.serving.knative.dev/newsletter-showcase/subscription-service}
# Configure current deployment to set an env var with name POSTGRES_HOST
# For more information see:
https://quarkus.io/guides/deploying-to-kubernetes#environment-variables-from-keyvalue-pairs
@@ -84,7 +66,9 @@ quarkus.knative.env.vars.postgres_host=newsletter-postgres
# you can change this property with -Pknative -Dquarkus.container-image.group
from the command line.
quarkus.container-image.group=dev.local
quarkus.kubernetes.deployment-target=knative
+# The name of the application. This value will be used for naming Kubernetes
resources like: Deployment, Service, etc.
quarkus.knative.name=subscription-flow
+quarkus.container-image.name=${quarkus.knative.name}
quarkus.knative.image-pull-policy=IfNotPresent
# Kogito Knative integration
diff --git
a/serverless-workflow-examples/serverless-workflow-newsletter-subscription/subscription-flow/src/main/resources/application.properties
b/serverless-workflow-examples/serverless-workflow-newsletter-subscription/subscription-flow/src/main/resources/application.properties
index 51b8e8eea..86b736b0b 100644
---
a/serverless-workflow-examples/serverless-workflow-newsletter-subscription/subscription-flow/src/main/resources/application.properties
+++
b/serverless-workflow-examples/serverless-workflow-newsletter-subscription/subscription-flow/src/main/resources/application.properties
@@ -30,7 +30,7 @@
quarkus.log.category."org.kie.kogito.addon.quarkus.messaging".level=DEBUG
# Internally, Kogito Serverless Workflow uses the Quarkus OpenAPI Generator
extension.
# The default value http://localhost:8282 is used for local testing. In
kubernetes environments, the env var
# SUBSCRIPTION_SERVICE_URL will be used instead. This env var is configured in
the application-knative.properties file.
-quarkus.rest-client.subscription_service_yaml.url=${SUBSCRIPTION_SERVICE_URL:http://localhost:8282}
+quarkus.rest-client.subscription_service_yaml.url=http://localhost:8282
mp.messaging.incoming.kogito_incoming_stream.connector=quarkus-http
mp.messaging.incoming.kogito_incoming_stream.path=/
@@ -48,22 +48,6 @@
mp.messaging.outgoing.kogito_outgoing_stream.url=${K_SINK:http://localhost:8181}
%container.quarkus.container-image.registry=dev.local
%container.quarkus.container-image.tag=1.0-SNAPSHOT
-# process, variables and user tasks events configuration.
-mp.messaging.outgoing.kogito-processinstances-events.connector=quarkus-http
-mp.messaging.outgoing.kogito-processinstances-events.url=http://localhost:8180/processes
-mp.messaging.outgoing.kogito-processinstances-events.method=POST
-
kogito.events.usertasks.enabled=false
-mp.messaging.outgoing.kogito-usertaskinstances-events.connector=quarkus-http
-mp.messaging.outgoing.kogito-usertaskinstances-events.url=http://localhost:8180/tasks
-mp.messaging.outgoing.kogito-usertaskinstances-events.method=POST
-
kogito.events.variables.enabled=false
-mp.messaging.outgoing.kogito-variables-events.connector=quarkus-http
-mp.messaging.outgoing.kogito-variables-events.url=http://localhost:8180/variables
-mp.messaging.outgoing.kogito-variables-events.method=POST
-# process definitions events configuration.
-mp.messaging.outgoing.kogito-processdefinitions-events.connector=quarkus-http
-mp.messaging.outgoing.kogito-processdefinitions-events.url=http://localhost:8180/definitions
-mp.messaging.outgoing.kogito-processdefinitions-events.method=POST
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]