Hi Team,

I agree the browser auth flow should ultimately be handled by Quarkus itself. #260 is an interim measure until that migration is feasible. In the meantime, a couple of constraints to address:

- The OAuth server may not support PKCE. Without it, we need to pass the client secret during the OAuth flow — there's no safe way to do so in a UI. - There can be multiple deployments of the same UI client with different realms configured for each (e.g., one realm per team talking to the same catalog server).

In either of these cases, it helps to have a single auth server which handles the OAuth flow and redirects users to the respective UI clients. This also helps centralize the OAuth Server credentials in one place. Also, a suggestion on the PR to inject an ID token can be looked at, but a userinfo endpoint felt more generic (for an IdP can be pure OAuth without OIDC), which is why I had gone down that route.

Thanks,
Sayantan


On 2026/07/30 04:33:03 Jean-Baptiste Onofré wrote:
> Hi all,
>
> From my perspective, there are two distinct discussions here:
>
> 1. Where the Polaris Console lives: I still believe it should stay in
> polaris-tools for now. This aligns with how we handle other clients,
> and to some extent, components like Spark could eventually reside in
> the polaris-tools repository as well.
> 2. Where the Polaris Console is packaged: Here, we can discuss the
> trade-offs between an external/sidecar console and packaging the
> console directly as part of the Polaris server.
>
> In the short term (which is step one from my previous email), I think
> we should focus on the standalone Polaris Console release, while
> keeping it in the polaris-tools repository. However, I understand
> Robert's point about revisiting the packaging options as we move
> forward.
>
> Regards,
> JB
>
> On Thu, Jul 30, 2026 at 12:18 AM Yufei Gu <[email protected]> wrote:
> >
> > Thanks for revisiting this discussion.
> >
> > I'm trying to understand why PR #260 changes the architectural conclusion. > > My understanding is that the Console is still fundamentally a REST client.
> > Supporting an additional authentication flow for a different deployment
> > model changes the client implementation, but I'm not sure it changes the
> > overall architecture.
> >
> > In particular, I'm not yet seeing why adding proxy authentication means the > > Console should now be served from polaris-server or why Quarkus should own
> > the authentication logic. Many standalone web clients support multiple
> > authentication mechanisms while remaining independently deployable.
> >
> > Could you elaborate on what specific architectural or security concern PR
> > #260 introduces that cannot be addressed while keeping the Console as a
> > separate client? Is the concern duplicated authentication logic, a
> > particular security risk, operational complexity, or something else?
> >
> > Besides, I also wanted to bring up a point from the previous discussion. > > One of the arguments[1] against moving client side components into the main
> > Polaris repository was the additional LICENSE/NOTICE overhead and, more
> > importantly, maintaining a clear separation of concerns. If the Console is
> > still an independently deployed REST client, the same reasoning still
> > applies.
> >
> > However, it feels like we've been deciding whether a tool belongs in the
> > main Polaris repository on a case-by-case basis. I'd be supportive of
> > defining a clearer set of principles so future tools can be evaluated
> > consistently. For example, we could consider questions such as whether a > > component interacts with Polaris purely through the public REST APIs, or > > whether there is a strong downstream need for it to ship together with the > > Polaris server. These are just examples, more thoughts are welcome if we > > want to go that direction. In general, having explicit criteria like these
> > would make the decisions more consistent than evaluating each tool
> > independently.
> >
> > Understanding why PR #260 changes the answer under those criteria would
> > help me better understand why it's worth revisiting the previous conclusion.
> >
> > 1. https://lists.apache.org/thread/539p26bwk7zh1p4d1jqyhh2pqkkh0n36
> >
> > Thanks,
> >
> > Yufei
> >
> > On Wed, Jul 29, 2026 at 6:33 AM Jean-Baptiste Onofré <[email protected]>
> > wrote:
> >
> > > Hi
> > >
> > > Thanks Robert for updating this thread.
> > >
> > > It was also my first preference but I was to open to others proposals.
> > > I agree that things changed and we can revisit.
> > >
> > > I will come with a proposal to have console as part of Polaris-server
> > > (maybe in two steps).
> > >
> > > Thanks!
> > >
> > > Regards
> > > JB
> > >
> > > Le mer. 29 juil. 2026 à 13:00, Robert Stupp <[email protected]> a écrit :
> > >
> > > > Hi all,
> > > >
> > > > I'd like to revive this discussion because the proxy-authentication work
> > > in
> > > > `polaris-tools` PR #260 makes the server-integration question more
> > > > concrete.
> > > >
> > > > In June I was fine with keeping the first Console release in
> > > > `polaris-tools`, but explicitly left the main-repository and
> > > > server-bundling question open.
> > > >
> > > > The Console already implements a browser-side PKCE flow.
> > > > PR #260 now starts adding a second, proxy-specific model for user
> > > > information, session failures, logout, and reauthentication.
> > > > I think that is too much security-sensitive behavior for a mostly static
> > > > UI.
> > > >
> > > > My preference is to serve the static Console assets from `polaris-server`
> > > > and let Quarkus own the browser-facing OAuth/OIDC flow and session.
> > > > The Console would then only consume the authenticated identity and APIs.
> > > >
> > > > This is independent of whether the Console is enabled or exposed by
> > > > default.
> > > > Could we revisit that architecture now?
> > > >
> > > > Cheers,
> > > > Robert
> > > >
> > > > [260] https://github.com/apache/polaris-tools/pull/260
> > > >
> > > >
> > > > On Wed, Jun 3, 2026 at 9:37 AM Robert Stupp <[email protected]> wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > I am fine with keeping the first Console release in polaris-tools if
> > > that
> > > > > helps move the release forward.
> > > > >
> > > > > I just like to avoid treating this as a conclusion on the broader
> > > > > repository/artifact question.
> > > > > To me, "the Console is a REST client" is a useful deployment
> > > observation,
> > > > > but not a deciding argument for repository location or future artifact
> > > > > shape.
> > > > >
> > > > > So from my side, polaris-tools for the first release sounds fine as a
> > > > > pragmatic step.
> > > > > However, I expect the main-repo/server-bundling question to remain open
> > > > > for a follow-up discussion after that initial release.
> > > > >
> > > > > For that follow-up, I think we should come back to JB's original goals:
> > > > > * Improving Console visibility
> > > > > * Making contributions easier
> > > > > * Keeping releases aligned with Polaris API changes
> > > > > * Ensuring docs and deployment examples stay in sync with the server
> > > > >
> > > > > Robert
> > > > >
> > > > > On Tue, Jun 2, 2026 at 7:10 PM Jean-Baptiste Onofré <[email protected]>
> > > > > wrote:
> > > > >
> > > > >> Hi
> > > > >>
> > > > >> I agree with the isolation. However the original discussion focused
> > > more
> > > > >> on
> > > > >> contributions and visibility, not technical/packaging isolation.
> > > > >>
> > > > >> I also think that the website can give more space to the "clients" (
> > > > >> https://polaris.apache.org/tools/ can be emphasized).
> > > > >> Also, a composable docker/sidecar documenting how to enable the
> > > console
> > > > >> should probably give more visibility.
> > > > >>
> > > > >> So, here's my consensus proposal:
> > > > >> 1. For now, let's keep the console in the polaris-tools repo
> > > > >> 2. Move forward quickly on a first release and update our
> > > > >> documentation/docker-compose to easily give users the option to enable
> > > > the
> > > > >> console
> > > > >> 3. Give more space to "clients" on the website
> > > > >>
> > > > >> I will work on these items.
> > > > >>
> > > > >> Regards
> > > > >> JB
> > > > >>
> > > > >> On Tue, Jun 2, 2026 at 7:02 PM Yufei Gu <[email protected]> wrote:
> > > > >>
> > > > >> > Given this discussion [1], I don't think putting the UI in the
> > > server
> > > > >> image
> > > > >> > makes sense at this point. We could revisit that decision in the
> > > > future
> > > > >> if
> > > > >> > the Console evolves into a multi tenant web application.
> > > > >> >
> > > > >> > If we continue to treat the Console as a separately deployed REST
> > > > >> client,
> > > > >> > I'm not convinced there is a strong reason to move it into the main
> > > > >> repo.
> > > > >> > This seems consistent with the position taken in the earlier MCP
> > > > >> discussion
> > > > >> > [2][3]:
> > > > >> >
> > > > >> > If MCP server goes in polaris main repo, than other tools could be > > > > >> > > there too (console, catalog migrator, etc). But I don't think
> > > it's a
> > > > >> > > good idea due to the LICENSE/NOTICE overhead and also clear
> > > > separation
> > > > >> > > of concerns.
> > > > >> >
> > > > >> >
> > > > >> > I think the MCP server is a "client" for the Polaris server, like
> > > the
> > > > >> > > CLI or the Console (UI).
> > > > >> > > So, maybe it's worth considering polaris-tools as a host (it's
> > > what
> > > > >> > > I'm doing to the Polaris Console).
> > > > >> >
> > > > >> >
> > > > >> > To me, the same reasoning still applies. If the Console remains an > > > > >> > independent client that interacts with Polaris exclusively through
> > > > REST
> > > > >> > APIs, keeping it separate preserves a clear separation of concerns
> > > and
> > > > >> > allows it to evolve independently. Moving it into the main repo
> > > would
> > > > >> > therefore require a stronger justification.
> > > > >> >
> > > > >> > 1. https://lists.apache.org/thread/v4jqvfdw0myxkgfzb01t2787nz7oyzbw > > > > >> > 2. https://lists.apache.org/thread/539p26bwk7zh1p4d1jqyhh2pqkkh0n36 > > > > >> > 3. https://lists.apache.org/thread/yj98vol73dhpvygmyxm23sgjbnf7zfsd
> > > > >> >
> > > > >> > Yufei
> > > > >> >
> > > > >> >
> > > > >> > On Tue, Jun 2, 2026 at 7:59 AM Dmitri Bourlatchkov <
> > > [email protected]>
> > > > >> > wrote:
> > > > >> >
> > > > >> > > Hi JB,
> > > > >> > >
> > > > >> > > This plan sounds good to me.
> > > > >> > >
> > > > >> > > While packaging the UI in the same image as the server may help
> > > > fresh
> > > > >> > > users, keeping a separate UI image will likely have less impact on
> > > > >> > existing
> > > > >> > > deployments. Docker compose profiles seem like a good middle
> > > ground
> > > > >> from
> > > > >> > > the UX perspective.
> > > > >> > >
> > > > >> > > Cheers,
> > > > >> > > Dmitri.
> > > > >> > >
> > > > >> > > On Tue, Jun 2, 2026 at 7:22 AM Jean-Baptiste Onofré <
> > > > [email protected]>
> > > > >> > > wrote:
> > > > >> > >
> > > > >> > > > Hi,
> > > > >> > > >
> > > > >> > > > To provide some perspective based on my experience with other
> > > > Apache
> > > > >> > > > projects that include a UI by default (such as ActiveMQ, NiFi,
> > > > >> Druid,
> > > > >> > and
> > > > >> > > > Hop), I don't believe the console necessarily needs to be
> > > enabled
> > > > by
> > > > >> > > > default. While a seamless out-of-the-box user experience is key
> > > > for
> > > > >> > > getting
> > > > >> > > > started quickly with Polaris, we must also recognize that
> > > console
> > > > >> > > > requirements vary depending on the deployment.
> > > > >> > > >
> > > > >> > > > I propose keeping the Polaris server distribution and Docker
> > > image
> > > > >> > > focused
> > > > >> > > > solely on the server as they are today. We can then offer the
> > > > >> console
> > > > >> > > (and
> > > > >> > > > potentially other REST clients) as a sidecar or composable
> > > > >> container.
> > > > >> > > Using
> > > > >> > > > Docker Compose profiles, we could structure it like this:
> > > > >> > > >
> > > > >> > > > services:
> > > > >> > > > console:
> > > > >> > > > image: polaris-console...
> > > > >> > > > profiles: [console]
> > > > >> > > > server:
> > > > >> > > > image: polaris-server...
> > > > >> > > >
> > > > >> > > > Users could then simply run docker compose --profile console up
> > > to
> > > > >> > > include
> > > > >> > > > the UI.
> > > > >> > > >
> > > > >> > > > In summary, I propose:
> > > > >> > > >
> > > > >> > > > 1. Moving the console code to a module within the main
> > > repository
> > > > >> to
> > > > >> > > > improve visibility and contributions.
> > > > >> > > > 2. Providing a Docker Compose setup with profiles and updating
> > > > the
> > > > >> > Helm
> > > > >> > > > chart to include the console as an optional component.
> > > > >> > > >
> > > > >> > > > Thoughts?
> > > > >> > > >
> > > > >> > > > Regards,
> > > > >> > > > JB
> > > > >> > > >
> > > > >> > > >
> > > > >> > > >
> > > > >> > > > On Tue, Jun 2, 2026 at 3:21 AM Yufei Gu <[email protected]>
> > > > >> wrote:
> > > > >> > > >
> > > > >> > > > > I think the Console is essentially a REST client, so I’m not
> > > > sure
> > > > >> it
> > > > >> > > > should
> > > > >> > > > > belong to the server Docker image by default.
> > > > >> > > > >
> > > > >> > > > > Could we publish it as a separate client artifact instead, for
> > > > >> > example
> > > > >> > > to
> > > > >> > > > > PyPI or a similar distribution channel, depending on the
> > > > >> > > implementation?
> > > > >> > > > > That would keep the server image focused on serving the API,
> > > > while
> > > > >> > > still
> > > > >> > > > > making the Console easy to install, release, and consume.
> > > > >> > > > >
> > > > >> > > > > We can still keep it in the main repo, but I didn't see much
> > > > >> benefit
> > > > >> > of
> > > > >> > > > > doing so when we treat it as a separate deployable component.
> > > > >> > > > >
> > > > >> > > > > Yufei
> > > > >> > > > >
> > > > >> > > > >
> > > > >> > > > > On Mon, Jun 1, 2026 at 12:02 PM Romain Manni-Bucau <
> > > > >> > > > [email protected]>
> > > > >> > > > > wrote:
> > > > >> > > > >
> > > > >> > > > > > I like the on by default in docker, off by default in helm
> > > > >> > > compromise -
> > > > >> > > > > > that said it still makes sense to split it for prod if
> > > desired
> > > > >> > cause
> > > > >> > > it
> > > > >> > > > > > will not use the same service/httproute at all IMHO, one
> > > will
> > > > be
> > > > >> > > public
> > > > >> > > > > > like versus the other can stay internal most of the time.
> > > > >> > > > > >
> > > > >> > > > > > Romain Manni-Bucau
> > > > >> > > > > > @rmannibucau <https://x.com/rmannibucau> | .NET Blog
> > > > >> > > > > > <https://dotnetbirdie.github.io/> | Blog <
> > > > >> > > > https://rmannibucau.github.io/
> > > > >> > > > > >
> > > > >> > > > > > | Old
> > > > >> > > > > > Blog <http://rmannibucau.wordpress.com> | Github
> > > > >> > > > > > <https://github.com/rmannibucau> | LinkedIn
> > > > >> > > > > > <https://www.linkedin.com/in/rmannibucau> | Book
> > > > >> > > > > > <
> > > > >> > > > > >
> > > > >> > > > >
> > > > >> > > >
> > > > >> > >
> > > > >> >
> > > > >>
> > > >
> > > https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064
> > > > >> > > > > > >
> > > > >> > > > > > Javaccino founder (Java/.NET service - contact via linkedin)
> > > > >> > > > > >
> > > > >> > > > > >
> > > > >> > > > > > Le lun. 1 juin 2026 à 20:14, Yong Zheng <
> > > > >> [email protected]>
> > > > >> > a
> > > > >> > > > > écrit
> > > > >> > > > > > :
> > > > >> > > > > >
> > > > >> > > > > > > Hello,
> > > > >> > > > > > >
> > > > >> > > > > > > Why not put them in the same repo but keep them separate
> > > > >> (similar
> > > > >> > > to
> > > > >> > > > > > spark
> > > > >> > > > > > > plugin which doesn’t get include automatically). Same
> > > apply
> > > > to
> > > > >> > helm
> > > > >> > > > as
> > > > >> > > > > > > people can decide on what to deploy and avoid UI component
> > > > if
> > > > >> > > > desired.
> > > > >> > > > > > >
> > > > >> > > > > > > As the UI is SPA, the actually calls are from client
> > > browser
> > > > >> as
> > > > >> > > > opposed
> > > > >> > > > > > to
> > > > >> > > > > > > UI pod, the usability may be limited there in certain use
> > > > >> cases.
> > > > >> > I
> > > > >> > > > > would
> > > > >> > > > > > > start a different ML for this topic.
> > > > >> > > > > > >
> > > > >> > > > > > > Thanks,
> > > > >> > > > > > > Yong Zheng
> > > > >> > > > > > >
> > > > >> > > > > > > > On Jun 1, 2026, at 11:52 AM, Dmitri Bourlatchkov <
> > > > >> > > [email protected]
> > > > >> > > > >
> > > > >> > > > > > > wrote:
> > > > >> > > > > > > >
> > > > >
[message truncated...]

Reply via email to