The case for quarkus:run

65 views
Skip to first unread message

Stuart Douglas

unread,
Jun 1, 2021, 5:27:40 AM6/1/21
to Quarkus Development mailing list
Hi everyone,

In the past we have had requests for a run goal, however there has never really been a strong use case as it's simple to run the app directly. 

I think that DevServices may actually be that use case, to allow you to run production applications locally without configuring the DB etc. We already have the facilities in place to make this work (we use it for native tests), so it would really just be wiring up pieces that we already have.

We could also make it work like @QuarkusIntegrationTest and launch native and docker images as well (depending on what was built last). This means you could write an app using devservices, build the container image and then run it locally without needing to configure anything.

Thoughts?

Stuart

Max Rydahl Andersen

unread,
Jun 1, 2021, 6:13:29 AM6/1/21
to Stuart Douglas, Quarkus Development mailing list
I always been +1 for a quarkus:run thus +1 in general from me :)
not following what this means - having a build action depend on what was
last built feels wrong.

why would that not be explicitly controlled which thing you ask to run ?

/max

>
> Thoughts?
>
> Stuart
>
> --
> 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.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/quarkus-dev/CAD%2BL2cyXDH7ERF%3Dth-%3DqTaHF3SQeZ43J-gpa-%2BOg6EYmOOSt7g%40mail.gmail.com.


/max
https://xam.dk/about

Georgios Andrianakis

unread,
Jun 1, 2021, 6:19:44 AM6/1/21
to Max Rydahl Andersen, Stuart Douglas, Quarkus Development mailing list
I've been against this, but now with the various pieces we have in place, I think it makes sense.

Stuart Douglas

unread,
Jun 1, 2021, 6:30:54 AM6/1/21
to Max Rydahl Andersen, Quarkus Development mailing list
On Tue, 1 Jun 2021 at 20:13, Max Rydahl Andersen <mand...@redhat.com> wrote:
I always been +1 for a quarkus:run thus +1 in general from me :)

For some background I have always been against this because maven is a lot slower to start than Quarkus, so running through maven just seems like a compromise.

I think DevServices support, plus the ability to directly launch container images is enough of a benefit to make it worthwhile.
 
> Hi everyone,
>
> In the past we have had requests for a run goal, however there has
> never
> really been a strong use case as it's simple to run the app directly.
>
> I think that DevServices may actually be that use case, to allow you
> to run
> production applications locally without configuring the DB etc. We
> already
> have the facilities in place to make this work (we use it for native
> tests), so it would really just be wiring up pieces that we already
> have.
>
> We could also make it work like @QuarkusIntegrationTest and launch
> native
> and docker images as well (depending on what was built last). This
> means
> you could write an app using devservices, build the container image
> and
> then run it locally without needing to configure anything.

not following what this means - having a build action depend on what was
last built feels wrong.

why would that not be explicitly controlled which thing you ask to run ?

Well if I run:

mvn package -Dquarkus.package.type=native

then run:

mvn quarkus:run

It would run the native image I just built, rather than an older jar based app that may have been hanging around. Same with docker, if I built with quarkus.container-image.build=true then ran mvn quarkus:run it would launch that image.

Stuart

Alexey Loubyansky

unread,
Jun 1, 2021, 7:40:21 AM6/1/21
to sdou...@redhat.com, Max Rydahl Andersen, Quarkus Development mailing list

Daniel Oh

unread,
Jun 1, 2021, 7:50:21 AM6/1/21
to Stuart Douglas, Quarkus Development mailing list
Sounds like a good idea for devs:)

--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/quarkus-dev/CAD%2BL2cyXDH7ERF%3Dth-%3DqTaHF3SQeZ43J-gpa-%2BOg6EYmOOSt7g%40mail.gmail.com.


--

Daniel oh

Senior PRINCIPAL TECHNICAL MARKETING MANAGER

agile & devops COMMUNITY OF PRACTICE manager

Red Hat Inc

d...@redhat.com    M: +1-(617)717.8732     @danieloh30

Loïc MATHIEU

