This is an automated email from the ASF dual-hosted git repository.
pefernan pushed a commit to branch main
in repository
https://gitbox.apache.org/repos/asf/incubator-kie-kogito-runtimes.git
The following commit(s) were added to refs/heads/main by this push:
new 67099cda9c [incubator-kie-issues#1983] Adapt the configurations in our
Quarkus extensions to use the new config mechanism (#4151)
67099cda9c is described below
commit 67099cda9c5e5bb3cfe7cd3f59be9b363fd685f7
Author: Pere Fernández <[email protected]>
AuthorDate: Thu Dec 18 16:14:00 2025 +0100
[incubator-kie-issues#1983] Adapt the configurations in our Quarkus
extensions to use the new config mechanism (#4151)
* [incubator-kie-issues#1983] Adapt the configurations in our Quarkus
extensions to use the new config mechanism
* - cleanup
* - naming suggestions
* - add missing config keys
* - fix naming
* - Fix static init config validation
* - Restore `TokenExpectation`
* - fix devservices
---
quarkus/addons/camel/deployment/pom.xml | 3 -
quarkus/addons/camel/runtime/pom.xml | 3 -
quarkus/addons/dynamic/deployment/pom.xml | 3 -
quarkus/addons/dynamic/runtime/pom.xml | 3 -
quarkus/addons/events/decisions/deployment/pom.xml | 3 -
quarkus/addons/events/mongodb/deployment/pom.xml | 3 -
.../addons/events/predictions/deployment/pom.xml | 3 -
.../KogitoAddOnEventProcessProcessor.java | 2 +-
quarkus/addons/events/process/runtime/pom.xml | 3 -
.../kogito/events/config/EventsRuntimeConfig.java | 64 ++++++++--------------
.../process/AbstractMessagingEventPublisher.java | 4 +-
.../GroupingMessagingEventPublisherTest.java | 3 +-
quarkus/addons/explainability/runtime/pom.xml | 3 -
.../deployment/pom.xml | 3 -
.../runtime/pom.xml | 3 -
quarkus/addons/flyway/deployment/pom.xml | 3 -
quarkus/addons/flyway/runtime/pom.xml | 3 -
.../flyway/quarkus/KieFlywayQuarkusRecorder.java | 6 +-
.../quarkus/KieFlywayQuarkusRuntimeConfig.java | 30 +++++-----
.../KieQuarkusFlywayNamedModuleConfig.java} | 19 +++----
quarkus/addons/jobs/messaging/deployment/pom.xml | 3 -
quarkus/addons/knative/eventing/deployment/pom.xml | 3 -
.../eventing/deployment/EventingConfiguration.java | 20 ++++---
.../KogitoAddOnKnativeEventingProcessor.java | 12 ++--
.../eventing/deployment/SinkConfiguration.java | 25 ++++-----
.../KogitoAddOnKnativeEventingProcessorTest.java | 29 +++++-----
quarkus/addons/knative/eventing/runtime/pom.xml | 3 -
quarkus/addons/knative/serving/deployment/pom.xml | 3 -
quarkus/addons/knative/serving/runtime/pom.xml | 3 -
.../deployment/pom.xml | 3 -
.../runtime/pom.xml | 3 -
.../addons/persistence/infinispan/runtime/pom.xml | 3 -
.../addons/persistence/postgresql/runtime/pom.xml | 3 -
quarkus/addons/persistence/rocksdb/runtime/pom.xml | 3 -
.../persistence/quarkus/rocksdb/RocksDbConfig.java | 9 +++
quarkus/addons/process-management/runtime/pom.xml | 3 -
quarkus/addons/source-files/runtime/pom.xml | 3 -
quarkus/addons/tracing-decision/deployment/pom.xml | 3 -
quarkus/addons/tracing-decision/runtime/pom.xml | 3 -
.../kogito-quarkus-decisions-deployment/pom.xml | 3 -
.../kogito-quarkus-decisions/pom.xml | 3 -
.../kogito-quarkus-common-deployment/pom.xml | 3 -
.../common/deployment/KogitoCommonProcessor.java | 8 +++
.../kogito-quarkus-common/pom.xml | 3 -
.../QuarkusIdentityProviderFactoryProducer.java | 4 +-
.../org/kie/kogito/quarkus/config/ConfigBean.java | 8 +--
.../quarkus/config/KogitoAuthRuntimeConfig.java | 13 +++--
.../quarkus/config/KogitoBuildTimeConfig.java | 39 ++++++++-----
.../config/KogitoEventingRuntimeConfig.java | 23 ++++----
.../kogito/quarkus/config/KogitoRuntimeConfig.java | 26 +++++----
...onfig.java => KogitoSmallryeConfigBuilder.java} | 28 ++++------
.../KogitoSmallryeConfigBuilderCustomizer.java | 42 ++++++++++++++
.../registry/ProcessDefinitionRegistration.java | 2 +-
...smallrye.config.SmallRyeConfigBuilderCustomizer | 20 +++++++
.../kogito-quarkus-deployment/pom.xml | 3 -
.../kogito-quarkus/pom.xml | 3 -
.../kogito-quarkus-predictions-deployment/pom.xml | 3 -
.../kogito-quarkus-predictions/pom.xml | 3 -
.../kogito-quarkus-processes-deployment/pom.xml | 3 -
.../deployment/KogitoDevServicesProcessor.java | 25 ++++++---
.../kogito-quarkus-processes/pom.xml | 3 -
.../kogito-quarkus-rules-deployment/pom.xml | 3 -
.../kogito-quarkus-rules/pom.xml | 3 -
.../pom.xml | 3 -
.../ServerlessWorkflowDevServicesProcessor.java | 26 ++++++---
.../src/main/resources/application.properties | 4 --
.../kogito-quarkus-serverless-workflow/pom.xml | 3 -
.../workflow/config/KogitoBuildTimeConfig.java | 12 ++--
.../workflow/config/KogitoRPCRuntimeConfig.java | 15 +++--
.../KogitoServerlessWorkflowBuildTimeConfig.java | 15 +++--
.../KogitoServerlessWorkflowRuntimeConfig.java | 12 ++--
.../pom.xml | 3 -
.../deployment/AbstractDevServicesProcessor.java | 23 +++++---
.../config/KogitoDevServicesBuildTimeConfig.java | 23 ++++----
.../config/KogitoWorkflowBuildTimeConfig.java | 18 +++---
.../config/KogitoPersistenceBuildTimeConfig.java | 15 +++--
.../config/KogitoPersistenceRuntimeConfig.java | 23 ++++----
.../config/KogitoWorkflowBuildTimeConfig.java | 18 +++---
.../config/KogitoWorkflowRuntimeConfig.java | 12 ++--
79 files changed, 394 insertions(+), 409 deletions(-)
diff --git a/quarkus/addons/camel/deployment/pom.xml
b/quarkus/addons/camel/deployment/pom.xml
index 7555c881a4..84f09a17f3 100644
--- a/quarkus/addons/camel/deployment/pom.xml
+++ b/quarkus/addons/camel/deployment/pom.xml
@@ -86,9 +86,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/quarkus/addons/camel/runtime/pom.xml
b/quarkus/addons/camel/runtime/pom.xml
index 53848a0561..a68826951b 100644
--- a/quarkus/addons/camel/runtime/pom.xml
+++ b/quarkus/addons/camel/runtime/pom.xml
@@ -90,9 +90,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/quarkus/addons/dynamic/deployment/pom.xml
b/quarkus/addons/dynamic/deployment/pom.xml
index aebebbe291..7c4332e4de 100644
--- a/quarkus/addons/dynamic/deployment/pom.xml
+++ b/quarkus/addons/dynamic/deployment/pom.xml
@@ -70,9 +70,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/quarkus/addons/dynamic/runtime/pom.xml
b/quarkus/addons/dynamic/runtime/pom.xml
index 560872c413..98c099d0d6 100644
--- a/quarkus/addons/dynamic/runtime/pom.xml
+++ b/quarkus/addons/dynamic/runtime/pom.xml
@@ -84,9 +84,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/quarkus/addons/events/decisions/deployment/pom.xml
b/quarkus/addons/events/decisions/deployment/pom.xml
index 41929a0882..75bd89b6dd 100644
--- a/quarkus/addons/events/decisions/deployment/pom.xml
+++ b/quarkus/addons/events/decisions/deployment/pom.xml
@@ -100,9 +100,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/quarkus/addons/events/mongodb/deployment/pom.xml
b/quarkus/addons/events/mongodb/deployment/pom.xml
index 54c4f1127d..3ab027deb0 100644
--- a/quarkus/addons/events/mongodb/deployment/pom.xml
+++ b/quarkus/addons/events/mongodb/deployment/pom.xml
@@ -75,9 +75,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/quarkus/addons/events/predictions/deployment/pom.xml
b/quarkus/addons/events/predictions/deployment/pom.xml
index 1d147c0220..e00606eb33 100644
--- a/quarkus/addons/events/predictions/deployment/pom.xml
+++ b/quarkus/addons/events/predictions/deployment/pom.xml
@@ -100,9 +100,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/quarkus/addons/events/process/deployment/src/main/java/org/kie/kogito/events/process/deployment/KogitoAddOnEventProcessProcessor.java
b/quarkus/addons/events/process/deployment/src/main/java/org/kie/kogito/events/process/deployment/KogitoAddOnEventProcessProcessor.java
index 09974979e7..236f3629ef 100644
---
a/quarkus/addons/events/process/deployment/src/main/java/org/kie/kogito/events/process/deployment/KogitoAddOnEventProcessProcessor.java
+++
b/quarkus/addons/events/process/deployment/src/main/java/org/kie/kogito/events/process/deployment/KogitoAddOnEventProcessProcessor.java
@@ -45,7 +45,7 @@ class KogitoAddOnEventProcessProcessor extends
OneOfCapabilityKogitoAddOnProcess
@BuildStep
void httpMessageDecorator(BuildProducer<AdditionalBeanBuildItem>
beanBuildItem, KogitoBuildTimeConfig buildTimeConfig,
KogitoBuildContextBuildItem kogitoContext) {
- if (buildTimeConfig.useCloudEvents &&
kogitoContext.getKogitoBuildContext().hasClassAvailable("io.quarkus.reactivemessaging.http.runtime.OutgoingHttpMetadata"))
{
+ if (buildTimeConfig.useCloudEvents() &&
kogitoContext.getKogitoBuildContext().hasClassAvailable("io.quarkus.reactivemessaging.http.runtime.OutgoingHttpMetadata"))
{
beanBuildItem.produce(AdditionalBeanBuildItem.builder().addBeanClass(CloudEventHttpOutgoingDecorator.class).setDefaultScope(DotNames.APPLICATION_SCOPED).build());
}
}
diff --git a/quarkus/addons/events/process/runtime/pom.xml
b/quarkus/addons/events/process/runtime/pom.xml
index b852f1149f..50ef92684c 100644
--- a/quarkus/addons/events/process/runtime/pom.xml
+++ b/quarkus/addons/events/process/runtime/pom.xml
@@ -134,9 +134,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/quarkus/addons/events/process/runtime/src/main/java/org/kie/kogito/events/config/EventsRuntimeConfig.java
b/quarkus/addons/events/process/runtime/src/main/java/org/kie/kogito/events/config/EventsRuntimeConfig.java
index d89e3c9132..93bbaa6abd 100644
---
a/quarkus/addons/events/process/runtime/src/main/java/org/kie/kogito/events/config/EventsRuntimeConfig.java
+++
b/quarkus/addons/events/process/runtime/src/main/java/org/kie/kogito/events/config/EventsRuntimeConfig.java
@@ -18,71 +18,55 @@
*/
package org.kie.kogito.events.config;
-import io.quarkus.runtime.annotations.ConfigItem;
import io.quarkus.runtime.annotations.ConfigPhase;
import io.quarkus.runtime.annotations.ConfigRoot;
+import io.smallrye.config.ConfigMapping;
+import io.smallrye.config.WithDefault;
+import io.smallrye.config.WithName;
-@ConfigRoot(prefix = "kogito", name = "events", phase = ConfigPhase.RUN_TIME)
-public class EventsRuntimeConfig {
+@ConfigRoot(phase = ConfigPhase.RUN_TIME)
+@ConfigMapping(prefix = "kogito.events")
+public interface EventsRuntimeConfig {
/**
* Enable publishing processes instances events
*/
- @ConfigItem(name = "processinstances.enabled", defaultValue = "true")
- boolean processInstancesEventsEnabled;
+ @WithName("processinstances.enabled")
+ @WithDefault("true")
+ boolean isProcessInstancesEventsEnabled();
/**
* Propagate errors for process instance emitter
*/
- @ConfigItem(name = "processinstances.errors.propagate", defaultValue =
"false")
- boolean processInstancesPropagate;
+ @WithName("processinstances.errors.propagate")
+ @WithDefault("false")
+ boolean isProcessInstancesPropagateError();
/**
* Enable publishing processes definition events
*/
- @ConfigItem(name = "processdefinitions.enabled", defaultValue = "true")
- boolean processDefinitionEventsEnabled;
+ @WithName("processdefinitions.enabled")
+ @WithDefault("true")
+ boolean isProcessDefinitionEventsEnabled();
/**
* Propagate errors for process definition emitter
*/
- @ConfigItem(name = "processdefinitions.errors.propagate", defaultValue =
"false")
- boolean processDefinitionPropagate;
+ @WithName("processdefinitions.errors.propagate")
+ @WithDefault("false")
+ boolean isProcessDefinitionsPropagateErrors();
/**
* Enable publishing user task instances events
*/
- @ConfigItem(name = "usertasks.enabled", defaultValue = "true")
- boolean userTasksEventsEnabled;
+ @WithName("usertasks.enabled")
+ @WithDefault("true")
+ boolean isUserTasksEventsEnabled();
/**
* Propagate errors for user task emitter
*/
- @ConfigItem(name = "usertasks.errors.propagate", defaultValue = "false")
- boolean userTasksPropagate;
-
- public boolean isProcessInstancesEventsEnabled() {
- return processInstancesEventsEnabled;
- }
-
- public boolean isProcessDefinitionEventsEnabled() {
- return processDefinitionEventsEnabled;
- }
-
- public boolean isUserTasksEventsEnabled() {
- return userTasksEventsEnabled;
- }
-
- public boolean isProcessInstancesPropagateError() {
- return processInstancesPropagate;
- }
-
- public boolean isProcessDefinitionPropagateError() {
- return processDefinitionPropagate;
- }
-
- public boolean isUserTasksPropagateError() {
- return userTasksPropagate;
- }
-
+ @WithName("usertasks.errors.propagate")
+ @WithDefault("false")
+ boolean isUserTasksPropagateError();
}
diff --git
a/quarkus/addons/events/process/runtime/src/main/java/org/kie/kogito/events/process/AbstractMessagingEventPublisher.java
b/quarkus/addons/events/process/runtime/src/main/java/org/kie/kogito/events/process/AbstractMessagingEventPublisher.java
index f8092c8357..88515230f1 100644
---
a/quarkus/addons/events/process/runtime/src/main/java/org/kie/kogito/events/process/AbstractMessagingEventPublisher.java
+++
b/quarkus/addons/events/process/runtime/src/main/java/org/kie/kogito/events/process/AbstractMessagingEventPublisher.java
@@ -77,9 +77,9 @@ public abstract class AbstractMessagingEventPublisher
implements EventPublisher
@PostConstruct
public void init() {
decoratorProvider = decoratorProviderInstance.isResolvable() ?
decoratorProviderInstance.get() : null;
- processDefinitionConsumer =
eventsRuntimeConfig.isProcessInstancesPropagateError() ? new
BlockingMessageEmitter(processDefinitionEventsEmitter,
PROCESS_DEFINITIONS_TOPIC_NAME)
+ processDefinitionConsumer =
eventsRuntimeConfig.isProcessDefinitionsPropagateErrors() ? new
BlockingMessageEmitter(processDefinitionEventsEmitter,
PROCESS_DEFINITIONS_TOPIC_NAME)
: new ReactiveMessageEmitter(processDefinitionEventsEmitter,
PROCESS_DEFINITIONS_TOPIC_NAME);
- processInstanceConsumer =
eventsRuntimeConfig.isProcessDefinitionPropagateError() ? new
BlockingMessageEmitter(processInstancesEventsEmitter,
PROCESS_INSTANCES_TOPIC_NAME)
+ processInstanceConsumer =
eventsRuntimeConfig.isProcessInstancesPropagateError() ? new
BlockingMessageEmitter(processInstancesEventsEmitter,
PROCESS_INSTANCES_TOPIC_NAME)
: new ReactiveMessageEmitter(processInstancesEventsEmitter,
PROCESS_INSTANCES_TOPIC_NAME);
userTaskConsumer = eventsRuntimeConfig.isUserTasksPropagateError() ?
new BlockingMessageEmitter(userTasksEventsEmitter,
USER_TASK_INSTANCES_TOPIC_NAME)
: new ReactiveMessageEmitter(userTasksEventsEmitter,
USER_TASK_INSTANCES_TOPIC_NAME);
diff --git
a/quarkus/addons/events/process/runtime/src/test/java/org/kie/kogito/events/process/GroupingMessagingEventPublisherTest.java
b/quarkus/addons/events/process/runtime/src/test/java/org/kie/kogito/events/process/GroupingMessagingEventPublisherTest.java
index 0d784d3a53..88f6ece9d5 100644
---
a/quarkus/addons/events/process/runtime/src/test/java/org/kie/kogito/events/process/GroupingMessagingEventPublisherTest.java
+++
b/quarkus/addons/events/process/runtime/src/test/java/org/kie/kogito/events/process/GroupingMessagingEventPublisherTest.java
@@ -32,7 +32,6 @@ import org.kie.kogito.event.process.ProcessInstanceDataEvent;
import org.kie.kogito.event.usertask.MultipleUserTaskInstanceDataEvent;
import org.kie.kogito.event.usertask.UserTaskInstanceDataEvent;
import org.kie.kogito.events.config.EventsRuntimeConfig;
-import
org.kie.kogito.events.process.AbstractMessagingEventPublisher.AbstractMessageEmitter;
import org.mockito.ArgumentCaptor;
import org.mockito.InjectMocks;
import org.mockito.Mock;
@@ -105,7 +104,7 @@ public class GroupingMessagingEventPublisherTest {
when(decoratorProviderInstance.get()).thenReturn(decoratorProvider);
when(eventsRuntimeConfig.isProcessInstancesPropagateError()).thenReturn(false);
-
when(eventsRuntimeConfig.isProcessDefinitionPropagateError()).thenReturn(false);
+
when(eventsRuntimeConfig.isProcessDefinitionsPropagateErrors()).thenReturn(false);
when(eventsRuntimeConfig.isUserTasksPropagateError()).thenReturn(false);
when(eventsRuntimeConfig.isProcessInstancesEventsEnabled()).thenReturn(true);
diff --git a/quarkus/addons/explainability/runtime/pom.xml
b/quarkus/addons/explainability/runtime/pom.xml
index f4d2cc1b61..5a36104b6b 100644
--- a/quarkus/addons/explainability/runtime/pom.xml
+++ b/quarkus/addons/explainability/runtime/pom.xml
@@ -116,9 +116,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
<plugin>
diff --git
a/quarkus/addons/fabric8-kubernetes-service-catalog/deployment/pom.xml
b/quarkus/addons/fabric8-kubernetes-service-catalog/deployment/pom.xml
index 7f847f9cde..4535fa8c29 100644
--- a/quarkus/addons/fabric8-kubernetes-service-catalog/deployment/pom.xml
+++ b/quarkus/addons/fabric8-kubernetes-service-catalog/deployment/pom.xml
@@ -63,9 +63,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/quarkus/addons/fabric8-kubernetes-service-catalog/runtime/pom.xml
b/quarkus/addons/fabric8-kubernetes-service-catalog/runtime/pom.xml
index aa10f07ed8..e2f9796aac 100644
--- a/quarkus/addons/fabric8-kubernetes-service-catalog/runtime/pom.xml
+++ b/quarkus/addons/fabric8-kubernetes-service-catalog/runtime/pom.xml
@@ -132,9 +132,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/quarkus/addons/flyway/deployment/pom.xml
b/quarkus/addons/flyway/deployment/pom.xml
index 78ecd5f5c9..92de0848b9 100644
--- a/quarkus/addons/flyway/deployment/pom.xml
+++ b/quarkus/addons/flyway/deployment/pom.xml
@@ -79,9 +79,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/quarkus/addons/flyway/runtime/pom.xml
b/quarkus/addons/flyway/runtime/pom.xml
index 0c26efeb76..ceac5d7301 100644
--- a/quarkus/addons/flyway/runtime/pom.xml
+++ b/quarkus/addons/flyway/runtime/pom.xml
@@ -90,9 +90,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieFlywayQuarkusRecorder.java
b/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieFlywayQuarkusRecorder.java
index f5dbb0dce8..60814d9f40 100644
---
a/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieFlywayQuarkusRecorder.java
+++
b/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieFlywayQuarkusRecorder.java
@@ -48,12 +48,12 @@ public class KieFlywayQuarkusRecorder {
KieFlywayQuarkusRuntimeConfig runtimeConfig = config.getValue();
- Collection<KieFlywayNamedModule> kieFlywayNamedModules =
runtimeConfig.modules.entrySet()
+ Collection<KieFlywayNamedModule> kieFlywayNamedModules =
runtimeConfig.modules().entrySet()
.stream()
- .map(entry -> new KieFlywayNamedModule(entry.getKey(),
entry.getValue().enabled))
+ .map(entry -> new KieFlywayNamedModule(entry.getKey(),
entry.getValue().enabled()))
.toList();
- KieFlywayRunnerConfiguration kieFlywayConfig = new
KieFlywayRunnerConfiguration(runtimeConfig.enabled, kieFlywayNamedModules);
+ KieFlywayRunnerConfiguration kieFlywayConfig = new
KieFlywayRunnerConfiguration(runtimeConfig.enabled(), kieFlywayNamedModules);
KieFlywayRunner.get(kieFlywayConfig)
.runFlyway(dataSource);
}
diff --git
a/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieFlywayQuarkusRuntimeConfig.java
b/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieFlywayQuarkusRuntimeConfig.java
index ae6e2ad70b..3f17dc7783 100644
---
a/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieFlywayQuarkusRuntimeConfig.java
+++
b/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieFlywayQuarkusRuntimeConfig.java
@@ -22,32 +22,28 @@ package org.kie.flyway.quarkus;
import java.util.Map;
import io.quarkus.runtime.annotations.*;
+import io.smallrye.config.ConfigMapping;
+import io.smallrye.config.WithDefault;
+import io.smallrye.config.WithParentName;
/**
* Configuration for the Kie Flyway initializer
*/
-@ConfigRoot(prefix = "kie", name = "flyway", phase = ConfigPhase.RUN_TIME)
-public class KieFlywayQuarkusRuntimeConfig {
+@ConfigRoot(phase = ConfigPhase.RUN_TIME)
+@ConfigMapping(prefix = "kie.flyway")
+public interface KieFlywayQuarkusRuntimeConfig {
/**
* Enables the execution of the Flyway initializer during the application
startup
*/
- @ConfigItem(name = "enabled", defaultValue = "false")
- boolean enabled;
+ @WithDefault("false")
+ boolean enabled();
/**
- * List of {@link KieQuarkusFlywayNamedModule} that allow to enable or
disable a given modul
+ * List of {@link KieQuarkusFlywayNamedModuleConfig} that allow to enable
or disable a given modul
*/
- @ConfigItem(name = "modules")
- Map<String, KieQuarkusFlywayNamedModule> modules;
-
- @ConfigGroup
- public static class KieQuarkusFlywayNamedModule {
-
- /**
- * Enables the execution of the Flyway initializer for a specific Kie
module
- */
- @ConfigItem(name = "enabled", defaultValue = "true")
- boolean enabled;
- }
+
+ @WithParentName
+ Map<String, KieQuarkusFlywayNamedModuleConfig> modules();
+
}
diff --git
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoServerlessWorkflowRuntimeConfig.java
b/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieQuarkusFlywayNamedModuleConfig.java
similarity index 66%
copy from
quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoServerlessWorkflowRuntimeConfig.java
copy to
quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieQuarkusFlywayNamedModuleConfig.java
index 544d8e363a..81e6bd3e4c 100644
---
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoServerlessWorkflowRuntimeConfig.java
+++
b/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieQuarkusFlywayNamedModuleConfig.java
@@ -16,19 +16,18 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.kie.kogito.quarkus.serverless.workflow.config;
-import io.quarkus.runtime.annotations.ConfigItem;
-import io.quarkus.runtime.annotations.ConfigPhase;
-import io.quarkus.runtime.annotations.ConfigRoot;
+package org.kie.flyway.quarkus;
-@ConfigRoot(name = "", phase = ConfigPhase.RUN_TIME, prefix = "kogito")
-public class KogitoServerlessWorkflowRuntimeConfig {
+import io.quarkus.runtime.annotations.ConfigGroup;
+import io.smallrye.config.WithDefault;
+
+@ConfigGroup
+public interface KieQuarkusFlywayNamedModuleConfig {
/**
- * grpc runtime configuration
+ * Enables the execution of the Flyway initializer for a specific Kie
module
*/
- @ConfigItem
- public KogitoRPCRuntimeConfig grpc;
-
+ @WithDefault("true")
+ boolean enabled();
}
diff --git a/quarkus/addons/jobs/messaging/deployment/pom.xml
b/quarkus/addons/jobs/messaging/deployment/pom.xml
index 5e1dff8429..1bfce0cd17 100644
--- a/quarkus/addons/jobs/messaging/deployment/pom.xml
+++ b/quarkus/addons/jobs/messaging/deployment/pom.xml
@@ -83,9 +83,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/quarkus/addons/knative/eventing/deployment/pom.xml
b/quarkus/addons/knative/eventing/deployment/pom.xml
index 52f4718aea..e315ad143d 100644
--- a/quarkus/addons/knative/eventing/deployment/pom.xml
+++ b/quarkus/addons/knative/eventing/deployment/pom.xml
@@ -106,9 +106,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/quarkus/addons/knative/eventing/deployment/src/main/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/EventingConfiguration.java
b/quarkus/addons/knative/eventing/deployment/src/main/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/EventingConfiguration.java
index 267ac8624b..22102a9150 100644
---
a/quarkus/addons/knative/eventing/deployment/src/main/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/EventingConfiguration.java
+++
b/quarkus/addons/knative/eventing/deployment/src/main/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/EventingConfiguration.java
@@ -18,12 +18,15 @@
*/
package org.kie.kogito.addons.quarkus.knative.eventing.deployment;
-import io.quarkus.runtime.annotations.ConfigItem;
import io.quarkus.runtime.annotations.ConfigPhase;
import io.quarkus.runtime.annotations.ConfigRoot;
+import io.smallrye.config.ConfigMapping;
+import io.smallrye.config.WithDefault;
+import io.smallrye.config.WithName;
-@ConfigRoot(prefix = "org.kie.kogito.addons.knative", name = "eventing", phase
= ConfigPhase.BUILD_TIME)
-public class EventingConfiguration {
+@ConfigRoot(phase = ConfigPhase.BUILD_TIME)
+@ConfigMapping(prefix = "org.kie.kogito.addons.knative.eventing")
+public interface EventingConfiguration {
/**
* Name of the default Knative Broker deployed in the target Knative
namespace.
@@ -31,8 +34,8 @@ public class EventingConfiguration {
* This broker is used as the reference to create the Knative Triggers
responsible
* to delegate the events that this Kogito service will consume.
*/
- @ConfigItem(defaultValue = "default")
- String broker;
+ @WithDefault("default")
+ String broker();
/**
* Whether the extension should generate a default Knative Broker in
memory to sink and dispatch the messages.
@@ -41,8 +44,9 @@ public class EventingConfiguration {
* Note that you can use `org.kie.kogito.addons.knative.eventing.sink.*`
to configure your custom Sink.
* If not defined, this auto generated Broker will work as the Sink.
*/
- @ConfigItem(defaultValue = "true")
- Boolean autoGenerateBroker;
+ @WithDefault("true")
+ Boolean autoGenerateBroker();
- SinkConfiguration sink;
+ @WithName("sink")
+ SinkConfiguration sinkConfig();
}
diff --git
a/quarkus/addons/knative/eventing/deployment/src/main/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/KogitoAddOnKnativeEventingProcessor.java
b/quarkus/addons/knative/eventing/deployment/src/main/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/KogitoAddOnKnativeEventingProcessor.java
index fad77d231d..05292bd223 100644
---
a/quarkus/addons/knative/eventing/deployment/src/main/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/KogitoAddOnKnativeEventingProcessor.java
+++
b/quarkus/addons/knative/eventing/deployment/src/main/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/KogitoAddOnKnativeEventingProcessor.java
@@ -127,7 +127,7 @@ public class KogitoAddOnKnativeEventingProcessor extends
AnyEngineKogitoAddOnPro
}
private Optional<Broker> generateBroker() {
- if (config.autoGenerateBroker) {
+ if (config.autoGenerateBroker()) {
LOGGER.warn("Generating in memory Knative Broke. Note that this
Broker is not meant for production usage!");
return Optional.of(new BrokerBuilder().withNewMetadata()
.withName(SinkConfiguration.DEFAULT_SINK_NAME)
@@ -147,10 +147,10 @@ public class KogitoAddOnKnativeEventingProcessor extends
AnyEngineKogitoAddOnPro
.withApiVersion(metadata.getDeployment().getApiVersion())
.endSubject()
.withNewSink().withNewRef()
- .withName(config.sink.name) // from properties
- .withApiVersion(config.sink.apiVersion)
- .withKind(config.sink.kind)
- .withNamespace(config.sink.namespace.orElse(""))
+ .withName(config.sinkConfig().name()) // from properties
+ .withApiVersion(config.sinkConfig().apiVersion())
+ .withKind(config.sinkConfig().kind())
+ .withNamespace(config.sinkConfig().namespace().orElse(""))
.endRef().endSink().endSpec()
.build());
}
@@ -168,7 +168,7 @@ public class KogitoAddOnKnativeEventingProcessor extends
AnyEngineKogitoAddOnPro
.withNewFilter()
.addToAttributes(Collections.singletonMap("type",
ce.getType()))
.endFilter()
- .withBroker(config.broker)
+ .withBroker(config.broker())
.withNewSubscriber()
.withNewRef()
.withKind(metadata.getDeployment().getKind())
diff --git
a/quarkus/addons/knative/eventing/deployment/src/main/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/SinkConfiguration.java
b/quarkus/addons/knative/eventing/deployment/src/main/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/SinkConfiguration.java
index 9389bdec1e..b1151b21ce 100644
---
a/quarkus/addons/knative/eventing/deployment/src/main/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/SinkConfiguration.java
+++
b/quarkus/addons/knative/eventing/deployment/src/main/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/SinkConfiguration.java
@@ -21,43 +21,42 @@ package
org.kie.kogito.addons.quarkus.knative.eventing.deployment;
import java.util.Optional;
import io.quarkus.runtime.annotations.ConfigGroup;
-import io.quarkus.runtime.annotations.ConfigItem;
+import io.smallrye.config.WithDefault;
@ConfigGroup
-public class SinkConfiguration {
+public interface SinkConfiguration {
- public static final String DEFAULT_SINK_API_VERSION =
"eventing.knative.dev/v1";
- public static final String DEFAULT_SINK_NAME = "default";
- public static final String DEFAULT_SINK_KIND = "Broker";
+ String DEFAULT_SINK_API_VERSION = "eventing.knative.dev/v1";
+ String DEFAULT_SINK_NAME = "default";
+ String DEFAULT_SINK_KIND = "Broker";
/**
* Namespace where the given Knative Sink is deployed.
* This sink is used to configure the "sink" property in the generated
Knative SinkBinding for this Kogito service.
*/
- @ConfigItem
- Optional<String> namespace;
+ Optional<String> namespace();
/**
* Kubernetes API Version of the given Knative Sink.
* <p>
* This sink is used to configure the "sink" property in the generated
Knative SinkBinding for this Kogito service.
*/
- @ConfigItem(defaultValue = DEFAULT_SINK_API_VERSION)
- String apiVersion;
+ @WithDefault(DEFAULT_SINK_API_VERSION)
+ String apiVersion();
/**
* Name of the given Knative Sink.
* <p>
* This sink is used to configure the "sink" property in the generated
Knative SinkBinding for this Kogito service.
*/
- @ConfigItem(defaultValue = DEFAULT_SINK_NAME)
- String name;
+ @WithDefault(DEFAULT_SINK_NAME)
+ String name();
/**
* Kubernetes Kind of the given Knative Sink.
* <p>
* This sink is used to configure the "sink" property in the generated
Knative SinkBinding for this Kogito service.
*/
- @ConfigItem(defaultValue = DEFAULT_SINK_KIND)
- String kind;
+ @WithDefault(DEFAULT_SINK_KIND)
+ String kind();
}
diff --git
a/quarkus/addons/knative/eventing/deployment/src/test/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/KogitoAddOnKnativeEventingProcessorTest.java
b/quarkus/addons/knative/eventing/deployment/src/test/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/KogitoAddOnKnativeEventingProcessorTest.java
index d3d9735fde..d53ab19e8f 100644
---
a/quarkus/addons/knative/eventing/deployment/src/test/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/KogitoAddOnKnativeEventingProcessorTest.java
+++
b/quarkus/addons/knative/eventing/deployment/src/test/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/KogitoAddOnKnativeEventingProcessorTest.java
@@ -44,11 +44,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static
org.kie.kogito.addons.quarkus.knative.eventing.KnativeEventingConfigSourceFactory.INCLUDE_PROCESS_EVENTS;
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.*;
class KogitoAddOnKnativeEventingProcessorTest {
@@ -181,16 +177,19 @@ class KogitoAddOnKnativeEventingProcessorTest {
private KogitoAddOnKnativeEventingProcessor
buildTestProcessorWithDefaultConfig() {
final KogitoAddOnKnativeEventingProcessor eventingProcessor = new
KogitoAddOnKnativeEventingProcessor();
- final SinkConfiguration sinkConfiguration = new SinkConfiguration();
- sinkConfiguration.apiVersion =
SinkConfiguration.DEFAULT_SINK_API_VERSION;
- sinkConfiguration.kind = SinkConfiguration.DEFAULT_SINK_KIND;
- sinkConfiguration.name = SinkConfiguration.DEFAULT_SINK_NAME;
- sinkConfiguration.namespace = Optional.empty();
-
- eventingProcessor.config = new EventingConfiguration();
- eventingProcessor.config.autoGenerateBroker = true;
- eventingProcessor.config.broker = "default";
- eventingProcessor.config.sink = sinkConfiguration;
+ final SinkConfiguration sinkConfiguration =
mock(SinkConfiguration.class);
+
+
when(sinkConfiguration.apiVersion()).thenReturn(SinkConfiguration.DEFAULT_SINK_API_VERSION);
+
when(sinkConfiguration.kind()).thenReturn(SinkConfiguration.DEFAULT_SINK_KIND);
+
when(sinkConfiguration.name()).thenReturn(SinkConfiguration.DEFAULT_SINK_NAME);
+ when(sinkConfiguration.namespace()).thenReturn(Optional.empty());
+
+ EventingConfiguration eventingConfiguration =
mock(EventingConfiguration.class);
+ when(eventingConfiguration.sinkConfig()).thenReturn(sinkConfiguration);
+ when(eventingConfiguration.autoGenerateBroker()).thenReturn(true);
+ when(eventingConfiguration.broker()).thenReturn("default");
+
+ eventingProcessor.config = eventingConfiguration;
return eventingProcessor;
}
diff --git a/quarkus/addons/knative/eventing/runtime/pom.xml
b/quarkus/addons/knative/eventing/runtime/pom.xml
index 1e8233ccd6..92bc7ce718 100644
--- a/quarkus/addons/knative/eventing/runtime/pom.xml
+++ b/quarkus/addons/knative/eventing/runtime/pom.xml
@@ -110,9 +110,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/quarkus/addons/knative/serving/deployment/pom.xml
b/quarkus/addons/knative/serving/deployment/pom.xml
index 206dd0bf6c..70b4e7f8c0 100644
--- a/quarkus/addons/knative/serving/deployment/pom.xml
+++ b/quarkus/addons/knative/serving/deployment/pom.xml
@@ -88,9 +88,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/quarkus/addons/knative/serving/runtime/pom.xml
b/quarkus/addons/knative/serving/runtime/pom.xml
index dbd62870bd..65e1c8d495 100644
--- a/quarkus/addons/knative/serving/runtime/pom.xml
+++ b/quarkus/addons/knative/serving/runtime/pom.xml
@@ -137,9 +137,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/quarkus/addons/microprofile-config-service-catalog/deployment/pom.xml
b/quarkus/addons/microprofile-config-service-catalog/deployment/pom.xml
index e45895e462..8223eba7f3 100644
--- a/quarkus/addons/microprofile-config-service-catalog/deployment/pom.xml
+++ b/quarkus/addons/microprofile-config-service-catalog/deployment/pom.xml
@@ -63,9 +63,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/quarkus/addons/microprofile-config-service-catalog/runtime/pom.xml
b/quarkus/addons/microprofile-config-service-catalog/runtime/pom.xml
index a5a3dc1591..089aa2507f 100644
--- a/quarkus/addons/microprofile-config-service-catalog/runtime/pom.xml
+++ b/quarkus/addons/microprofile-config-service-catalog/runtime/pom.xml
@@ -100,9 +100,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/quarkus/addons/persistence/infinispan/runtime/pom.xml
b/quarkus/addons/persistence/infinispan/runtime/pom.xml
index b91aa45677..4fc149b625 100644
--- a/quarkus/addons/persistence/infinispan/runtime/pom.xml
+++ b/quarkus/addons/persistence/infinispan/runtime/pom.xml
@@ -93,9 +93,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/quarkus/addons/persistence/postgresql/runtime/pom.xml
b/quarkus/addons/persistence/postgresql/runtime/pom.xml
index 2e89894d97..a2f11150fb 100644
--- a/quarkus/addons/persistence/postgresql/runtime/pom.xml
+++ b/quarkus/addons/persistence/postgresql/runtime/pom.xml
@@ -107,9 +107,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/quarkus/addons/persistence/rocksdb/runtime/pom.xml
b/quarkus/addons/persistence/rocksdb/runtime/pom.xml
index 4c15802769..1056cf7965 100644
--- a/quarkus/addons/persistence/rocksdb/runtime/pom.xml
+++ b/quarkus/addons/persistence/rocksdb/runtime/pom.xml
@@ -92,9 +92,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/quarkus/addons/persistence/rocksdb/runtime/src/main/java/org/kie/kogito/persistence/quarkus/rocksdb/RocksDbConfig.java
b/quarkus/addons/persistence/rocksdb/runtime/src/main/java/org/kie/kogito/persistence/quarkus/rocksdb/RocksDbConfig.java
index bb34589623..08ef6f776e 100644
---
a/quarkus/addons/persistence/rocksdb/runtime/src/main/java/org/kie/kogito/persistence/quarkus/rocksdb/RocksDbConfig.java
+++
b/quarkus/addons/persistence/rocksdb/runtime/src/main/java/org/kie/kogito/persistence/quarkus/rocksdb/RocksDbConfig.java
@@ -18,19 +18,28 @@
*/
package org.kie.kogito.persistence.quarkus.rocksdb;
+import io.quarkus.runtime.annotations.ConfigPhase;
+import io.quarkus.runtime.annotations.ConfigRoot;
import io.quarkus.runtime.annotations.StaticInitSafe;
import io.smallrye.config.ConfigMapping;
import io.smallrye.config.WithDefault;
import io.smallrye.config.WithName;
+@ConfigRoot(phase = ConfigPhase.RUN_TIME)
@ConfigMapping(prefix = "kogito.persistence.rocksdb")
@StaticInitSafe
public interface RocksDbConfig {
+ /**
+ * Sets DB data dir
+ */
@WithName("data.dir")
@WithDefault("rockdstemp")
String dataDir();
+ /**
+ * Clean DB data when shutting down application
+ */
@WithName("clean")
@WithDefault("false")
boolean destroyDB();
diff --git a/quarkus/addons/process-management/runtime/pom.xml
b/quarkus/addons/process-management/runtime/pom.xml
index dea3c6b06c..48161a444b 100644
--- a/quarkus/addons/process-management/runtime/pom.xml
+++ b/quarkus/addons/process-management/runtime/pom.xml
@@ -123,9 +123,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/quarkus/addons/source-files/runtime/pom.xml
b/quarkus/addons/source-files/runtime/pom.xml
index 24d5c00732..839ad0ee31 100644
--- a/quarkus/addons/source-files/runtime/pom.xml
+++ b/quarkus/addons/source-files/runtime/pom.xml
@@ -150,9 +150,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/quarkus/addons/tracing-decision/deployment/pom.xml
b/quarkus/addons/tracing-decision/deployment/pom.xml
index 85513b3b1f..2008d25cb5 100644
--- a/quarkus/addons/tracing-decision/deployment/pom.xml
+++ b/quarkus/addons/tracing-decision/deployment/pom.xml
@@ -97,9 +97,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/quarkus/addons/tracing-decision/runtime/pom.xml
b/quarkus/addons/tracing-decision/runtime/pom.xml
index a61c8a6546..0e26a01b73 100644
--- a/quarkus/addons/tracing-decision/runtime/pom.xml
+++ b/quarkus/addons/tracing-decision/runtime/pom.xml
@@ -146,9 +146,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
<plugin>
diff --git
a/quarkus/extensions/kogito-quarkus-decisions-extension/kogito-quarkus-decisions-deployment/pom.xml
b/quarkus/extensions/kogito-quarkus-decisions-extension/kogito-quarkus-decisions-deployment/pom.xml
index 1641e6acca..bc91f46e92 100644
---
a/quarkus/extensions/kogito-quarkus-decisions-extension/kogito-quarkus-decisions-deployment/pom.xml
+++
b/quarkus/extensions/kogito-quarkus-decisions-extension/kogito-quarkus-decisions-deployment/pom.xml
@@ -66,9 +66,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/quarkus/extensions/kogito-quarkus-decisions-extension/kogito-quarkus-decisions/pom.xml
b/quarkus/extensions/kogito-quarkus-decisions-extension/kogito-quarkus-decisions/pom.xml
index 75bde690f0..14bdfbb77c 100644
---
a/quarkus/extensions/kogito-quarkus-decisions-extension/kogito-quarkus-decisions/pom.xml
+++
b/quarkus/extensions/kogito-quarkus-decisions-extension/kogito-quarkus-decisions/pom.xml
@@ -123,9 +123,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
<plugin>
diff --git
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common-deployment/pom.xml
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common-deployment/pom.xml
index 05f984341f..ba9c2a0903 100644
---
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common-deployment/pom.xml
+++
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common-deployment/pom.xml
@@ -157,9 +157,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common-deployment/src/main/java/org/kie/kogito/quarkus/common/deployment/KogitoCommonProcessor.java
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common-deployment/src/main/java/org/kie/kogito/quarkus/common/deployment/KogitoCommonProcessor.java
index 7f9a2ff464..dc06afa54b 100644
---
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common-deployment/src/main/java/org/kie/kogito/quarkus/common/deployment/KogitoCommonProcessor.java
+++
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common-deployment/src/main/java/org/kie/kogito/quarkus/common/deployment/KogitoCommonProcessor.java
@@ -20,10 +20,13 @@ package org.kie.kogito.quarkus.common.deployment;
import org.kie.internal.services.KieRuntimesImpl;
import org.kie.internal.services.KieWeaversImpl;
+import org.kie.kogito.quarkus.config.KogitoSmallryeConfigBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.StaticInitConfigBuilderBuildItem;
import
io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem;
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
@@ -66,4 +69,9 @@ public class KogitoCommonProcessor {
logger.debug("kieWeaversImplReflectiveClass()");
return new ReflectiveClassBuildItem(true, true, KieWeaversImpl.class);
}
+
+ @BuildStep
+ public void kogitoConfig(BuildProducer<StaticInitConfigBuilderBuildItem>
staticInitConfigBuilder) {
+ staticInitConfigBuilder.produce(new
StaticInitConfigBuilderBuildItem(KogitoSmallryeConfigBuilder.class));
+ }
}
diff --git
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/pom.xml
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/pom.xml
index 157f57a7ea..9de10bb129 100644
---
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/pom.xml
+++
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/pom.xml
@@ -117,9 +117,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
<plugin>
diff --git
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/auth/QuarkusIdentityProviderFactoryProducer.java
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/auth/QuarkusIdentityProviderFactoryProducer.java
index ea33b3b6b8..fab3b04a50 100644
---
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/auth/QuarkusIdentityProviderFactoryProducer.java
+++
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/auth/QuarkusIdentityProviderFactoryProducer.java
@@ -49,8 +49,8 @@ public class QuarkusIdentityProviderFactoryProducer {
@Produces
public IdentityProviderFactory get() {
- String[] rolesThatAllowImpersonation =
config.authConfig.rolesThatAllowImpersonation.map(value ->
value.split(",")).orElse(new String[] {});
+ String[] rolesThatAllowImpersonation =
config.authConfig().rolesThatAllowImpersonation().map(value ->
value.split(",")).orElse(new String[] {});
- return new IdentityProviderFactoryImpl(identityProvider, new
KogitoAuthConfig(config.authConfig.enabled,
List.of(rolesThatAllowImpersonation)));
+ return new IdentityProviderFactoryImpl(identityProvider, new
KogitoAuthConfig(config.authConfig().enabled(),
List.of(rolesThatAllowImpersonation)));
}
}
diff --git
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/ConfigBean.java
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/ConfigBean.java
index 8a3d3ac660..34441d9123 100644
---
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/ConfigBean.java
+++
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/ConfigBean.java
@@ -44,12 +44,12 @@ public class ConfigBean extends StaticConfigBean {
@Override
public String getServiceUrl() {
- return runtimeConfig.get().serviceUrl.orElse("");
+ return runtimeConfig.get().serviceUrl().orElse("");
}
@Override
public short processInstanceLimit() {
- return runtimeConfig.get().processInstanceLimit;
+ return runtimeConfig.get().processInstanceLimit();
}
@Override
@@ -59,11 +59,11 @@ public class ConfigBean extends StaticConfigBean {
@Override
public boolean failOnEmptyBean() {
- return buildTimeConfig.get().failOnEmptyBean;
+ return buildTimeConfig.get().failOnEmptyBean();
}
@Override
public boolean useCloudEvents() {
- return buildTimeConfig.get().useCloudEvents;
+ return buildTimeConfig.get().useCloudEvents();
}
}
diff --git
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoAuthRuntimeConfig.java
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoAuthRuntimeConfig.java
index 917439b188..e667f7aff9 100644
---
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoAuthRuntimeConfig.java
+++
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoAuthRuntimeConfig.java
@@ -22,20 +22,21 @@ package org.kie.kogito.quarkus.config;
import java.util.Optional;
import io.quarkus.runtime.annotations.ConfigGroup;
-import io.quarkus.runtime.annotations.ConfigItem;
+import io.smallrye.config.WithDefault;
+import io.smallrye.config.WithName;
@ConfigGroup
-public class KogitoAuthRuntimeConfig {
+public interface KogitoAuthRuntimeConfig {
/**
* Enables using the application security context when resolving current
User Identity.
*/
- @ConfigItem(name = "enabled", defaultValue = "false")
- public boolean enabled;
+ @WithDefault("false")
+ boolean enabled();
/**
* Comma-separated list of roles that allow identity impersonation when
resolving the actual User Identity.
*/
- @ConfigItem(name = "impersonation.allowed-for-roles")
- public Optional<String> rolesThatAllowImpersonation;
+ @WithName("impersonation.allowed-for-roles")
+ Optional<String> rolesThatAllowImpersonation();
}
diff --git
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoBuildTimeConfig.java
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoBuildTimeConfig.java
index 06248a700f..9de1a4781f 100644
---
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoBuildTimeConfig.java
+++
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoBuildTimeConfig.java
@@ -18,54 +18,63 @@
*/
package org.kie.kogito.quarkus.config;
-import io.quarkus.runtime.annotations.ConfigItem;
import io.quarkus.runtime.annotations.ConfigPhase;
import io.quarkus.runtime.annotations.ConfigRoot;
+import io.smallrye.config.ConfigMapping;
+import io.smallrye.config.WithDefault;
+import io.smallrye.config.WithName;
-@ConfigRoot(name = "", phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED, prefix =
"kogito")
-public class KogitoBuildTimeConfig {
+@ConfigRoot(phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED)
+@ConfigMapping(prefix = "kogito")
+public interface KogitoBuildTimeConfig {
/**
* If this is enabled the service will use Cloud Events
* <p>
* If not defined, true will be used.
*/
- @ConfigItem(name = "messaging.as-cloudevents", defaultValue = "true")
- public Boolean useCloudEvents;
+ @WithName("messaging.as-cloudevents")
+ @WithDefault("true")
+ Boolean useCloudEvents();
/**
* If this property is True, Jackson will fail on an empty bean
* <p>
* If not defined, false will be used.
*/
- @ConfigItem(name = "jackson.fail-on-empty-bean", defaultValue = "false")
- public Boolean failOnEmptyBean;
+ @WithName("jackson.fail-on-empty-bean")
+ @WithDefault("false")
+ Boolean failOnEmptyBean();
/**
* Incoming channel default name
*/
- @ConfigItem(name = "addon.messaging.incoming.defaultName", defaultValue =
"kogito_incoming_stream")
- public String incomingChannelDefaultName;
+ @WithName("addon.messaging.incoming.defaultName")
+ @WithDefault("kogito_incoming_stream")
+ String incomingChannelDefaultName();
/**
* Outgoing channel default name
*/
- @ConfigItem(name = "addon.messaging.outgoing.defaultName", defaultValue =
"kogito_outgoing_stream")
- public String outgoingChannelDefaultName;
+ @WithName("addon.messaging.outgoing.defaultName")
+ @WithDefault("kogito_outgoing_stream")
+ String outgoingChannelDefaultName();
/**
* Whether to ignore hidden files when collecting files for code generation
* <p>
* If not defined, true will be used.
*/
- @ConfigItem(name = "codegen.ignoreHiddenFiles", defaultValue = "true")
- public Boolean ignoreHiddenFiles;
+ @WithName("codegen.ignoreHiddenFiles")
+ @WithDefault("true")
+ Boolean ignoreHiddenFiles();
/**
* Whether to fail when there are parsing/validation errors of process
assets
* <p>
* If not defined, true will be used.
*/
- @ConfigItem(name = "codegen.process.failOnError", defaultValue = "true")
- public Boolean failOnError;
+ @WithName("codegen.process.failOnError")
+ @WithDefault("true")
+ Boolean failOnError();
}
diff --git
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoEventingRuntimeConfig.java
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoEventingRuntimeConfig.java
index cbe1f9ed5a..b6402115ea 100644
---
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoEventingRuntimeConfig.java
+++
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoEventingRuntimeConfig.java
@@ -19,25 +19,28 @@
package org.kie.kogito.quarkus.config;
import io.quarkus.runtime.annotations.ConfigGroup;
-import io.quarkus.runtime.annotations.ConfigItem;
+import io.smallrye.config.WithDefault;
+import io.smallrye.config.WithName;
@ConfigGroup
-public class KogitoEventingRuntimeConfig {
+public interface KogitoEventingRuntimeConfig {
- private static final String MAX_THREADS_PROPERTY = "threads.poolSize";
- private static final String DEFAULT_MAX_THREADS = "10";
- private static final String DEFAULT_QUEUE_SIZE = "1";
- private static final String QUEUE_SIZE_PROPERTY = "threads.queueSize";
+ String MAX_THREADS_PROPERTY = "threads.poolSize";
+ String DEFAULT_MAX_THREADS = "10";
+ String DEFAULT_QUEUE_SIZE = "1";
+ String QUEUE_SIZE_PROPERTY = "threads.queueSize";
/**
* Maximum number of threads to handle incoming events by channel
*/
- @ConfigItem(name = MAX_THREADS_PROPERTY, defaultValue =
DEFAULT_MAX_THREADS)
- public int maxThreads;
+ @WithName(MAX_THREADS_PROPERTY)
+ @WithDefault(DEFAULT_MAX_THREADS)
+ int maxThreads();
/**
* Maximum size of queue to hold incoming events to be processed by
threads in the pool
*/
- @ConfigItem(name = QUEUE_SIZE_PROPERTY, defaultValue = DEFAULT_QUEUE_SIZE)
- public int queueSize;
+ @WithName(QUEUE_SIZE_PROPERTY)
+ @WithDefault(DEFAULT_QUEUE_SIZE)
+ int queueSize();
}
diff --git
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoRuntimeConfig.java
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoRuntimeConfig.java
index 451eae92a0..e0c889a8ee 100644
---
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoRuntimeConfig.java
+++
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoRuntimeConfig.java
@@ -20,35 +20,39 @@ package org.kie.kogito.quarkus.config;
import java.util.Optional;
-import io.quarkus.runtime.annotations.ConfigItem;
import io.quarkus.runtime.annotations.ConfigPhase;
import io.quarkus.runtime.annotations.ConfigRoot;
+import io.smallrye.config.ConfigMapping;
+import io.smallrye.config.WithDefault;
+import io.smallrye.config.WithName;
-@ConfigRoot(name = "", phase = ConfigPhase.RUN_TIME, prefix = "kogito")
-public class KogitoRuntimeConfig {
+@ConfigRoot(phase = ConfigPhase.RUN_TIME)
+@ConfigMapping(prefix = "kogito")
+public interface KogitoRuntimeConfig {
/**
* The service URL needed to connect to the runtime endpoint from outside
the service.
* <p>
*/
- @ConfigItem(name = "service.url")
- public Optional<String> serviceUrl;
+ @WithName("service.url")
+ Optional<String> serviceUrl();
/**
* Eventing runtime configuration
*/
- @ConfigItem(name = "quarkus.events")
- public KogitoEventingRuntimeConfig eventingConfig;
+ @WithName("quarkus.events")
+ KogitoEventingRuntimeConfig eventingConfig();
/**
* Maximum number of process instance to be returned by GET api
*/
- @ConfigItem(name = "process.instances.limit", defaultValue = "1000")
- public short processInstanceLimit;
+ @WithName("process.instances.limit")
+ @WithDefault("1000")
+ short processInstanceLimit();
/**
* Auth Configuration
*/
- @ConfigItem(name = "security.auth")
- public KogitoAuthRuntimeConfig authConfig;
+ @WithName("security.auth")
+ KogitoAuthRuntimeConfig authConfig();
}
diff --git
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoAuthRuntimeConfig.java
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoSmallryeConfigBuilder.java
similarity index 57%
copy from
quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoAuthRuntimeConfig.java
copy to
quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoSmallryeConfigBuilder.java
index 917439b188..09e30b13b1 100644
---
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoAuthRuntimeConfig.java
+++
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoSmallryeConfigBuilder.java
@@ -16,26 +16,20 @@
* specific language governing permissions and limitations
* under the License.
*/
-
package org.kie.kogito.quarkus.config;
-import java.util.Optional;
-
-import io.quarkus.runtime.annotations.ConfigGroup;
-import io.quarkus.runtime.annotations.ConfigItem;
+import io.quarkus.runtime.configuration.ConfigBuilder;
+import io.smallrye.config.SmallRyeConfigBuilder;
-@ConfigGroup
-public class KogitoAuthRuntimeConfig {
+import static
org.kie.kogito.quarkus.config.KogitoSmallryeConfigBuilderCustomizer.configureSmallRyeConfigBuilder;
- /**
- * Enables using the application security context when resolving current
User Identity.
- */
- @ConfigItem(name = "enabled", defaultValue = "false")
- public boolean enabled;
+/**
+ * {@link ConfigBuilder} to ensure that Smallrye config validation passes when
there are kogito-related properties not mapped to a config root.
+ */
+public class KogitoSmallryeConfigBuilder implements ConfigBuilder {
- /**
- * Comma-separated list of roles that allow identity impersonation when
resolving the actual User Identity.
- */
- @ConfigItem(name = "impersonation.allowed-for-roles")
- public Optional<String> rolesThatAllowImpersonation;
+ @Override
+ public SmallRyeConfigBuilder configBuilder(SmallRyeConfigBuilder builder) {
+ return configureSmallRyeConfigBuilder(builder);
+ }
}
diff --git
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoSmallryeConfigBuilderCustomizer.java
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoSmallryeConfigBuilderCustomizer.java
new file mode 100644
index 0000000000..f2242dbc9d
--- /dev/null
+++
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoSmallryeConfigBuilderCustomizer.java
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ */
+package org.kie.kogito.quarkus.config;
+
+import io.smallrye.config.SmallRyeConfigBuilder;
+import io.smallrye.config.SmallRyeConfigBuilderCustomizer;
+
+/**
+ * {@link SmallRyeConfigBuilderCustomizer} to ensure that Smallrye config
validation passes when there are kogito-related properties not mapped to a
config root.
+ */
+public class KogitoSmallryeConfigBuilderCustomizer implements
SmallRyeConfigBuilderCustomizer {
+
+ @Override
+ public void configBuilder(SmallRyeConfigBuilder builder) {
+ // Align with quarkus to avoid the validation issue when we have
runtime and build-time configs in the same
+ // namespace.
https://github.com/quarkusio/quarkus/blob/265a4328f8195d9c2ef4fbf32f41eb23253479b7/core/runtime/src/main/java/io/quarkus/runtime/configuration/QuarkusConfigBuilderCustomizer.java#L113
+ configureSmallRyeConfigBuilder(builder);
+ }
+
+ static SmallRyeConfigBuilder
configureSmallRyeConfigBuilder(SmallRyeConfigBuilder builder) {
+ return builder.withMappingIgnore("kogito.**")
+ .withMappingIgnore("kie.**")
+ .withMappingIgnore("jbpm.**")
+ .withMappingIgnore("org.kie.**");
+ }
+}
diff --git
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/registry/ProcessDefinitionRegistration.java
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/registry/ProcessDefinitionRegistration.java
index 56ce82e0ed..6b7770867f 100644
---
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/registry/ProcessDefinitionRegistration.java
+++
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/registry/ProcessDefinitionRegistration.java
@@ -44,7 +44,7 @@ public class ProcessDefinitionRegistration {
public ProcessDefinitionRegistration(Instance<Application> application,
KogitoRuntimeConfig runtimeConfig, Instance<Processes> processes,
Instance<SourceFilesProvider> sourceFilesProvider) {
this.processes = processes;
this.processDefinitionRegistry =
- new ProcessDefinitionEventRegistry(application.isResolvable()
? application.get() : (new StaticApplication()),
runtimeConfig.serviceUrl.orElse(null),
+ new ProcessDefinitionEventRegistry(application.isResolvable()
? application.get() : (new StaticApplication()),
runtimeConfig.serviceUrl().orElse(null),
sourceFilesProvider.isResolvable() ?
Optional.of(sourceFilesProvider.get()) : Optional.empty());
}
diff --git
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/resources/META-INF/services/io.smallrye.config.SmallRyeConfigBuilderCustomizer
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/resources/META-INF/services/io.smallrye.config.SmallRyeConfigBuilderCustomizer
new file mode 100644
index 0000000000..c9c4841237
--- /dev/null
+++
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/resources/META-INF/services/io.smallrye.config.SmallRyeConfigBuilderCustomizer
@@ -0,0 +1,20 @@
+#
+# 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.
+#
+
+org.kie.kogito.quarkus.config.KogitoSmallryeConfigBuilderCustomizer
\ No newline at end of file
diff --git
a/quarkus/extensions/kogito-quarkus-extension/kogito-quarkus-deployment/pom.xml
b/quarkus/extensions/kogito-quarkus-extension/kogito-quarkus-deployment/pom.xml
index fdb9a76aa5..8d524df2b2 100644
---
a/quarkus/extensions/kogito-quarkus-extension/kogito-quarkus-deployment/pom.xml
+++
b/quarkus/extensions/kogito-quarkus-extension/kogito-quarkus-deployment/pom.xml
@@ -95,9 +95,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/quarkus/extensions/kogito-quarkus-extension/kogito-quarkus/pom.xml
b/quarkus/extensions/kogito-quarkus-extension/kogito-quarkus/pom.xml
index 7b8669038f..60e22aff45 100644
--- a/quarkus/extensions/kogito-quarkus-extension/kogito-quarkus/pom.xml
+++ b/quarkus/extensions/kogito-quarkus-extension/kogito-quarkus/pom.xml
@@ -99,9 +99,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/quarkus/extensions/kogito-quarkus-predictions-extension/kogito-quarkus-predictions-deployment/pom.xml
b/quarkus/extensions/kogito-quarkus-predictions-extension/kogito-quarkus-predictions-deployment/pom.xml
index ac0e449905..0008e0846f 100644
---
a/quarkus/extensions/kogito-quarkus-predictions-extension/kogito-quarkus-predictions-deployment/pom.xml
+++
b/quarkus/extensions/kogito-quarkus-predictions-extension/kogito-quarkus-predictions-deployment/pom.xml
@@ -66,9 +66,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/quarkus/extensions/kogito-quarkus-predictions-extension/kogito-quarkus-predictions/pom.xml
b/quarkus/extensions/kogito-quarkus-predictions-extension/kogito-quarkus-predictions/pom.xml
index f7432541b9..4680bc3036 100644
---
a/quarkus/extensions/kogito-quarkus-predictions-extension/kogito-quarkus-predictions/pom.xml
+++
b/quarkus/extensions/kogito-quarkus-predictions-extension/kogito-quarkus-predictions/pom.xml
@@ -95,9 +95,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
<plugin>
diff --git
a/quarkus/extensions/kogito-quarkus-processes-extension/kogito-quarkus-processes-deployment/pom.xml
b/quarkus/extensions/kogito-quarkus-processes-extension/kogito-quarkus-processes-deployment/pom.xml
index 0ec1d2bfc4..33b504e642 100644
---
a/quarkus/extensions/kogito-quarkus-processes-extension/kogito-quarkus-processes-deployment/pom.xml
+++
b/quarkus/extensions/kogito-quarkus-processes-extension/kogito-quarkus-processes-deployment/pom.xml
@@ -87,9 +87,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/quarkus/extensions/kogito-quarkus-processes-extension/kogito-quarkus-processes-deployment/src/main/java/org/kie/kogito/quarkus/processes/deployment/KogitoDevServicesProcessor.java
b/quarkus/extensions/kogito-quarkus-processes-extension/kogito-quarkus-processes-deployment/src/main/java/org/kie/kogito/quarkus/processes/deployment/KogitoDevServicesProcessor.java
index 51e9b5b090..82d8324e0d 100644
---
a/quarkus/extensions/kogito-quarkus-processes-extension/kogito-quarkus-processes-deployment/src/main/java/org/kie/kogito/quarkus/processes/deployment/KogitoDevServicesProcessor.java
+++
b/quarkus/extensions/kogito-quarkus-processes-extension/kogito-quarkus-processes-deployment/src/main/java/org/kie/kogito/quarkus/processes/deployment/KogitoDevServicesProcessor.java
@@ -24,6 +24,8 @@ import java.util.Optional;
import org.kie.kogito.quarkus.processes.devservices.DevModeWorkflowLogger;
import org.kie.kogito.quarkus.workflow.deployment.AbstractDevServicesProcessor;
import
org.kie.kogito.quarkus.workflow.deployment.config.KogitoWorkflowBuildTimeConfig;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import io.quarkus.arc.deployment.AdditionalBeanBuildItem;
import io.quarkus.arc.processor.DotNames;
@@ -33,7 +35,7 @@ import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.builditem.LaunchModeBuildItem;
import io.quarkus.deployment.builditem.SystemPropertyBuildItem;
-import io.quarkus.deployment.dev.devservices.GlobalDevServicesConfig;
+import io.quarkus.deployment.dev.devservices.DevServicesConfig;
import io.quarkus.devui.spi.page.CardPageBuildItem;
import io.quarkus.devui.spi.page.Page;
@@ -44,6 +46,8 @@ import static
org.kie.kogito.quarkus.workflow.devservices.DataIndexEventPublishe
*/
public class KogitoDevServicesProcessor extends AbstractDevServicesProcessor {
+ private static final Logger LOGGER =
LoggerFactory.getLogger(KogitoDevServicesProcessor.class);
+
@BuildStep
public void logger(BuildProducer<AdditionalBeanBuildItem> additionalBean,
LaunchModeBuildItem launchMode, KogitoWorkflowBuildTimeConfig config) {
if (shouldInclude(launchMode, config)) {
@@ -51,15 +55,21 @@ public class KogitoDevServicesProcessor extends
AbstractDevServicesProcessor {
}
}
- @BuildStep(onlyIf = { GlobalDevServicesConfig.Enabled.class,
IsDevelopment.class })
- CardPageBuildItem createDataIndexDevUILink(Capabilities capabilities,
+ @BuildStep(onlyIf = { DevServicesConfig.Enabled.class, IsDevelopment.class
})
+ void createDataIndexDevUILink(BuildProducer<CardPageBuildItem>
cardsProducer,
+ Capabilities capabilities,
KogitoWorkflowBuildTimeConfig kogitoBuildTimeConfig,
List<SystemPropertyBuildItem> systemPropertyBuildItems) {
+ if (!kogitoBuildTimeConfig.devServicesConfig().enabled()) {
+ LOGGER.info("Kogito DevServices are disabled. Skipping Dev UI Card
initialization");
+ return;
+ }
+
Optional<String> dataIndexUrlProp =
getProperty(systemPropertyBuildItems, KOGITO_DATA_INDEX);
- if (capabilities.isPresent(DATA_INDEX_CAPABILITY) ||
!areDevServicesEnabled(kogitoBuildTimeConfig) || dataIndexUrlProp.isEmpty()) {
- return null;
+ if (capabilities.isPresent(DATA_INDEX_CAPABILITY) ||
dataIndexUrlProp.isEmpty()) {
+ return;
}
CardPageBuildItem cardPageBuildItem = new CardPageBuildItem();
@@ -67,10 +77,7 @@ public class KogitoDevServicesProcessor extends
AbstractDevServicesProcessor {
.url(dataIndexUrlProp.get() + "/q/graphql-ui/")
.isHtmlContent()
.icon("font-awesome-solid:signs-post"));
- return cardPageBuildItem;
- }
- private boolean areDevServicesEnabled(KogitoWorkflowBuildTimeConfig
kogitoBuildTimeConfig) {
- return kogitoBuildTimeConfig.devservices.enabled.orElse(true);
+ cardsProducer.produce(cardPageBuildItem);
}
}
diff --git
a/quarkus/extensions/kogito-quarkus-processes-extension/kogito-quarkus-processes/pom.xml
b/quarkus/extensions/kogito-quarkus-processes-extension/kogito-quarkus-processes/pom.xml
index e3aaeb3909..6f608fe111 100644
---
a/quarkus/extensions/kogito-quarkus-processes-extension/kogito-quarkus-processes/pom.xml
+++
b/quarkus/extensions/kogito-quarkus-processes-extension/kogito-quarkus-processes/pom.xml
@@ -98,9 +98,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/quarkus/extensions/kogito-quarkus-rules-extension/kogito-quarkus-rules-deployment/pom.xml
b/quarkus/extensions/kogito-quarkus-rules-extension/kogito-quarkus-rules-deployment/pom.xml
index 31a223d470..3336f6660c 100644
---
a/quarkus/extensions/kogito-quarkus-rules-extension/kogito-quarkus-rules-deployment/pom.xml
+++
b/quarkus/extensions/kogito-quarkus-rules-extension/kogito-quarkus-rules-deployment/pom.xml
@@ -89,9 +89,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/quarkus/extensions/kogito-quarkus-rules-extension/kogito-quarkus-rules/pom.xml
b/quarkus/extensions/kogito-quarkus-rules-extension/kogito-quarkus-rules/pom.xml
index bd51924497..ec86ffab09 100644
---
a/quarkus/extensions/kogito-quarkus-rules-extension/kogito-quarkus-rules/pom.xml
+++
b/quarkus/extensions/kogito-quarkus-rules-extension/kogito-quarkus-rules/pom.xml
@@ -98,9 +98,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
<plugin>
diff --git
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/pom.xml
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/pom.xml
index 60f019ae86..5e08af4189 100644
---
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/pom.xml
+++
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/pom.xml
@@ -128,9 +128,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/ServerlessWorkflowDevServicesProcessor.java
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/ServerlessWorkflowDevServicesProcessor.java
index 31d86e51a5..704c431e3d 100644
---
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/ServerlessWorkflowDevServicesProcessor.java
+++
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/ServerlessWorkflowDevServicesProcessor.java
@@ -24,6 +24,8 @@ import java.util.Optional;
import org.kie.kogito.quarkus.workflow.deployment.AbstractDevServicesProcessor;
import
org.kie.kogito.quarkus.workflow.deployment.config.KogitoWorkflowBuildTimeConfig;
import
org.kie.kogito.serverless.workflow.devservices.DevModeServerlessWorkflowLogger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import io.quarkus.arc.deployment.AdditionalBeanBuildItem;
import io.quarkus.arc.processor.DotNames;
@@ -33,13 +35,16 @@ import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.builditem.LaunchModeBuildItem;
import io.quarkus.deployment.builditem.SystemPropertyBuildItem;
-import io.quarkus.deployment.dev.devservices.GlobalDevServicesConfig;
+import io.quarkus.deployment.dev.devservices.DevServicesConfig;
import io.quarkus.devui.spi.page.CardPageBuildItem;
import io.quarkus.devui.spi.page.Page;
import static
org.kie.kogito.quarkus.workflow.devservices.DataIndexEventPublisher.KOGITO_DATA_INDEX;
public class ServerlessWorkflowDevServicesProcessor extends
AbstractDevServicesProcessor {
+
+ private static final Logger LOGGER =
LoggerFactory.getLogger(ServerlessWorkflowDevServicesProcessor.class);
+
@BuildStep
public void logger(BuildProducer<AdditionalBeanBuildItem> additionalBean,
LaunchModeBuildItem launchMode, KogitoWorkflowBuildTimeConfig config) {
if (shouldInclude(launchMode, config)) {
@@ -47,15 +52,21 @@ public class ServerlessWorkflowDevServicesProcessor extends
AbstractDevServicesP
}
}
- @BuildStep(onlyIf = { GlobalDevServicesConfig.Enabled.class,
IsDevelopment.class })
- CardPageBuildItem createDataIndexDevUILink(Capabilities capabilities,
+ @BuildStep(onlyIf = { DevServicesConfig.Enabled.class, IsDevelopment.class
})
+ void createDataIndexDevUILink(BuildProducer<CardPageBuildItem>
cardsProducer,
+ Capabilities capabilities,
KogitoWorkflowBuildTimeConfig kogitoBuildTimeConfig,
List<SystemPropertyBuildItem> systemPropertyBuildItems) {
+ if (!kogitoBuildTimeConfig.devServicesConfig().enabled()) {
+ LOGGER.info("Kogito DevServices are disabled. Skipping Dev UI Card
initialization");
+ return;
+ }
+
Optional<String> dataIndexUrlProp =
getProperty(systemPropertyBuildItems, KOGITO_DATA_INDEX);
- if (capabilities.isPresent(DATA_INDEX_CAPABILITY) ||
!areDevServicesEnabled(kogitoBuildTimeConfig) || dataIndexUrlProp.isEmpty()) {
- return null;
+ if (capabilities.isPresent(DATA_INDEX_CAPABILITY) ||
dataIndexUrlProp.isEmpty()) {
+ return;
}
CardPageBuildItem cardPageBuildItem = new CardPageBuildItem();
@@ -63,10 +74,7 @@ public class ServerlessWorkflowDevServicesProcessor extends
AbstractDevServicesP
.url(dataIndexUrlProp.get() + "/q/graphql-ui/")
.isHtmlContent()
.icon("font-awesome-solid:signs-post"));
- return cardPageBuildItem;
- }
- private boolean areDevServicesEnabled(KogitoWorkflowBuildTimeConfig
kogitoBuildTimeConfig) {
- return kogitoBuildTimeConfig.devservices.enabled.orElse(true);
+ cardsProducer.produce(cardPageBuildItem);
}
}
diff --git
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-integration-test/src/main/resources/application.properties
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-integration-test/src/main/resources/application.properties
index 2d342f7cd9..2dd9f51926 100644
---
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-integration-test/src/main/resources/application.properties
+++
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-integration-test/src/main/resources/application.properties
@@ -72,10 +72,6 @@ kogito.addon.messaging.unmarshaller.quiet=java
mp.messaging.incoming.never.connector=quarkus-http
mp.messaging.incoming.never.path=/never
-
-mp.messaging.incoming.eventTimeout1.connector=quarkus-http
-mp.messaging.incoming.eventTimeout1.path=/eventTimeout1
-
mp.messaging.incoming.eventTimeout1.connector=quarkus-http
mp.messaging.incoming.eventTimeout1.path=/eventTimeout1
diff --git
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/pom.xml
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/pom.xml
index b4fd204ce0..73d8daa5c0 100644
---
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/pom.xml
+++
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/pom.xml
@@ -179,9 +179,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoBuildTimeConfig.java
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoBuildTimeConfig.java
index 82ed922a10..501ba4dbb1 100644
---
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoBuildTimeConfig.java
+++
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoBuildTimeConfig.java
@@ -18,16 +18,18 @@
*/
package org.kie.kogito.quarkus.serverless.workflow.config;
-import io.quarkus.runtime.annotations.ConfigItem;
import io.quarkus.runtime.annotations.ConfigPhase;
import io.quarkus.runtime.annotations.ConfigRoot;
+import io.smallrye.config.ConfigMapping;
+import io.smallrye.config.WithName;
-@ConfigRoot(name = "", phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED, prefix =
"kogito")
-public class KogitoBuildTimeConfig {
+@ConfigRoot(phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED)
+@ConfigMapping(prefix = "kogito")
+public interface KogitoBuildTimeConfig {
/**
* Serverless Workflow build time configuration
*/
- @ConfigItem
- public KogitoServerlessWorkflowBuildTimeConfig sw;
+ @WithName("sw")
+ KogitoServerlessWorkflowBuildTimeConfig swConfig();
}
diff --git
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoRPCRuntimeConfig.java
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoRPCRuntimeConfig.java
index 3d20303fa5..6dad23046b 100644
---
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoRPCRuntimeConfig.java
+++
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoRPCRuntimeConfig.java
@@ -19,22 +19,25 @@
package org.kie.kogito.quarkus.serverless.workflow.config;
import io.quarkus.runtime.annotations.ConfigGroup;
-import io.quarkus.runtime.annotations.ConfigItem;
+import io.smallrye.config.WithDefault;
+import io.smallrye.config.WithName;
@ConfigGroup
-public class KogitoRPCRuntimeConfig {
+public interface KogitoRPCRuntimeConfig {
/**
* Indicates if default value of enumerations should be included in grpc
response
*
*/
- @ConfigItem(name = "enum.includeDefault", defaultValue = "false")
- public boolean enumDefault;
+ @WithName("enum.includeDefault")
+ @WithDefault("false")
+ boolean enumDefault();
/**
* Time to wait for response from server when using streams
*
*/
- @ConfigItem(name = "stream.timeout", defaultValue = "20")
- public int streamTimeout;
+ @WithName("stream.timeout")
+ @WithDefault("20")
+ int streamTimeout();
}
diff --git
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoServerlessWorkflowBuildTimeConfig.java
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoServerlessWorkflowBuildTimeConfig.java
index b65d47b847..9e6b53a612 100644
---
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoServerlessWorkflowBuildTimeConfig.java
+++
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoServerlessWorkflowBuildTimeConfig.java
@@ -19,10 +19,11 @@
package org.kie.kogito.quarkus.serverless.workflow.config;
import io.quarkus.runtime.annotations.ConfigGroup;
-import io.quarkus.runtime.annotations.ConfigItem;
+import io.smallrye.config.WithDefault;
+import io.smallrye.config.WithName;
@ConfigGroup
-public class KogitoServerlessWorkflowBuildTimeConfig {
+public interface KogitoServerlessWorkflowBuildTimeConfig {
/**
* Strategy for generating the configuration key of open API
specifications.<br>
@@ -34,13 +35,15 @@ public class KogitoServerlessWorkflowBuildTimeConfig {
* <LI>function_name. Uses the function name</LI>
* </UL>
*/
- @ConfigItem(name = "operationIdStrategy", defaultValue = "file_name")
- public String operationIdStrategy;
+ @WithName("operationIdStrategy")
+ @WithDefault("file_name")
+ String operationIdStrategy();
/**
* Variable name for foreach loop
*/
- @ConfigItem(name = "states.foreach.outputVarName", defaultValue =
"_swf_eval_temp")
- public String forEachOutputVarName;
+ @WithName("states.foreach.outputVarName")
+ @WithDefault("_swf_eval_temp")
+ String forEachOutputVarName();
}
diff --git
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoServerlessWorkflowRuntimeConfig.java
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoServerlessWorkflowRuntimeConfig.java
index 544d8e363a..64f6ba0379 100644
---
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoServerlessWorkflowRuntimeConfig.java
+++
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoServerlessWorkflowRuntimeConfig.java
@@ -18,17 +18,19 @@
*/
package org.kie.kogito.quarkus.serverless.workflow.config;
-import io.quarkus.runtime.annotations.ConfigItem;
import io.quarkus.runtime.annotations.ConfigPhase;
import io.quarkus.runtime.annotations.ConfigRoot;
+import io.smallrye.config.ConfigMapping;
+import io.smallrye.config.WithName;
-@ConfigRoot(name = "", phase = ConfigPhase.RUN_TIME, prefix = "kogito")
-public class KogitoServerlessWorkflowRuntimeConfig {
+@ConfigRoot(phase = ConfigPhase.RUN_TIME)
+@ConfigMapping(prefix = "kogito")
+public interface KogitoServerlessWorkflowRuntimeConfig {
/**
* grpc runtime configuration
*/
- @ConfigItem
- public KogitoRPCRuntimeConfig grpc;
+ @WithName("grpc")
+ KogitoRPCRuntimeConfig grpcConfig();
}
diff --git
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/pom.xml
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/pom.xml
index ddb5c70ca8..cf9e3b9ea6 100644
---
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/pom.xml
+++
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/pom.xml
@@ -95,9 +95,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/src/main/java/org/kie/kogito/quarkus/workflow/deployment/AbstractDevServicesProcessor.java
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/src/main/java/org/kie/kogito/quarkus/workflow/deployment/AbstractDevServicesProcessor.java
index 7517da1c86..635fe68a29 100644
---
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/src/main/java/org/kie/kogito/quarkus/workflow/deployment/AbstractDevServicesProcessor.java
+++
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/src/main/java/org/kie/kogito/quarkus/workflow/deployment/AbstractDevServicesProcessor.java
@@ -47,7 +47,7 @@ import io.quarkus.deployment.builditem.LaunchModeBuildItem;
import io.quarkus.deployment.builditem.SystemPropertyBuildItem;
import io.quarkus.deployment.console.ConsoleInstalledBuildItem;
import io.quarkus.deployment.console.StartupLogCompressor;
-import io.quarkus.deployment.dev.devservices.GlobalDevServicesConfig;
+import io.quarkus.deployment.dev.devservices.DevServicesConfig;
import io.quarkus.deployment.logging.LoggingSetupBuildItem;
import io.quarkus.devservices.common.ConfigureUtil;
import io.quarkus.devservices.common.ContainerAddress;
@@ -68,7 +68,7 @@ public abstract class AbstractDevServicesProcessor {
private final IsDockerWorking isDockerWorking = new IsDockerWorking(true);
protected static boolean shouldInclude(LaunchModeBuildItem launchMode,
KogitoWorkflowBuildTimeConfig config) {
- return launchMode.getLaunchMode().isDevOrTest() ||
config.alwaysInclude;
+ return launchMode.getLaunchMode().isDevOrTest() ||
config.alwaysInclude();
}
protected Optional<String> getProperty(List<SystemPropertyBuildItem>
systemPropertyBuildItems, String propertyKey) {
@@ -77,7 +77,7 @@ public abstract class AbstractDevServicesProcessor {
.map(SystemPropertyBuildItem::getValue);
}
- @BuildStep(onlyIf = { GlobalDevServicesConfig.Enabled.class,
IsDevelopment.class })
+ @BuildStep(onlyIf = { DevServicesConfig.Enabled.class, IsDevelopment.class
})
public void startDataIndexDevService(
BuildProducer<AdditionalBeanBuildItem> additionalBean,
BuildProducer<SystemPropertyBuildItem> systemProperties,
@@ -90,6 +90,11 @@ public abstract class AbstractDevServicesProcessor {
LoggingSetupBuildItem loggingSetup,
Capabilities capabilities) {
+ if (!buildTimeConfig.devServicesConfig().enabled()) {
+ LOGGER.info("Kogito DevServices are disabled. Skipping Ephemeral
DataIndex container initialization.");
+ return;
+ }
+
DataIndexDevServiceConfig configuration =
getConfiguration(buildTimeConfig);
if (capabilities.isMissing(DATA_INDEX_CAPABILITY) &&
configuration.devServicesEnabled && isDockerWorking.getAsBoolean()) {
@@ -209,7 +214,7 @@ public abstract class AbstractDevServicesProcessor {
}
private DataIndexDevServiceConfig
getConfiguration(KogitoWorkflowBuildTimeConfig cfg) {
- KogitoDevServicesBuildTimeConfig devServicesConfig = cfg.devservices;
+ KogitoDevServicesBuildTimeConfig devServicesConfig =
cfg.devServicesConfig();
return new DataIndexDevServiceConfig(devServicesConfig);
}
@@ -244,16 +249,16 @@ public abstract class AbstractDevServicesProcessor {
private final String serviceName;
public DataIndexDevServiceConfig(KogitoDevServicesBuildTimeConfig
config) {
- this.devServicesEnabled = config.enabled.orElse(true);
+ this.devServicesEnabled = config.enabled();
//TODO Revert to ConfigureUtil.getDefaultImageNameFor
- this.imageName =
config.imageName.map(DockerImageName::parse).orElseGet(() -> {
+ this.imageName =
config.imageName().map(DockerImageName::parse).orElseGet(() -> {
String defaultImageName =
ConfigureUtil.getDefaultImageNameFor("data-index");
return DockerImageName.parse(defaultImageName);
});
this.imageName.assertValid();
- this.fixedExposedPort = config.port.orElse(0);
- this.shared = config.shared;
- this.serviceName = config.serviceName;
+ this.fixedExposedPort = config.port().orElse(0);
+ this.shared = config.shared();
+ this.serviceName = config.serviceName();
}
@Override
diff --git
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/src/main/java/org/kie/kogito/quarkus/workflow/deployment/config/KogitoDevServicesBuildTimeConfig.java
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/src/main/java/org/kie/kogito/quarkus/workflow/deployment/config/KogitoDevServicesBuildTimeConfig.java
index dcd9a98e2c..e996b76c04 100644
---
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/src/main/java/org/kie/kogito/quarkus/workflow/deployment/config/KogitoDevServicesBuildTimeConfig.java
+++
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/src/main/java/org/kie/kogito/quarkus/workflow/deployment/config/KogitoDevServicesBuildTimeConfig.java
@@ -21,31 +21,30 @@ package org.kie.kogito.quarkus.workflow.deployment.config;
import java.util.Optional;
import io.quarkus.runtime.annotations.ConfigGroup;
-import io.quarkus.runtime.annotations.ConfigItem;
+import io.smallrye.config.WithDefault;
@ConfigGroup
-public class KogitoDevServicesBuildTimeConfig {
+public interface KogitoDevServicesBuildTimeConfig {
/**
* If Dev Services for Kogito has been explicitly enabled or disabled. Dev
Services are generally enabled
* by default, unless there is an existing configuration present.
*/
- @ConfigItem
- public Optional<Boolean> enabled = Optional.empty();
+ @WithDefault("true")
+ Boolean enabled();
/**
* Optional fixed port the dev service will listen to.
* <p>
* If not defined, 8180 will be used.
*/
- @ConfigItem(defaultValue = "8180")
- public Optional<Integer> port;
+ @WithDefault("8180")
+ Optional<Integer> port();
/**
* The Data Index image to use.
*/
- @ConfigItem
- public Optional<String> imageName;
+ Optional<String> imageName();
/**
* Indicates if the Data Index instance managed by Quarkus Dev Services is
shared.
@@ -58,8 +57,8 @@ public class KogitoDevServicesBuildTimeConfig {
* <p>
* Container sharing is only used in dev mode.
*/
- @ConfigItem(defaultValue = "true")
- public boolean shared;
+ @WithDefault("true")
+ boolean shared();
/**
* The value of the {@code kogito-dev-service-data-index} label attached
to the started container.
@@ -69,7 +68,7 @@ public class KogitoDevServicesBuildTimeConfig {
* set to the configured value. If found, it will use this container
instead of starting a new one. Otherwise, it
* starts a new container with the {@code kogito-dev-service-data-index}
label set to the specified value.
*/
- @ConfigItem(defaultValue = "kogito-data-index")
- public String serviceName;
+ @WithDefault("kogito-data-index")
+ String serviceName();
}
diff --git
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/src/main/java/org/kie/kogito/quarkus/workflow/deployment/config/KogitoWorkflowBuildTimeConfig.java
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/src/main/java/org/kie/kogito/quarkus/workflow/deployment/config/KogitoWorkflowBuildTimeConfig.java
index a5a74fd905..58c3760955 100644
---
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/src/main/java/org/kie/kogito/quarkus/workflow/deployment/config/KogitoWorkflowBuildTimeConfig.java
+++
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/src/main/java/org/kie/kogito/quarkus/workflow/deployment/config/KogitoWorkflowBuildTimeConfig.java
@@ -18,24 +18,28 @@
*/
package org.kie.kogito.quarkus.workflow.deployment.config;
-import io.quarkus.runtime.annotations.ConfigItem;
import io.quarkus.runtime.annotations.ConfigPhase;
import io.quarkus.runtime.annotations.ConfigRoot;
+import io.smallrye.config.ConfigMapping;
+import io.smallrye.config.WithDefault;
+import io.smallrye.config.WithName;
-@ConfigRoot(name = "kogito", phase = ConfigPhase.BUILD_TIME)
-public class KogitoWorkflowBuildTimeConfig {
+@ConfigRoot(phase = ConfigPhase.BUILD_TIME)
+@ConfigMapping(prefix = "quarkus.kogito")
+public interface KogitoWorkflowBuildTimeConfig {
/**
* Configuration for DevServices. DevServices allows Quarkus to
automatically start Data Index in dev and test mode.
*/
- @ConfigItem
- public KogitoDevServicesBuildTimeConfig devservices;
+ @WithName("devservices")
+ KogitoDevServicesBuildTimeConfig devServicesConfig();
/**
* Always include the Workflow debug logger. By default, this will only be
included in dev and test.
* Setting this to true will also include the Workflow debug logger in Prod
*/
- @ConfigItem(name = "logger.always-include", defaultValue = "false")
- public boolean alwaysInclude;
+ @WithName("logger.always-include")
+ @WithDefault("false")
+ boolean alwaysInclude();
}
diff --git
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoPersistenceBuildTimeConfig.java
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoPersistenceBuildTimeConfig.java
index 45bb42ac46..a85942ae7c 100644
---
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoPersistenceBuildTimeConfig.java
+++
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoPersistenceBuildTimeConfig.java
@@ -19,21 +19,24 @@
package org.kie.kogito.quarkus.workflow.config;
import io.quarkus.runtime.annotations.ConfigGroup;
-import io.quarkus.runtime.annotations.ConfigItem;
+import io.smallrye.config.WithDefault;
+import io.smallrye.config.WithName;
@ConfigGroup
-public class KogitoPersistenceBuildTimeConfig {
+public interface KogitoPersistenceBuildTimeConfig {
/**
* Generate Protobuf marshallers for runtime
*/
- @ConfigItem(name = "proto.marshaller", defaultValue = "true")
- public boolean runtimeProtoMarshaller;
+ @WithName("proto.marshaller")
+ @WithDefault("true")
+ boolean runtimeProtoMarshaller();
/**
* Generate Protobuf marshallers for Data Index
*/
- @ConfigItem(name = "data-index.proto.generation", defaultValue = "true")
- public boolean dataIndexProtoMarshaller;
+ @WithName("data-index.proto.generation")
+ @WithDefault("true")
+ boolean dataIndexProtoMarshaller();
}
diff --git
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoPersistenceRuntimeConfig.java
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoPersistenceRuntimeConfig.java
index 0b770590de..90d64ee976 100644
---
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoPersistenceRuntimeConfig.java
+++
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoPersistenceRuntimeConfig.java
@@ -21,33 +21,36 @@ package org.kie.kogito.quarkus.workflow.config;
import java.util.Optional;
import io.quarkus.runtime.annotations.ConfigGroup;
-import io.quarkus.runtime.annotations.ConfigItem;
+import io.smallrye.config.WithDefault;
+import io.smallrye.config.WithName;
@ConfigGroup
-public class KogitoPersistenceRuntimeConfig {
+public interface KogitoPersistenceRuntimeConfig {
/**
* Persistence DB type
*/
- @ConfigItem
- public Optional<PersistenceType> type;
+ Optional<PersistenceType> type();
/**
* Automatically apply database schema changes
*/
- @ConfigItem(name = "auto.ddl", defaultValue = "true")
- public boolean autoDDL;
+ @WithName("auto.ddl")
+ @WithDefault("true")
+ boolean autoDDL();
/**
* Use optimistic locking
*/
- @ConfigItem(name = "optimistic.lock", defaultValue = "false")
- public boolean optimisticLock;
+ @WithName("optimistic.lock")
+ @WithDefault("false")
+ boolean optimisticLock();
/**
* Query execution timeout
*/
- @ConfigItem(name = "query.timeout.millis", defaultValue = "10000")
- public long queryTimeout;
+ @WithName("query.timeout.millis")
+ @WithDefault("10000")
+ long queryTimeout();
}
diff --git
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoWorkflowBuildTimeConfig.java
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoWorkflowBuildTimeConfig.java
index fa8dae35e6..537fa77205 100644
---
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoWorkflowBuildTimeConfig.java
+++
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoWorkflowBuildTimeConfig.java
@@ -18,23 +18,27 @@
*/
package org.kie.kogito.quarkus.workflow.config;
-import io.quarkus.runtime.annotations.ConfigItem;
import io.quarkus.runtime.annotations.ConfigPhase;
import io.quarkus.runtime.annotations.ConfigRoot;
+import io.smallrye.config.ConfigMapping;
+import io.smallrye.config.WithDefault;
+import io.smallrye.config.WithName;
-@ConfigRoot(name = "", phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED, prefix =
"kogito")
-public class KogitoWorkflowBuildTimeConfig {
+@ConfigRoot(phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED)
+@ConfigMapping(prefix = "kogito")
+public interface KogitoWorkflowBuildTimeConfig {
/**
* Strategy to resolve a Process version to use
*/
- @ConfigItem(name = "workflow.version-strategy", defaultValue = "workflow")
- public String versionStrategy;
+ @WithName("workflow.version-strategy")
+ @WithDefault("workflow")
+ String versionStrategy();
/**
* Persistence build time configuration
*/
- @ConfigItem
- public KogitoPersistenceBuildTimeConfig persistence;
+ @WithName("persistence")
+ KogitoPersistenceBuildTimeConfig persistenceConfig();
}
diff --git
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoWorkflowRuntimeConfig.java
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoWorkflowRuntimeConfig.java
index 4f13ee9a71..acdd2281e4 100644
---
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoWorkflowRuntimeConfig.java
+++
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoWorkflowRuntimeConfig.java
@@ -18,17 +18,19 @@
*/
package org.kie.kogito.quarkus.workflow.config;
-import io.quarkus.runtime.annotations.ConfigItem;
import io.quarkus.runtime.annotations.ConfigPhase;
import io.quarkus.runtime.annotations.ConfigRoot;
+import io.smallrye.config.ConfigMapping;
+import io.smallrye.config.WithName;
-@ConfigRoot(name = "", phase = ConfigPhase.RUN_TIME, prefix = "kogito")
-public class KogitoWorkflowRuntimeConfig {
+@ConfigRoot(phase = ConfigPhase.RUN_TIME)
+@ConfigMapping(prefix = "kogito")
+public interface KogitoWorkflowRuntimeConfig {
/**
* Persistence runtime configuration
*/
- @ConfigItem
- public KogitoPersistenceRuntimeConfig persistence;
+ @WithName("persistence")
+ public KogitoPersistenceRuntimeConfig persistenceConfig();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]