The problem
I am using Quarkus Flow for HIL use cases, I think it would be great that at dev mode all the Kafka configuratoin could be set automatically. Basically the developer doesn't need to copy paste this:
####### Quarkus Flow
# Kafka
quarkus.flow.messaging.defaults-enabled=true
# Flow Engine Inbound CloudEvents (structured JSON)
# Needed by the emitJson method
mp.messaging.incoming.flow-in.connector=smallrye-kafka
mp.messaging.incoming.flow-in.topic=flow-in
mp.messaging.incoming.flow-in.value.deserializer=org.apache.kafka.common.serialization.ByteArrayDeserializer
mp.messaging.incoming.flow-in.key.deserializer=org.apache.kafka.common.serialization.StringDeserializer
# Flow Engine Outbound CloudEvents (structured JSON)
# Needed by the emitJson method
mp.messaging.outgoing.flow-out.connector=smallrye-kafka
mp.messaging.outgoing.flow-out.topic=flow-out
mp.messaging.outgoing.flow-out.value.serializer=org.apache.kafka.common.serialization.ByteArraySerializer
mp.messaging.outgoing.flow-out.key.serializer=org.apache.kafka.common.serialization.StringSerializer
# Flow Engine lifecycle events (useful for telemetry/auditing)
#Not necessary if the following flag is set to false.
quarkus.flow.messaging.lifecycle-enabled=true
mp.messaging.outgoing.flow-lifecycle-out.connector=smallrye-kafka
mp.messaging.outgoing.flow-lifecycle-out.topic=flow-lifecycle-out
mp.messaging.outgoing.flow-lifecycle-out.key.serializer=org.apache.kafka.common.serialization.StringSerializer
mp.messaging.outgoing.flow-lifecycle-out.value.serializer=org.apache.kafka.common.serialization.ByteArraySerializer
# Outgoing channel used by the Newsletter API resource
mp.messaging.outgoing.flow-in-outgoing.connector=smallrye-kafka
mp.messaging.outgoing.flow-in-outgoing.topic=flow-in
mp.messaging.outgoing.flow-in-outgoing.value.serializer=org.apache.kafka.common.serialization.ByteArraySerializer
mp.messaging.outgoing.flow-in-outgoing.key.serializer=org.apache.kafka.common.serialization.StringSerializer
# --- Kafka consumer for flow-out -> Newsletter WebSocket bridge ---
mp.messaging.incoming.flow-out-incoming.connector=smallrye-kafka
mp.messaging.incoming.flow-out-incoming.topic=flow-out
mp.messaging.incoming.flow-out-incoming.value.deserializer=org.apache.kafka.common.serialization.ByteArrayDeserializer
mp.messaging.incoming.flow-out-incoming.auto.offset.reset=earliest
# DEBUG events in the console
# quarkus.log.category."io.quarkiverse.flow.messaging".level=DEBUG
# Change to DEBUG to increase tracing
# quarkus.log.category."io.quarkiverse.flow".level=DEBUG
# Enabled it to increase tracing
quarkus.flow.tracing.enabled=true
quarkus.flow.devui.backend.storage.enabled=true
Proposed solution / API
For example you could do something like `quarkus.flow.devservices.kafka=true` and all these elements are added automatically.
Alternatives considered
No response
Area(s)
Impact & scope
I think the impact is minimal as no break-back compatibility issues, but could simplify a lot the onboarding process for developers willing to try Quarkus flow. Moreover, in case of this flag enabled it could print in the logs the used configuration so developers are aware of this.
The problem
I am using Quarkus Flow for HIL use cases, I think it would be great that at dev mode all the Kafka configuratoin could be set automatically. Basically the developer doesn't need to copy paste this:
Proposed solution / API
Alternatives considered
No response
Area(s)
Impact & scope
I think the impact is minimal as no break-back compatibility issues, but could simplify a lot the onboarding process for developers willing to try Quarkus flow. Moreover, in case of this flag enabled it could print in the logs the used configuration so developers are aware of this.