unread,
Jun 1, 2021, 8:14:42 AM6/1/21
to d...@redhat.com, Stuart Douglas, Quarkus Development mailing list
Seems like a good idea to me, being able to run a "production" build of Quarkus with devservices (so half prod  / half dev). This can have some useful usage.

Knut Wannheden

unread,
Jun 1, 2021, 8:39:47 AM6/1/21
to loik...@gmail.com, d...@redhat.com, Stuart Douglas, Quarkus Development mailing list
This coupled with "Dev Services 2.0" sounds very interesting and is in fact very similar to an in-house development we have been working on over the last few weeks, which allows us to write integration tests which get executed against a set of Docker containers (communicating over a custom Docker network). Unfortunately we had missed the addition of @QuarkusIntegrationTest and we also wanted support for persistent containers, so we went ahead and rolled our own (building on Testcontainers). But all of this in Quarkus coming together will hopefully allow us to scrap our own development again!

At the moment we place the integration tests in a separate Maven module, because we -- for historical reasons -- want to be able to forbid any dependencies to the Quarkus application. I assume this setup would not be possible with @QuarkusIntegrationTest, Dev Services, and quarkus:run, but I think we could live without that.

Eduardo Ramirez Ronco

unread,
Jun 1, 2021, 8:48:51 AM6/1/21
to Quarkus Development mailing list
> At the moment we place the integration tests in a separate Maven module, because we -- for historical reasons -- want to be able to forbid any dependencies to the Quarkus application.

If I understand the problem correctly, you could use ArchUnit [1] to create tests that verify that Integration Tests do not access any forbidden code.



Eduardo Ramírez ronco

Services Content Architect

Red Hat Global Learning Service



Stephane Epardaud

unread,
Jun 1, 2021, 11:24:43 AM6/1/21
to eram...@redhat.com, Quarkus Development mailing list
I'm not sure I understand the use-case, though. It's one thing to be able to start the app and have its data sources spun up like in dev mode, but quite another to have this be useful, as the data sources will be empty.

Is this for prod usage? So for initial deployments where there's no initial legacy data? If so, we need to figure out exactly what happens to the data containers between restarts, and upgrade paths if the users want to migrate to a non-containerised DB.

Is this for some other use-case that I missed?



--
Stéphane Épardaud

Max Andersen

unread,
Jun 3, 2021, 5:47:07 AM6/3/21
to eram...@redhat.com, stephane...@gmail.com, Quarkus Development mailing list
It’s so you don’t have to remember nor care which jar you need to pass to Java -jar target/…

/max

Martin Kouba

unread,
Jun 3, 2021, 7:34:50 AM6/3/21
to mand...@redhat.com, eram...@redhat.com, stephane...@gmail.com, Quarkus Development mailing list
On 03. 06. 21 11:46, Max Andersen wrote:
> It’s so you don’t have to remember nor care which jar you need to pass
> to Java -jar target/…

Well, Stuart's proposal is more than that. It includes automagical
startup/init/destroy of DevServices. And I believe that these services
should be always configured explicitly in production mode. Maybe I'm too
paranoid but I smell a misuse that may result in unexpected failures of
all kinds.

In other words, I think that DevServices should be used in some kind of
dev mode and not in anything that is perceived as and used as a
"production facility".

