This is an automated email from the ASF dual-hosted git repository. tiagobento pushed a commit to branch 10.1.x in repository https://gitbox.apache.org/repos/asf/incubator-kie-sandbox-quarkus-accelerator.git
commit ad0532392ac28c03910615901b2a7e152b1f4782 Author: Tiago Bento <[email protected]> AuthorDate: Tue Jul 8 18:29:02 2025 -0400 Apache KIE 10.1.0 --- README.md | 3 + pom.xml | 241 +++++++++++++++++++++--------- src/main/resources/application.properties | 119 +++++++++++---- 3 files changed, 262 insertions(+), 101 deletions(-) diff --git a/README.md b/README.md new file mode 100644 index 0000000..ee677fc --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Apache KIE Sandbox Quarkus Accelerator + +Welcome to your Apache KIE Sandbox Quarkus Accelerator project! diff --git a/pom.xml b/pom.xml index c1fb31d..d156c88 100644 --- a/pom.xml +++ b/pom.xml @@ -1,137 +1,226 @@ <?xml version="1.0"?> <!-- - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + ~ Licensed to the Apache Software Foundation (ASF) under one + ~ or more contributor license agreements. See the NOTICE file + ~ distributed with this work for additional information + ~ regarding copyright ownership. The ASF licenses this file + ~ to you under the Apache License, Version 2.0 (the + ~ "License"); you may not use this file except in compliance + ~ with the License. You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, + ~ software distributed under the License is distributed on an + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~ KIND, either express or implied. See the License for the + ~ specific language governing permissions and limitations + ~ under the License. --> -<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" +<project + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +> <modelVersion>4.0.0</modelVersion> - <groupId>org.kie.sandbox</groupId> - <artifactId>quarkus-accelerator</artifactId> - <version>1.0.0</version> + + <!-- TODO: Update groupId, artifactId, and version --> + <groupId>org.acme.your-groupId</groupId> + <artifactId>your-artifactId</artifactId> + <version>1.0-SNAPSHOT</version> + <repositories> + <!-- + Duplicating the Maven Central repository here (as it is already coming from Super POM) + makes the build much faster, as the Maven Central is now treated as the first (default) repository + (because it is before the Apache Nexus one). + + Artifacts with release (fixed) versions are being downloaded primarily from there. Without + `central` being the first repository, Apache Nexus would be contacted first and since it is quite + slow it slows down the build. + + We use Apache repo only to download development SNAPSHOTs. + + TODO: Feel free to remove this if you don't need it. + --> <repository> - <!-- Duplicating the Maven Central repository here (as it is already coming from Super POM) makes the build much faster, - as the Maven Central is now treated as the first (default) repository (because it is before the Apache Nexus one). - Artifacts with release (fixed) versions are being downloaded primarily from there. Without the central being the - first repository the Apache Nexus would be contacted first and since it is quite slow it slows down the build. - We use Apache repo only to download our SNAPSHOTs. --> <id>central</id> <name>Central Repository</name> <url>https://repo.maven.apache.org/maven2</url> - <layout>default</layout> <snapshots> <enabled>false</enabled> </snapshots> </repository> <repository> - <id>apache-public-repository-group</id> - <name>Apache Public Repository Group</name> - <url>https://repository.apache.org/content/groups/public/</url> + <id>apache.snapshots</id> + <name>Apache Snapshot Repository</name> + <url>https://repository.apache.org/snapshots</url> <releases> - <enabled>true</enabled> - <updatePolicy>never</updatePolicy> + <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> - <updatePolicy>daily</updatePolicy> + <updatePolicy>never</updatePolicy> </snapshots> </repository> </repositories> + <properties> - <compiler-plugin.version>3.13.0</compiler-plugin.version> - <maven.compiler.parameters>true</maven.compiler.parameters> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> - <quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id> - <quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id> - <quarkus.platform.version>3.8.4</quarkus.platform.version> - <quarkus-plugin.version>3.8.4</quarkus-plugin.version> - <kogito.bom.group-id>org.kie.kogito</kogito.bom.group-id> - <kogito.bom.artifact-id>kogito-bom</kogito.bom.artifact-id> - <kogito.bom.version>10.0.0</kogito.bom.version> - <surefire-plugin.version>3.2.5</surefire-plugin.version> + + <!-- Versions --> + <version.quarkus>3.15.3.1</version.quarkus> + <version.kogito>10.1.0</version.kogito> + <version.jbpm-quarkus-devui-bom>10.1.0</version.jbpm-quarkus-devui-bom> </properties> + <dependencyManagement> <dependencies> <dependency> - <groupId>${quarkus.platform.group-id}</groupId> - <artifactId>${quarkus.platform.artifact-id}</artifactId> - <version>${quarkus.platform.version}</version> + <groupId>io.quarkus.platform</groupId> + <artifactId>quarkus-bom</artifactId> + <version>${version.quarkus}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + + <dependency> + <groupId>org.kie.kogito</groupId> + <artifactId>kogito-bom</artifactId> + <version>${version.kogito}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.kie.kogito</groupId> <artifactId>kogito-quarkus-bom</artifactId> - <version>${kogito.bom.version}</version> + <version>${version.kogito}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + <dependency> + <groupId>org.kie.kogito</groupId> + <artifactId>kogito-kie-bom</artifactId> + <version>${version.kogito}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + <dependency> + <groupId>org.kie.kogito</groupId> + <artifactId>kogito-apps-bom</artifactId> + <version>${version.kogito}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + <dependency> + <groupId>org.drools</groupId> + <artifactId>drools-bom</artifactId> + <version>${version.kogito}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + <dependency> + <groupId>org.jbpm</groupId> + <artifactId>jbpm-quarkus-devui-bom</artifactId> + <version>${version.jbpm-quarkus-devui-bom}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> + <dependencies> + <!-- Kogito core --> <dependency> <groupId>org.jbpm</groupId> <artifactId>jbpm-with-drools-quarkus</artifactId> </dependency> <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-resteasy</artifactId> + <groupId>org.kie</groupId> + <artifactId>kie-addons-quarkus-process-management</artifactId> </dependency> <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-resteasy-jackson</artifactId> + <groupId>org.kie</groupId> + <artifactId>kogito-addons-quarkus-jobs-management</artifactId> </dependency> <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-arc</artifactId> + <groupId>org.kie</groupId> + <artifactId>kie-addons-quarkus-process-svg</artifactId> </dependency> - - <!-- Persistence --> <dependency> <groupId>org.kie</groupId> - <artifactId>kie-addons-quarkus-persistence-infinispan</artifactId> + <artifactId>kie-addons-quarkus-source-files</artifactId> </dependency> + <dependency> + <groupId>org.kie</groupId> + <artifactId>kogito-addons-quarkus-data-index-jpa</artifactId> + </dependency> + <dependency> + <groupId>org.kie</groupId> + <artifactId>kogito-addons-quarkus-jobs</artifactId> + </dependency> + <dependency> + <groupId>org.kie</groupId> + <artifactId>kogito-addons-quarkus-data-audit</artifactId> + </dependency> + <!-- Kogito persistence --> + <dependency> + <groupId>org.kie</groupId> + <artifactId>kie-addons-quarkus-persistence-jdbc</artifactId> + </dependency> + <dependency> + <groupId>org.kie.kogito</groupId> + <artifactId>jobs-service-storage-jpa</artifactId> + </dependency> + <dependency> + <groupId>org.kie</groupId> + <artifactId>kogito-addons-quarkus-data-audit-jpa</artifactId> + </dependency> + <!-- Kogito dev --> + <dependency> + <groupId>org.jbpm</groupId> + <artifactId>jbpm-quarkus-devui</artifactId> + </dependency> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-jdbc-h2</artifactId> + </dependency> + + <!-- Quarkus --> <dependency> <groupId>io.quarkus</groupId> - <artifactId>quarkus-smallrye-reactive-messaging-kafka</artifactId> + <artifactId>quarkus-resteasy</artifactId> </dependency> <dependency> <groupId>io.quarkus</groupId> - <artifactId>quarkus-smallrye-openapi</artifactId> + <artifactId>quarkus-resteasy-jackson</artifactId> </dependency> <dependency> <groupId>io.quarkus</groupId> - <artifactId>quarkus-smallrye-health</artifactId> + <artifactId>quarkus-jdbc-postgresql</artifactId> </dependency> - <dependency> - <groupId>org.kie</groupId> - <artifactId>kie-addons-quarkus-events-process</artifactId> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-agroal</artifactId> </dependency> + + <!-- Utils --> <dependency> - <groupId>org.kie</groupId> - <artifactId>kie-addons-quarkus-process-svg</artifactId> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-smallrye-openapi</artifactId> + </dependency> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-smallrye-health</artifactId> </dependency> + + <!-- Tests --> <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-junit5</artifactId> @@ -142,21 +231,19 @@ <artifactId>rest-assured</artifactId> <scope>test</scope> </dependency> - <dependency> - <groupId>org.kie.kogito</groupId> - <artifactId>kogito-quarkus-test-utils</artifactId> - <scope>test</scope> - </dependency> - </dependencies> + <!-- TODO: Add your dependencies here --> + <!-- ... --> + </dependencies> + <build> <finalName>${project.artifactId}</finalName> <plugins> <plugin> <groupId>io.quarkus</groupId> <artifactId>quarkus-maven-plugin</artifactId> - <version>${quarkus-plugin.version}</version> + <version>${version.quarkus}</version> <executions> <execution> <goals> @@ -168,4 +255,18 @@ </plugins> </build> -</project> + <profiles> + <profile> + <id>container</id> + <properties> + <quarkus.profile>container</quarkus.profile> + </properties> + <dependencies> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-container-image-jib</artifactId> + </dependency> + </dependencies> + </profile> + </profiles> +</project> \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 3abf755..d9bae60 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -15,47 +15,104 @@ # specific language governing permissions and limitations # under the License. -# Set up for the swagger-ui (Process-defintions) -quarkus.http.cors=true -quarkus.smallrye-openapi.path=/docs/openapi.json -quarkus.swagger-ui.always-include=true +############### +# Persistence # +############### -kogito.generate.rest.decisions=true -kogito.generate.rest.processes=true +# Tells the Kogito runtime what kind of persistence is configured. +kogito.persistence.type=jdbc + +# Apache KIE provides a separate Flyway subsystem that allows Kogito's internal tables to be created and migrated +# without interfering with your application's Flyway, if you're using it. +# +# This property enables/disables running this isolated Flyway mechanism automatically when the application starts. +# If you want more control over when/how/who executes changes to your database, disable it and run the SQL scripts manually. +%prod.kie.flyway.enabled=false + +%prod.quarkus.datasource.db-kind=postgresql +%prod.quarkus.datasource.username=kogito-user +%prod.quarkus.datasource.password=kogito-pass +%prod.quarkus.datasource.jdbc.url=${QUARKUS_DATASOURCE_JDBC_URL:jdbc:postgresql://0.0.0.0:5432/kogito} +%prod.quarkus.datasource.reactive.url=${QUARKUS_DATASOURCE_REACTIVE_URL:postgresql://0.0.0.0:5432/kogito} + +# Dev +%dev.kie.flyway.enabled=true +%dev.quarkus.datasource.db-kind=h2 +%dev.quarkus.datasource.username=kogito +%dev.quarkus.datasource.jdbc.url=jdbc:h2:mem:default;NON_KEYWORDS=VALUE,KEY + + + + +############ +# Security # +############ + +%prod.kogito.auth.enabled=true +%prod.quarkus.oidc.enabled=true +%prod.quarkus.oidc.discovery-enabled=true +%prod.quarkus.oidc.auth-server-url=<TODO> +%prod.quarkus.oidc.client-id=<TODO> +%prod.quarkus.oidc.credentials.secret=<TODO> + +%prod.quarkus.oidc.application-type=service +%prod.quarkus.http.auth.permission.authenticated.paths=/* +%prod.quarkus.http.auth.permission.authenticated.policy=authenticated +%prod.quarkus.http.auth.permission.public.paths=/q/*,/docs/openapi.json +%prod.quarkus.http.auth.permission.public.policy=permit + +%prod.quarkus.http.cors=false +%prod.quarkus.http.cors.origins=<TODO> + +# Dev +%dev.kogito.auth.enabled=false +%dev.quarkus.oidc.enabled=false +%dev.quarkus.http.cors=true +%dev.quarkus.http.cors.origins=* + + + + +############ +# Services # +############ + +# These properties are residual from Distributed Architecture, where Data-Index, Data-Audit, +# and Jobs Service are external to the Kogito Runtime application. +# +# They are still necessary, but won't be anymore in future releases. + +kogito.service.url=http://0.0.0.0:8080 +kogito.jobs-service.url=http://0.0.0.0:8080 +kogito.data-index.url=http://0.0.0.0:8080 -# list of users for task console -quarkus.kogito-runtime-tools.users=jdoe,admin,user -quarkus.kogito-runtime-tools.users.admin.groups=admin -quarkus.kogito-runtime-tools.users.user.groups=user -quarkus.kogito-runtime-tools.users.jdoe.groups=user,admin,IT,HR -kogito.service.url=http://localhost:8080 -kogito.dataindex.http.url=http://localhost:8180 -kogito.dataindex.ws.url=ws://localhost:8180 +#################### +# Containerization # +#################### -# Maximum Java heap to be used during the native image generation -quarkus.native.native-image-xmx=6g +# Profile to pack the application into a container image. +# To use it run a Maven build with the `container` profile (-Pcontainer) -kafka.bootstrap.servers=localhost:9092 +%container.quarkus.container-image.build=true +%container.quarkus.container-image.push=false +%container.quarkus.container-image.group=${USER} +%container.quarkus.container-image.registry=dev.local +%container.quarkus.container-image.tag=${project.version} +%container.quarkus.container-image.name=<TODO> -## main transport -## metadata -#mp.messaging.outgoing.kogito-processinstances-events.bootstrap.servers=localhost:9092 -mp.messaging.outgoing.kogito-processinstances-events.connector=smallrye-kafka -mp.messaging.outgoing.kogito-processinstances-events.topic=kogito-processinstances-events -mp.messaging.outgoing.kogito-processinstances-events.value.serializer=org.apache.kafka.common.serialization.StringSerializer -#mp.messaging.outgoing.kogito-usertaskinstances-events.bootstrap.servers=localhost:9092 -mp.messaging.outgoing.kogito-usertaskinstances-events.connector=smallrye-kafka -mp.messaging.outgoing.kogito-usertaskinstances-events.topic=kogito-usertaskinstances-events -mp.messaging.outgoing.kogito-usertaskinstances-events.value.serializer=org.apache.kafka.common.serialization.StringSerializer +############# +# Misc. dev # +############# -#mp.messaging.outgoing.kogito-variables-events.bootstrap.servers=localhost:9092 -mp.messaging.outgoing.kogito-variables-events.connector=smallrye-kafka -mp.messaging.outgoing.kogito-variables-events.topic=kogito-variables-events -mp.messaging.outgoing.kogito-variables-events.value.serializer=org.apache.kafka.common.serialization.StringSerializer \ No newline at end of file +%dev.quarkus.smallrye-openapi.path=/docs/openapi.json +%dev.quarkus.http.test-port=0 +%dev.quarkus.dev-ui.cors.enabled=false +%dev.quarkus.swagger-ui.always-include=true +%dev.quarkus.kogito.data-index.graphql.ui.always-include=true \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
