Hi Dmitri, some good news to share: made the change so that the CLI mode
won't print out unrelated logs. This also makes configure simpler and more
consistent, as we don't need two different application.properties files(one
for server and one for admin tool) anymore. The current one in default mode
is good for both. I've also rebased it on your PR
https://github.com/apache/polaris/pull/3341.

Here is the test result from my local machine.
yufei@Yufeis-MacBook-Pro-2 polaris % java -jar
runtime/server/build/quarkus-app/quarkus-run.jar --help
Usage: polaris-admin-tool.jar [-hV] [COMMAND]
Polaris administration & maintenance tool
  -h, --help      Show this help message and exit.
  -V, --version   Print version information and exit.
Commands:
  help       Display help information about the specified command.
  bootstrap  Bootstraps realms and root principal credentials.
  purge      Purge realms and all associated entities.


Yufei


On Mon, Jan 5, 2026 at 10:10 AM Yufei Gu <[email protected]> wrote:

> Hi Dmitri and JB,
>
> Thanks a lot to both of you for the thoughtful feedback and perspectives!
>
> Dmitri, I agree that UX is not ideal, especially around logging and noisy
> warnings when users run a CLI command. I do think these are largely UX and
> wiring issues rather than fundamental blockers, and should be fixable with
> some work on execution modes, and startup behavior. I am happy to take this
> on and iterate on improving the UX there.
>
> JB, thanks as well for the strong support and the reminder to keep the
> admin side as lightweight as possible. I agree with the two step approach
> you suggested, first packaging together to reduce overall complexity, then
> simplify the admin tool.
>
> I will spend some time experimenting further and try to come back with
> improvements that address the CLI versus server UX concerns.
>
> Thanks again,
> Yufei
>
> On Wed, Dec 31, 2025 at 10:41 PM Jean-Baptiste Onofré <[email protected]>
> wrote:
>
>> Hi folks,
>>
>> I have advocated in the past that the admin tool (simple and Java-based,
>> not Python) should be integrated into the server as a convenient utility.
>> Therefore, I am 100% in agreement with this proposal.
>>
>> However, I believe the admin component should remain as light as possible,
>> as many users will likely use alternative clients to manage the server,
>> such as curl or the console. We could approach this in two steps:
>> 1. Package everything together.
>> 2. Simplify the admin dependencies to make it as lightweight as possible.
>>
>> Regards,
>> JB
>>
>> On Wed, Dec 31, 2025 at 12:12 AM Yufei Gu <[email protected]> wrote:
>>
>> > Hi folks,
>> >
>> > I would like to start a discussion on simplifying modules polaris-admin
>> > into polaris-server. The separate admin module has been a recurring
>> source
>> > of friction. It effectively doubles license checks, Docker image
>> > publishing, and binary publishing(almost double the size of the binary
>> > distribution due to most libs being shared), and it also forces
>> additional
>> > shared modules like common, test-common, and distribution(there is no
>> need
>> > to have a separate distribution module if there is only one quarkus-run
>> > jar). Over time this has increased build, release, and maintenance
>> > complexity with minor benefits.
>> >
>> > One alternative worth considering is moving toward a single runtime
>> module
>> > that supports both server and administrative CLI operations. Many mature
>> > OSS projects follow this model successfully. For example, Apache Spark
>> > ships a single set of core artifacts, and multiple CLI tools such as
>> spark
>> > submit, spark shell, and spark sql are essentially thin wrappers that
>> point
>> > to the same underlying jars. This keeps the distribution simple while
>> still
>> > allowing clear separation between interactive, batch, and administrative
>> > workflows.
>> >
>> > Here are the initial discussions,
>> > https://github.com/apache/polaris/pull/3281#discussion_r2652055703.
>> Thanks
>> > Dmitri for the detailed explanation and discussion.
>> >
>> > Here is a POC(https://github.com/apache/polaris/pull/3340), which
>> verified
>> > that both model works in a single jar:
>> > Server Mode:
>> >   java -jar runtime/server/build/quarkus-app/quarkus-run.jar
>> >
>> > CLI Mode:
>> >   java -jar runtime/server/build/quarkus-app/quarkus-run.jar --help
>> >   java -jar runtime/server/build/quarkus-app/quarkus-run.jar bootstrap
>> > --help
>> >
>> > Thanks,
>> > Yufei
>> >
>>
>

Reply via email to