>
> /max
> On 1 Jun 2021, 17:24 +0200, Stephane Epardaud
> <stephane...@gmail.com>, wrote:
>> I'm not sure I understand the use-case, though. It's one thing to be
>> able to start the app and have its data sources spun up like in dev
>> mode, but quite another to have this be useful, as the data sources
>> will be empty.
>>
>> Is this for prod usage? So for initial deployments where there's no
>> initial legacy data? If so, we need to figure out exactly what happens
>> to the data containers between restarts, and upgrade paths if the
>> users want to migrate to a non-containerised DB.
>>
>> Is this for some other use-case that I missed?
>>
>> On Tue, 1 Jun 2021 at 14:48, Eduardo Ramirez Ronco
>> <eram...@redhat.com <mailto:eram...@redhat.com>> wrote:
>>
>> > At the moment we place the integration tests in a separate Maven
>> module, because we -- for historical reasons -- want to be able to
>> forbid any dependencies to the Quarkus application.
>>
>> If I understand the problem correctly, you could use ArchUnit [1]
>> to create tests that verify that Integration Tests do not access
>> any forbidden code.
>>
>>
>> [1] https://www.archunit.org/ <https://www.archunit.org/>
>>
>> Eduardo Ramírez ronco
>>
>> Services Content Architect
>>
>> Red Hat Global Learning Service <https://www.redhat.com>
>>
>> <https://www.redhat.com>
>> <mailto:d...@redhat.com>> a écrit :
>> <mailto:quarkus-dev...@googlegroups.com>.
>> <https://groups.google.com/d/msgid/quarkus-dev/CAD%2BL2cyXDH7ERF%3Dth-%3DqTaHF3SQeZ43J-gpa-%2BOg6EYmOOSt7g%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>>
>>
>>
>> --
>>
>> Daniel oh
>>
>> Senior PRINCIPAL TECHNICAL MARKETING MANAGER
>>
>> agile & devops COMMUNITY OF PRACTICE manager
>>
>> Red Hat Inc <https://www.redhat.com/>
>>
>> d...@redhat.com <mailto:d...@redhat.com> M:
>> +1-(617)717.8732 <tel:+1-617-717-8732> @danieloh30
>> <https://twitter.com/danieloh30>
>>
>> <https://red.ht/sig>
>>
>> --
>> 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
>> <mailto:quarkus-dev...@googlegroups.com>.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/quarkus-dev/CAPp4%3DaFjWcuZ0WaeDC8cQYXXWZXdpPU8E0RvbXeSy1XWYmERgw%40mail.gmail.com
>> <https://groups.google.com/d/msgid/quarkus-dev/CAPp4%3DaFjWcuZ0WaeDC8cQYXXWZXdpPU8E0RvbXeSy1XWYmERgw%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>>
>> --
>> 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
>> <mailto:quarkus-dev...@googlegroups.com>.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/quarkus-dev/CAJLxjVFuasrdT%3D%3DcR9WpUFcW7fLuBB9cqjxAhiF3%2B9mdA5q%2BTw%40mail.gmail.com
>> <https://groups.google.com/d/msgid/quarkus-dev/CAJLxjVFuasrdT%3D%3DcR9WpUFcW7fLuBB9cqjxAhiF3%2B9mdA5q%2BTw%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>>
>> --
>> 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
>> <mailto:quarkus-dev...@googlegroups.com>.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/quarkus-dev/CAFx%3DKgceU10FXa0naLkbaeQdQOif%2B-E63fn%2Bqjki9X%3DNA9d%2BTw%40mail.gmail.com
>> <https://groups.google.com/d/msgid/quarkus-dev/CAFx%3DKgceU10FXa0naLkbaeQdQOif%2B-E63fn%2Bqjki9X%3DNA9d%2BTw%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>>
>> --
>> 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
>> <mailto:quarkus-dev...@googlegroups.com>.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/quarkus-dev/CAFif860%2Bm2J%2BckgzeLnwUJtJkPJKkMF1S4LAs0_p2f-Wzv3d%3DQ%40mail.gmail.com
>> <https://groups.google.com/d/msgid/quarkus-dev/CAFif860%2Bm2J%2BckgzeLnwUJtJkPJKkMF1S4LAs0_p2f-Wzv3d%3DQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>>
>>
>>
>> --
>> Stéphane Épardaud
>>
>> --
>> 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
>> <mailto:quarkus-dev...@googlegroups.com>.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/quarkus-dev/CAKU9E9tbwmVMYNbAhO%2B9kUDxHXjs9X%3DUuNgz4EK5iTF%3DTV2o2g%40mail.gmail.com
>> <https://groups.google.com/d/msgid/quarkus-dev/CAKU9E9tbwmVMYNbAhO%2B9kUDxHXjs9X%3DUuNgz4EK5iTF%3DTV2o2g%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>
> --
> 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
> <mailto:quarkus-dev...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/quarkus-dev/175d296c-5faa-464e-8825-c96c0f72df42%40Spark
> <https://groups.google.com/d/msgid/quarkus-dev/175d296c-5faa-464e-8825-c96c0f72df42%40Spark?utm_medium=email&utm_source=footer>.

