Personally, I’m unsure about what good a nightly Docker image build helps with. 
If we’re backing up to the same Docker Hub repository, I think it could make 
some sense as long as we manage the “latest” tag properly to only ever tag 
releases since the proposed effort and maintenance overhead is low - but if we 
are going through the effort to create a whole new nightly/snapshot repo, what 
does this help us achieve? Do we see a proper use case for customers to ever 
really need that?

On the question that started this thread about the Polaris Admin Tool, I’m 
onboard with Option 3 - let’s separate out the Admin Tool and the Server. We 
should be careful to ensure that these move together in terms of versioning - 
but I don’t see that as a big enough concern to refute this option.

Best,
Adnan Hemani

> On May 22, 2025, at 12:12 PM, Dmitri Bourlatchkov <di...@apache.org> wrote:
> 
> good point about Renovate!
> 
> On Wed, May 21, 2025 at 4:49 AM Robert Stupp <sn...@snazy.de> wrote:
> 
>> How would tools like dependabot and Renovate distinguish work then?
>> 
>> I think having separate `-unstable` repos is the safest way forward.
>> 
>> 
>> On 20.05.25 19:10, Jean-Baptiste Onofré wrote:
>>> Yes but we can use tag that way “by convention”.
>>> 
>>> Le mar. 20 mai 2025 à 10:18, Robert Stupp <sn...@snazy.de> a écrit :
>>> 
>>>    There's no notion of "snapshot" or "nightly" for image tags.
>>>    That's why
>>>    we're pushing for the separate repos.
>>> 
>>>    On 20.05.25 05:18, Jean-Baptiste Onofré wrote:
>>>> Yes agree. Latest would be a valid tag only for release images.
>>>> Snapshot images will be just … snapshot tag ;) (not latest).
>>>> 
>>>> Regards
>>>> JB
>>>> 
>>>> Le lun. 19 mai 2025 à 21:40, Dmitri Bourlatchkov
>>>    <di...@apache.org> a
>>>> écrit :
>>>> 
>>>>> If  we put nightlies in the same repo, we should be careful
>>>    with the
>>>>> "latest" tag.
>>>>> 
>>>>> I suppose users will expect "latest" to track only officially
>>>    released
>>>>> images in that case.
>>>>> 
>>>>> It might even be worth _not_ using the "latest" tag at all.
>>>>> 
>>>>> Cheers,
>>>>> Dmitri.
>>>>> 
>>>>> On Mon, May 19, 2025 at 3:24 PM Jean-Baptiste Onofré
>>>    <j...@nanthrax.net>
>>>>> wrote:
>>>>> 
>>>>>> I'm not super convinced by a repository dedicated to nightly
>>>    or snapshot.
>>>>>> 
>>>>>> A nightly or a SNAPSHOT is a version/tag of an image. So, I would
>>>>>> expect to have it in the same repository as the released images.
>>>>>> 
>>>>>> For instance, you would have apache/polaris:x.y.z and
>>>>>> apache/polaris:x.y.z-SNAPSHOT
>>>>>> 
>>>>>> Some projects do that (for instance
>>>>>> https://www.google.com/url?q=https://hub.docker.com/r/apache/gravitino/tags&source=gmail-imap&ust=1748545963000000&usg=AOvVaw32_izMPTTmU8H9LY8DFkqU).
>>>>>> 
>>>>>> I would propose to have apache/polaris and
>>>    apache/polaris-admin-tool
>>>>> repos.
>>>>>> Thoughts ?
>>>>>> 
>>>>>> Regards
>>>>>> JB
>>>>>> 
>>>>>> On Mon, May 19, 2025 at 8:43 PM Dmitri Bourlatchkov
>>>    <di...@apache.org>
>>>>>> wrote:
>>>>>>> Using a different repo name for nightlies / unstable sounds
>>>    good to me,
>>>>>>> 
>>>>>>> Cheers,
>>>>>>> Dmitri.
>>>>>>> 
>>>>>>> On Mon, May 19, 2025 at 12:19 PM Alex Dutra
>>>>>> <alex.du...@dremio.com.invalid>
>>>>>>> wrote:
>>>>>>> 
>>>>>>>> Hi all,
>>>>>>>> 
>>>>>>>> To be honest my preference would be Option 4: a different
>>>    image name
>>>>>>>> for everything that is "nightly" or "unstable". For example,
>>>>>>>> "apache/polaris-unstable" or
>>>    "apache/polaris-admin-tool-nightly".
>>>>>>>> 
>>>>>>>> My reasoning is simple: make it almost impossible for a user to
>>>>>>>> accidentally deploy an unstable version of the server into
>>>>> production,
>>>>>>>> by confusing an unstable tag with a production-ready one.
>>>>>>>> 
>>>>>>>> Otherwise, I can also live with Option 3, especially if we
>>>    use tags
>>>>>>>> that are "scary" enough to dissuade people from using them in
>>>>>>>> production.
>>>>>>>> 
>>>>>>>> Option 1 would be really bad for DevOps workflows: for
>>>    example, I
>>>>>>>> think running Kubernetes Jobs to bootstrap or purge realms
>>>    (or doing
>>>>>>>> other administrative tasks) will become a common practice;
>>>    but in
>>>>> this
>>>>>>>> case, the tool must be available as a Docker image.
>>>>>>>> 
>>>>>>>> Option 2 is also bad: users expect Docker binaries to
>>>    contain the
>>>>> same
>>>>>>>> "thing" regardless of tags, so it would be confusing to mix
>>>    binaries
>>>>>>>> for the server and the tool under the same image. Not to
>>>    mention that
>>>>>>>> mixing binaries would absolutely preclude the usage of the tag
>>>>>>>> "latest" since we wouldn't know if "latest" contains the
>>>    server or
>>>>> the
>>>>>>>> tool.
>>>>>>>> 
>>>>>>>> Thanks,
>>>>>>>> 
>>>>>>>> Alex
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Mon, May 19, 2025 at 5:53 PM Robert Stupp
>>>    <sn...@snazy.de> wrote:
>>>>>>>>> Also +1 on option 3.
>>>>>>>>> 
>>>>>>>>> Would also propose to push releases and snapshots to
>>>    separate image
>>>>>>>>> repositories.
>>>>>>>>> 
>>>>>>>>> On 19.05.25 17:46, Dmitri Bourlatchkov wrote:
>>>>>>>>>> Option 2 looks very confusing to me. While it can technically
>>>>>> work, I
>>>>>>>> think
>>>>>>>>>> most people expect the repository name to reflect the
>>>    nature of
>>>>> the
>>>>>>>> binary,
>>>>>>>>>> so apache/polaris would mean "server" by default.
>>>>>>>>>> 
>>>>>>>>>> I prefer option 3.
>>>>>>>>>> 
>>>>>>>>>> I also think we should have an image for the admin tool
>>>    because
>>>>> it
>>>>>> is
>>>>>>>>>> required for bootstrapping.
>>>>>>>>>> 
>>>>>>>>>> If the server is in k8s, it would be natural to run the admin
>>>>> tool
>>>>>> in
>>>>>>>> k8s
>>>>>>>>>> too, hence it needs a docker image. By providing an official
>>>>> image
>>>>>> we
>>>>>>>>>> greatly simplify users' workflows.
>>>>>>>>>> 
>>>>>>>>>> Cheers,
>>>>>>>>>> Dmitri.
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On Mon, May 19, 2025 at 11:11 AM Jean-Baptiste Onofré <
>>>>>> j...@nanthrax.net
>>>>>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>>> Hi folks,
>>>>>>>>>>> 
>>>>>>>>>>> Right now, as part of the release and nightly build, we
>>>    plan to
>>>>>> push
>>>>>>>>>>> the Polaris server docker image (on
>>>>>>>>>>> https://www.google.com/url?q=https://hub.docker.com/r/apache/polaris&source=gmail-imap&ust=1748545963000000&usg=AOvVaw2XdKjt_AvlaM7mSP0rHDof).
>>>>>>>>>>> Concretely, it means we push Polaris server
>>>>>>>>>>> 
>>>>>>>>>>> As part of RC3 release prep, I pushed
>>>>>>>>>>> apache/polaris:0.10.0-beta-incubating-rc3 image
>>>    (corresponding
>>>>> to
>>>>>>>>>>> Polaris server).
>>>>>>>>>>> 
>>>>>>>>>>> The question is regarding the Polaris Admin Tool container
>>>>> image.
>>>>>> We
>>>>>>>>>>> have basically 3 options:
>>>>>>>>>>> 1. We only push Polaris server image on DockerHub (no admin
>>>>> tool):
>>>>>>>>>>> it's what I do in RC3 prep and also what I proposed in
>>>>>>>>>>> https://www.google.com/url?q=https://github.com/apache/polaris/pull/1593&source=gmail-imap&ust=1748545963000000&usg=AOvVaw1BisjFCR64xVl636VC0Kwt
>>>>>>>>>>> 2. We push Polaris Admin Tool in apache/polaris using a tag
>>>>> format
>>>>>>>>>>> (like apache/polaris:admin-tool-x.y.z)
>>>>>>>>>>> 3. I create a dedicated repository apache/polaris-admin-tool
>>>>>> where we
>>>>>>>>>>> push only admin tool images
>>>>>>>>>>> 
>>>>>>>>>>> Personally, I don't like (2), and I wonder if it makes
>>>    sense to
>>>>>> push
>>>>>>>>>>> admin tool image. If yes, I would propose (3) and I will be
>>>>> happy
>>>>>> to
>>>>>>>>>>> create the corresponding Docker repository.
>>>>>>>>>>> 
>>>>>>>>>>> Thoughts ?
>>>>>>>>>>> 
>>>>>>>>>>> Regards
>>>>>>>>>>> JB
>>>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> Robert Stupp
>>>>>>>>> @snazy
>>>>>>>>> 
>>>    --
>>>    Robert Stupp
>>>    @snazy
>>> 
>> --
>> Robert Stupp
>> @snazy
>> 

Reply via email to