So reading the extension guide, I found this:"The most useful configuration options should be exposed as quarkus.[extension]. instead of the natural namespace of the library. Less common properties can live in the library namespace."Based on that I could see having just a few props prefixed with "quarkus.kafka-streams. ..." (and those would be runtime configurable), and the (open-ended) remainder under "kafka-streams. ..." (a rebuild would be required for changes). Would that make sense? It's a bit blurry where to draw the line, but it seems that'd be the prescribed way for Quarkus.I'll proceed along these unless I hear about objections.
--
You received this message because you are subscribed to the Google Groups "Quarkus Development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to quarkus-dev...@googlegroups.com.
Visit this group at https://groups.google.com/group/quarkus-dev.
To view this discussion on the web visit https://groups.google.com/d/msgid/quarkus-dev/b9d5414c-6e5e-4008-9c92-4d5a67854dc6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Quarkus Development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to quarkus-dev...@googlegroups.com.
Visit this group at https://groups.google.com/group/quarkus-dev.
To view this discussion on the web visit https://groups.google.com/d/msgid/quarkus-dev/CADGJaX8ETVOpPPhvf61YySj3-%3DbehV5Rng0%3D1AhMdWZ1_JdMjA%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "Quarkus Development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to quarkus-dev...@googlegroups.com.
Visit this group at https://groups.google.com/group/quarkus-dev.
To view this discussion on the web visit https://groups.google.com/d/msgid/quarkus-dev/b9d5414c-6e5e-4008-9c92-4d5a67854dc6%40googlegroups.com.
On Mon, Jul 1, 2019 at 8:59 AM Emmanuel Bernard <eber...@redhat.com> wrote:
>
> Right so I think we have a bit fuzzy on what should land under quarkus.extension.* vs going outside.
> Plus we do have exceptions like MicroProfile which defines some rules.
> On top of that we said no no to pass through properties so far
>
> So I was wondering if we could bring some rationality to this. Here is a proposal.
>
> 1. most common properties are exposed as quarkus.extension
> a. a benefit is that these properties will be documented, prepopulated in the application.properties and at some point autocompletable
> 2. as much as we can quarkus.extension.* properties should be build time and not runtime (that's the extension job)
This needs some nuance. We do want as much heavy lifting as possible
to be done during build time, and failing that, during static init;
but once that is done, we also should maximize the number of
properties that are run time configurable, because every property that
is run time configurable means one less reason to make the user
rebuild. So if the cost of having a given property be run time
configurable is minimal to none, it should be run time configurable.
In other words I would be cautious about documenting the assumption
that maximizing what is done at build time includes making config
properties build time only, because that is not always true. For a
concrete example, we could hard-code the thread pool sizes at build
time, but the amount of overhead of making them run time configurable
is almost nil and so it doesn't really make sense to force them into
build time.
> 3. for more complex properties or pass through properties, we encourage extension to use project.* properties (e.g. kafka-streams.*
I would strengthen the wording: I think the extension developer should
make every effort to use `quarkus.*`-namespaced properties for *all*
features. The only reason an extension should be using other
namespaces would be if they're facing a hard compatibility requirement
or a specification requirement IMO.
On Mon, Jul 1, 2019 at 8:59 AM Emmanuel Bernard <eber...@redhat.com> wrote:
> 3. for more complex properties or pass through properties, we encourage extension to use project.* properties (e.g. kafka-streams.*
I would strengthen the wording: I think the extension developer should
make every effort to use `quarkus.*`-namespaced properties for *all*
features. The only reason an extension should be using other
namespaces would be if they're facing a hard compatibility requirement
or a specification requirement IMO.