--
Martin Kouba
Software Engineer
Red Hat, Czech Republic

Stuart Douglas

unread,
Jun 3, 2021, 7:21:40 PM6/3/21
to Martin Kouba, Max Rydahl Andersen, Eduardo Ramirez Ronco, Stephane Epardaud, Quarkus Development mailing list
On Thu, 3 Jun 2021 at 21:34, Martin Kouba <mko...@redhat.com> wrote:
On 03. 06. 21 11:46, Max Andersen wrote:
> It’s so you don’t have to remember nor care which jar you need to pass
> to Java -jar target/…

Well, Stuart's proposal is more than that. It includes automagical
startup/init/destroy of DevServices. And I believe that these services
should be always configured explicitly in production mode. Maybe I'm too
paranoid but I smell a misuse that may result in unexpected failures of
all kinds.

You should absolutly not be using mvn quarkus:run in production, maven is
not included in any of our production images anyway.
 

In other words, I think that DevServices should be used in some kind of
dev mode and not in anything that is perceived as and used as a
"production facility".

Well NativeImageTest and QuarkusIntegrationTest tests a 'production' app, and they
have DevServices support.

If you use mvn quarkus:run in production you are already doing things very wrong. The main
reason why I think this makes sense is that DevServices allows you to avoid configuring your
application locally, but then if you want to test that app locally in production mode you can't. I
thought about this after Jason mentioned that for a talk he is doing he shows off the zero
config DevServices, but then to show how fast Quarkus starts he still needs to configure
everything.

Stuart
 
To unsubscribe from this group and stop receiving emails from it, send an email to quarkus-dev...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/quarkus-dev/7bc578db-479a-f8d9-44d0-205b28f76d4f%40redhat.com.

Max Rydahl Andersen

unread,
Jun 3, 2021, 7:26:40 PM6/3/21
to Stuart Douglas, Quarkus Development mailing list

On 1 Jun 2021, at 12:30, Stuart Douglas wrote:

Well if I run:
mvn package -Dquarkus.package.type=native
then run:
mvn quarkus:run
It would run the native image I just built, rather than an older jar based app that may have been hanging around. Same with docker, if I built with quarkus.container-image.build=true then ran mvn quarkus:run it would launch that image.

This does not feel right - how will you know which of possible multiple outputs in target to use ?

I would expect it to be something like:

mvn quarkus:run -Dquarkus.package.type=native to have it do the native build if needed and then run the native.

and mvn quarkus:run runs whatever the default is setup for.

/max
https://xam.dk/about

Stuart Douglas

unread,
Jun 3, 2021, 7:33:28 PM6/3/21
to Max Rydahl Andersen, Quarkus Development mailing list
This is build + run not just run. The 'if needed' bit would require a fair bit of work and may not be super practical.

Also unfortunately there is more than just the package type that determines the output, as we also have quarkus.container-image.build=true, in
which case the final output is a docker image.

Stuart
 

Jason Greene

unread,
Jun 3, 2021, 11:47:25 PM6/3/21
to sdou...@redhat.com, Quarkus Development mailing list, Max Rydahl Andersen
What if it was interactive like quarkus:dev is with continuous testing, unless you were explicit?

This could be useful to enable/disable dev services, launch tests etc.

-Jason





Stuart Douglas

unread,
Jun 3, 2021, 11:48:48 PM6/3/21
to Jason Greene, Quarkus Development mailing list, Max Rydahl Andersen
You mean quarkus:run would launch an interactive console, and from there you could choose what you wanted to run?

Stuart

 

-Jason





Jason Greene

unread,
Jun 3, 2021, 11:50:18 PM6/3/21
to Stuart Douglas, Quarkus Development mailing list, Max Rydahl Andersen
Yes exactly it would have image, native, jar, etc.

-Jason

Martin Kouba

unread,
Jun 4, 2021, 2:43:07 AM6/4/21
to Stuart Douglas, Max Rydahl Andersen, Eduardo Ramirez Ronco, Stephane Epardaud, Quarkus Development mailing list
On 04. 06. 21 1:21, Stuart Douglas wrote:
>
>
> On Thu, 3 Jun 2021 at 21:34, Martin Kouba <mko...@redhat.com
> <mailto:mko...@redhat.com>> wrote:
>
> On 03. 06. 21 11:46, Max Andersen wrote:
> > It’s so you don’t have to remember nor care which jar you need to
> pass
> > to Java -jar target/…
>
> Well, Stuart's proposal is more than that. It includes automagical
> startup/init/destroy of DevServices. And I believe that these services
> should be always configured explicitly in production mode. Maybe I'm
> too
> paranoid but I smell a misuse that may result in unexpected failures of
> all kinds.
>
>
> You should absolutly not be using mvn quarkus:run in production, maven is
> not included in any of our production images anyway.
>
>
> In other words, I think that DevServices should be used in some kind of
> dev mode and not in anything that is perceived as and used as a
> "production facility".
>
>
> Well NativeImageTest and QuarkusIntegrationTest tests a 'production'
> app, and they
> have DevServices support.
>
> If you use mvn quarkus:run in production you are already doing things
> very wrong.

Wait a minute, quarkus:run is not yet available, or?

> The main reason why I think this makes sense is that DevServices allows you to
> avoid configuring your
> application locally, but then if you want to test that app locally in
> production mode you can't.

I get your point about testing the app locally in production mode but
quarkus:run does not sound like something that would be used for this
case. It says: "run the quarkus app". And even if we document that it
should not be used for production I bet there will be users who will try
to because the zero-config is tempting.

Sure, you can misuse quarkus:dev in a similar way but at least the name
of the goal is clear.

Having said that, I understand that there is a use case for this
functionality but it should be probaly presented as "application
preview" or something like that and we should be really clear about the
purpose.


> I thought about this after Jason mentioned that for a talk he is doing he
> shows off the zero
> config DevServices, but then to show how fast Quarkus starts he still
> needs to configure
> everything.
>
> Stuart
>
>
> >
> > /max
> > On 1 Jun 2021, 17:24 +0200, Stephane Epardaud
> > <stephane...@gmail.com
> <mailto:stephane...@gmail.com>>, wrote:
> >> I'm not sure I understand the use-case, though. It's one thing
> to be
> >> able to start the app and have its data sources spun up like in dev
> >> mode, but quite another to have this be useful, as the data sources
> >> will be empty.
> >>
> >> Is this for prod usage? So for initial deployments where there's no
> >> initial legacy data? If so, we need to figure out exactly what
> happens
> >> to the data containers between restarts, and upgrade paths if the
> >> users want to migrate to a non-containerised DB.
> >>
> >> Is this for some other use-case that I missed?
> >>
> >> On Tue, 1 Jun 2021 at 14:48, Eduardo Ramirez Ronco
> >> <eram...@redhat.com <mailto:eram...@redhat.com>
> <mailto:eram...@redhat.com <mailto:eram...@redhat.com>>> wrote:
> >>
> >>     > At the moment we place the integration tests in a separate
> Maven
> >>     module, because we -- for historical reasons -- want to be
> able to
> >>     forbid any dependencies to the Quarkus application.
> >>
> >>     If I understand the problem correctly, you could use
> ArchUnit [1]
> >>     to create tests that verify that Integration Tests do not access
> >>     any forbidden code.
> >>
> >>
> >>     [1] https://www.archunit.org/ <https://www.archunit.org/>
> <https://www.archunit.org/ <https://www.archunit.org/>>
> >>
> >>     Eduardo Ramírez ronco
> >>
> >>     Services Content Architect
> >>
> >>     Red Hat Global Learning Service <https://www.redhat.com
> <https://www.redhat.com>>
> >>
> >>     <https://www.redhat.com <https://www.redhat.com>>
> >>
> >>
> >>
> >>     On Tue, Jun 1, 2021 at 2:39 PM Knut Wannheden
> >>     <knut.wa...@gmail.com <mailto:knut.wa...@gmail.com>
> <mailto:knut.wa...@gmail.com <mailto:knut.wa...@gmail.com>>>
> wrote:
> >>
> >>         This coupled with "Dev Services 2.0" sounds very interesting
> >>         and is in fact very similar to an in-house development
> we have
> >>         been working on over the last few weeks, which allows us to
> >>         write integration tests which get executed against a set of
> >>         Docker containers (communicating over a custom Docker
> >>         network). Unfortunately we had missed the addition
> >>         of @QuarkusIntegrationTest and we also wanted support for
> >>         persistent containers, so we went ahead and rolled our own
> >>         (building on Testcontainers). But all of this in Quarkus
> >>         coming together will hopefully allow us to scrap our own
> >>         development again!
> >>
> >>         At the moment we place the integration tests in a separate
> >>         Maven module, because we -- for historical reasons --
> want to
> >>         be able to forbid any dependencies to the Quarkus
> application.
> >>         I assume this setup would not be possible
> >>         with @QuarkusIntegrationTest, Dev Services, and quarkus:run,
> >>         but I think we could live without that.
> >>
> >>         On Tue, Jun 1, 2021 at 2:14 PM Loïc MATHIEU
> >>         <loik...@gmail.com <mailto:loik...@gmail.com>
> <mailto:loik...@gmail.com <mailto:loik...@gmail.com>>> wrote:
> >>
> >>             Seems like a good idea to me, being able to run a
> >>             "production" build of Quarkus with devservices (so half
> >>             prod  / half dev). This can have some useful usage.
> >>
> >>             Le mar. 1 juin 2021 à 13:50, Daniel Oh
> <d...@redhat.com <mailto:d...@redhat.com>
> >>             <mailto:d...@redhat.com <mailto:d...@redhat.com>>> a
> écrit :
> >>
> >>                 Sounds like a good idea for devs:)
> >>
> >>                 On Tue, Jun 1, 2021 at 5:27 AM Stuart Douglas
> >>                 <sdou...@redhat.com
> <mailto:sdou...@redhat.com> <mailto:sdou...@redhat.com
> <mailto:quarkus-dev%2Bunsu...@googlegroups.com>
> >>
>  <mailto:quarkus-dev...@googlegroups.com
> <mailto:quarkus-dev%2Bunsu...@googlegroups.com>>.
>  <https://groups.google.com/d/msgid/quarkus-dev/CAD%2BL2cyXDH7ERF%3Dth-%3DqTaHF3SQeZ43J-gpa-%2BOg6EYmOOSt7g%40mail.gmail.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/quarkus-dev/CAD%2BL2cyXDH7ERF%3Dth-%3DqTaHF3SQeZ43J-gpa-%2BOg6EYmOOSt7g%40mail.gmail.com?utm_medium=email&utm_source=footer>>.
> >>
> >>
> >>
> >>                 --
> >>
> >>                 Daniel oh
> >>
> >>                 Senior PRINCIPAL TECHNICAL MARKETING MANAGER
> >>
> >>                 agile & devops COMMUNITY OF PRACTICE manager
> >>
> >>                 Red Hat Inc <https://www.redhat.com/
> <https://www.redhat.com/>>
> >>
> >> d...@redhat.com <mailto:d...@redhat.com> <mailto:d...@redhat.com
> <mailto:d...@redhat.com>> M:
> >>                 +1-(617)717.8732 <tel:+1-617-717-8732> @danieloh30
> >>                 <https://twitter.com/danieloh30
> <https://twitter.com/danieloh30>>
> >>
> >>                 <https://red.ht/sig <https://red.ht/sig>>
> >>
> >>                 --
> >>                 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
> <mailto:quarkus-dev%2Bunsu...@googlegroups.com>
> >>                 <mailto:quarkus-dev...@googlegroups.com
> <mailto:quarkus-dev%2Bunsu...@googlegroups.com>>.
>  <https://groups.google.com/d/msgid/quarkus-dev/CAPp4%3DaFjWcuZ0WaeDC8cQYXXWZXdpPU8E0RvbXeSy1XWYmERgw%40mail.gmail.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/quarkus-dev/CAPp4%3DaFjWcuZ0WaeDC8cQYXXWZXdpPU8E0RvbXeSy1XWYmERgw%40mail.gmail.com?utm_medium=email&utm_source=footer>>.
> >>
> >>             --
> >>             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
> <mailto:quarkus-dev%2Bunsu...@googlegroups.com>
> >>             <mailto:quarkus-dev...@googlegroups.com
> <mailto:quarkus-dev%2Bunsu...@googlegroups.com>>.
>  <https://groups.google.com/d/msgid/quarkus-dev/CAJLxjVFuasrdT%3D%3DcR9WpUFcW7fLuBB9cqjxAhiF3%2B9mdA5q%2BTw%40mail.gmail.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/quarkus-dev/CAJLxjVFuasrdT%3D%3DcR9WpUFcW7fLuBB9cqjxAhiF3%2B9mdA5q%2BTw%40mail.gmail.com?utm_medium=email&utm_source=footer>>.
> >>
> >>         --
> >>         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
> <mailto:quarkus-dev%2Bunsu...@googlegroups.com>
> >>         <mailto:quarkus-dev...@googlegroups.com
> <mailto:quarkus-dev%2Bunsu...@googlegroups.com>>.
>  <https://groups.google.com/d/msgid/quarkus-dev/CAFx%3DKgceU10FXa0naLkbaeQdQOif%2B-E63fn%2Bqjki9X%3DNA9d%2BTw%40mail.gmail.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/quarkus-dev/CAFx%3DKgceU10FXa0naLkbaeQdQOif%2B-E63fn%2Bqjki9X%3DNA9d%2BTw%40mail.gmail.com?utm_medium=email&utm_source=footer>>.
> >>
> >>     --
> >>     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
> <mailto:quarkus-dev%2Bunsu...@googlegroups.com>
> >>     <mailto:quarkus-dev...@googlegroups.com
> <mailto:quarkus-dev%2Bunsu...@googlegroups.com>>.
>  <https://groups.google.com/d/msgid/quarkus-dev/CAFif860%2Bm2J%2BckgzeLnwUJtJkPJKkMF1S4LAs0_p2f-Wzv3d%3DQ%40mail.gmail.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/quarkus-dev/CAFif860%2Bm2J%2BckgzeLnwUJtJkPJKkMF1S4LAs0_p2f-Wzv3d%3DQ%40mail.gmail.com?utm_medium=email&utm_source=footer>>.
> >>
> >>
> >>
> >> --
> >> Stéphane Épardaud
> >>
> >> --
> >> 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
> <mailto:quarkus-dev%2Bunsu...@googlegroups.com>
> >> <mailto:quarkus-dev...@googlegroups.com
> <mailto:quarkus-dev%2Bunsu...@googlegroups.com>>.
> <https://groups.google.com/d/msgid/quarkus-dev/CAKU9E9tbwmVMYNbAhO%2B9kUDxHXjs9X%3DUuNgz4EK5iTF%3DTV2o2g%40mail.gmail.com?utm_medium=email&utm_source=footer
> <https://groups.google.com/d/msgid/quarkus-dev/CAKU9E9tbwmVMYNbAhO%2B9kUDxHXjs9X%3DUuNgz4EK5iTF%3DTV2o2g%40mail.gmail.com?utm_medium=email&utm_source=footer>>.
> >
> > --
> > 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
> <mailto:quarkus-dev%2Bunsu...@googlegroups.com>
> > <mailto:quarkus-dev...@googlegroups.com
> <mailto:quarkus-dev%2Bunsu...@googlegroups.com>>.
> <https://groups.google.com/d/msgid/quarkus-dev/175d296c-5faa-464e-8825-c96c0f72df42%40Spark?utm_medium=email&utm_source=footer
> <https://groups.google.com/d/msgid/quarkus-dev/175d296c-5faa-464e-8825-c96c0f72df42%40Spark?utm_medium=email&utm_source=footer>>.
>
> --
> Martin Kouba
> Software Engineer
> Red Hat, Czech Republic
>
> --
> 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
> <mailto:quarkus-dev%2Bunsu...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/quarkus-dev/7bc578db-479a-f8d9-44d0-205b28f76d4f%40redhat.com
> <https://groups.google.com/d/msgid/quarkus-dev/7bc578db-479a-f8d9-44d0-205b28f76d4f%40redhat.com>.

Stuart Douglas

unread,
Jun 4, 2021, 3:02:19 AM6/4/21
to Martin Kouba, Max Rydahl Andersen, Eduardo Ramirez Ronco, Stephane Epardaud, Quarkus Development mailing list
It is not.
 

> The main reason why I think this makes sense is that DevServices allows you to
> avoid configuring your
> application locally, but then if you want to test that app locally in
> production mode you can't.

I get your point about testing the app locally in production mode but
quarkus:run does not sound like something that would be used for this
case. It says: "run the quarkus app". And even if we document that it
should not be used for production I bet there will be users who will try
to because the zero-config is tempting.

They would need to jump through a huge number of hoops to actually get maven into the
production environment, as it is not included in our images. 

It will also be very immediately and clearly obvious that you have done the wrong
thing, as you won't have any production data. This is not a subtle bug that could catch
users out without noticing it, to misuse this they would have to jump through a lot of
hoops, and once they had it up and running it would be immediately obvious that something
is wrong.
 

Sure, you can misuse quarkus:dev in a similar way but at least the name
of the goal is clear.

By this logic we should not provide quarkus-hdbc-h2, as someone may use it in production,
even though we tell them not to.

This is not a subtle thing that might catch users out, this is something that should be obvious
on two different levels (namely, don't use Maven to launch a production image, and if you want
your production application to talk to a production database you need to configure it as such).

Stuart

Loïc MATHIEU

unread,
Jun 4, 2021, 3:09:43 AM6/4/21
to Stuart Douglas, Martin Kouba, Max Rydahl Andersen, Eduardo Ramirez Ronco, Stephane Epardaud, Quarkus Development mailing list
If the only fear is that people use it in production, we can add a WARNING log to say that quarkus:run should not be used in production due to <insert_reason> so people doing so will know that they should not ...

To unsubscribe from this group and stop receiving emails from it, send an email to quarkus-dev...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/quarkus-dev/CAD%2BL2cy1tXuq%2BoPDpDyfdURw-qencZV9%3DaPri-M7cBfBxg2c0g%40mail.gmail.com.

Max Rydahl Andersen

unread,
Jun 4, 2021, 4:32:49 AM6/4/21
to Loïc MATHIEU, Stuart Douglas, Martin Kouba, Eduardo Ramirez Ronco, Stephane Epardaud, Quarkus Development mailing list

So many other frameworks has a :run command available from maven/gradle.

A warning would good - but I really don't share any concern about this being misused in production.

Those who do would likely also just run quarkus:dev in production because thats even easier to use
and update...right ? :)

/max

Max Rydahl Andersen

unread,
Jun 4, 2021, 4:34:04 AM6/4/21
to Stuart Douglas, Quarkus Development mailing list
so what do you plan to use for quarkus:run to know what to run if not
explicitly
from the configuration / properties passed in ?

/max
https://xam.dk/about

Stuart Douglas

unread,
Jun 8, 2021, 9:10:01 PM6/8/21
to Max Rydahl Andersen, Quarkus Development mailing list
The "target/quarkus-artifact.properties" file that is current used for @QuarkusIntegrationTest

Stuart
Reply all
Reply to author
Forward
0 new messages