So I spent some time on this today. With path style access, rustfs will work 
100% with couple lines changes. However, when dealing with virtual host style 
access, it is not happy with testcontainer due to testcontainer map a random 
port to host and rustfs is very restrict on server domains (could be bug if not 
intensional). Take an example, when I have rustfs mapped to port 9000 and 
testcontainer maps it to 62226 (random selected port), the health check happens 
on localhost:62226 which is not something we can set ahead of time for 
RUSTFS_SERVER_DOMAINS. Same observation had being reported in 
https://github.com/rustfs/rustfs/issues/308 where others confirm:
```
...I tried the domain name method again. When configuring 
RUSTFS_SERVER_DOMAINS, if the domain name port is not 443, you need to fill in 
the port as well, for example, test.rustfs.cn:9000.
```
But with testcontainer, this will map to some random port on host as describe 
above then throw InvalidBucketName error. 

Another issue is https://github.com/rustfs/rustfs/issues/1593 where rustfs 
thinks that mapping mentioned above is a bucket name.

That being said, if we want to change our user facing getting-started example 
from minio to rustfs, it will work 100%. However, we can't change our 
integration tests from minio to rustfs if we need to continue cover the tests 
on virtual host style access.

Thanks,
Yong Zheng

On 2026/01/19 19:36:48 Yufei Gu wrote:
> I think it's a good plan to distinguish between getting-started examples
> and integration tests, esp. if RustFS is much faster. Thanks Dmitri.
> Will current integration tests fail if we switch to RustFS from minio?
> https://github.com/apache/polaris/blob/5e5779f115472fa8614a6820b1e178520d927012/integration-tests/build.gradle.kts#L70-L70
> 
> Yufei
> 
> 
> On Mon, Jan 19, 2026 at 11:23 AM Dmitri Bourlatchkov <[email protected]>
> wrote:
> 
> > Hi Yufei,
> >
> > From my POV we need some storage for "getting started" examples and some
> > storage for CI.
> >
> > They may be the same or different.
> >
> > I think Apache Ozone is preferable for examples (when it supports STS)
> > because it's also inside the ASF and examples do not have to be as lean as
> > containers used in CI.
> >
> > IMHO, RustFS looks promising for CI due to simplicity / performance... but
> > it remains to be tested :)
> >
> > As long as the RustFS project remains active and aligned with S3 API
> > changes, I think it does not matter so much that it is not an ASF project.
> > It is released under ALv2 [1]
> >
> > [1] https://github.com/rustfs/rustfs
> >
> > Cheers,
> > Dmitri.
> >
> > On Mon, Jan 19, 2026 at 2:13 PM Yufei Gu <[email protected]> wrote:
> >
> > > Given STS is an essential requirement for s3 compatible storage
> > validation,
> > > waiting for Ozone is reasonable to me. RustFS is also a good candidate if
> > > it's faster and supports STS. With that, are we trying to test both Ozone
> > > and RustFS as a long term solution?
> > >
> > > Yufei
> > >
> > >
> > > On Mon, Jan 19, 2026 at 8:14 AM Jean-Baptiste Onofré <[email protected]>
> > > wrote:
> > >
> > > > Hi Dmitri,
> > > >
> > > > That’s a fair point. Since we are discussing the quickstart guide,
> > > ensuring
> > > > a consistent message and a positive user experience is essential.
> > > >
> > > > While I don't have a strong preference, I lean toward Apache Ozone as
> > it
> > > is
> > > > an ASF project, which would help us avoid a similar situation to the
> > one
> > > we
> > > > are currently facing with MinIO.
> > > >
> > > > That said, if RustFS is faster to set up and works well with minimal
> > > > effort, I am completely fine with that approach.
> > > >
> > > > Thanks!
> > > >
> > > > Regards,
> > > > JB
> > > >
> > > > On Mon, Jan 19, 2026 at 3:59 PM Dmitri Bourlatchkov <[email protected]>
> > > > wrote:
> > > >
> > > > > Hi All,
> > > > >
> > > > > The latest MinIO images work well for Polaris tests and demos.
> > > > >
> > > > > It might still be worth proactively trying newer S3 implementations
> > > like
> > > > > RustFS and/or SeaweedFS (although I have not personally tried them
> > out
> > > > with
> > > > > Polaris yet).
> > > > >
> > > > > Even though we may prefer Ozone as the main storage in examples when
> > it
> > > > > supports STS, validating other S3 implementations could be helpful
> > for
> > > > > Polaris end users.
> > > > >
> > > > > Also, I expect RustFS to be faster and less cumbersome to set up than
> > > > > Ozone, which could be an advantage for integration tests in CI.
> > > > >
> > > > > Cheers,
> > > > > Dmitri.
> > > > >
> > > > > On Mon, Jan 19, 2026 at 6:03 AM Jean-Baptiste Onofré <
> > [email protected]>
> > > > > wrote:
> > > > >
> > > > > > Hi,
> > > > > >
> > > > > > I know the Ozone community is discussing to have STS full support
> > for
> > > > > 2.2.0
> > > > > > release.
> > > > > >
> > > > > > So, I think it's reasonable to keep minio for now waiting ozone
> > > 2.2.0.
> > > > > >
> > > > > > Thoughts ?
> > > > > >
> > > > > > Regards
> > > > > > JB
> > > > > >
> > > > > > On Mon, Jan 19, 2026 at 3:59 AM Yong Zheng <[email protected]>
> > > wrote:
> > > > > >
> > > > > > > Hi Adnan and JB,
> > > > > > >
> > > > > > > I took a closer look at Ozone and it doesn't appear STS is fully
> > > > > > supported
> > > > > > > yet for Ozone:
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> > https://github.com/apache/ozone/blob/master/hadoop-hdds/docs/content/design/ozone-sts.md
> > > > > > .
> > > > > > > In this case, do we still wan to cut over the getting start
> > example
> > > > to
> > > > > > > Ozone one instead of MinIO?
> > > > > > >
> > > > > > > Thanks,
> > > > > > > Yong Zheng
> > > > > > >
> > > > > > > On 2026/01/14 23:32:11 Adnan Hemani via dev wrote:
> > > > > > > > Hi all,
> > > > > > > >
> > > > > > > > I'd hope that we can pivot to Ozone and hide the additional
> > > > > adaptation
> > > > > > > > behind our setup scripts.
> > > > > > > >
> > > > > > > > It's a shame that my fears came true about relying on a
> > provider
> > > > who
> > > > > is
> > > > > > > > actively trying to sell the managed version of their product
> > > > shutting
> > > > > > > down
> > > > > > > > their OSS functionalities [1]. Any alternatives we consider, in
> > > my
> > > > > > > opinion,
> > > > > > > > should take this experience into consideration.
> > > > > > > >
> > > > > > > > I'm still not against reverting back to using local FS for the
> > > > > > Quickstart
> > > > > > > > experience. If all the alternatives only complicate things for
> > > the
> > > > > end
> > > > > > > > user, then it will be a poor Quickstart experience - and that's
> > > > much
> > > > > > > worse
> > > > > > > > than giving more functionality in Quickstart but users not
> > > knowing
> > > > > how
> > > > > > to
> > > > > > > > actually use it.
> > > > > > > >
> > > > > > > > Best,
> > > > > > > > Adnan Hemani
> > > > > > > >
> > > > > > > > [1] https://github.com/apache/polaris/pull/2976
> > > > > > > >
> > > > > > > > On Fri, Jan 9, 2026 at 6:58 AM Jean-Baptiste Onofré <
> > > > [email protected]
> > > > > >
> > > > > > > wrote:
> > > > > > > >
> > > > > > > > > Hi
> > > > > > > > >
> > > > > > > > > Yes, Ozone supports STS, that's why I mentioned it. It's
> > > probably
> > > > > > close
> > > > > > > > > enough to minIO (even if some "adaptation" might be required
> > > for
> > > > > > STS).
> > > > > > > > >
> > > > > > > > > Just my $0.01
> > > > > > > > >
> > > > > > > > > Regards
> > > > > > > > > JB
> > > > > > > > >
> > > > > > > > > On Fri, Jan 9, 2026 at 2:15 AM Yufei Gu <
> > [email protected]>
> > > > > > wrote:
> > > > > > > > >
> > > > > > > > > > Agreed with Dmitri that STS is essential in this case,
> > > > otherwise
> > > > > a
> > > > > > > local
> > > > > > > > > > file system will be good enough.
> > > > > > > > > >
> > > > > > > > > > AFAIK, Apache Ozone supports STS starting from 2.1.0,
> > > > > > > > > > https://ozone.apache.org/release/2.1.0/.
> > > > > > > > > >
> > > > > > > > > > Yufei
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > On Thu, Jan 8, 2026 at 4:55 PM Dmitri Bourlatchkov <
> > > > > > [email protected]
> > > > > > > >
> > > > > > > > > > wrote:
> > > > > > > > > >
> > > > > > > > > > > Hi François,
> > > > > > > > > > >
> > > > > > > > > > > I could not find any mention of STS / AssumeRole in
> > > GarageHQ
> > > > > docs
> > > > > > > > > (really
> > > > > > > > > > > quick looks), so I assume it does not support STS... Do
> > you
> > > > > know
> > > > > > > for
> > > > > > > > > > sure?
> > > > > > > > > > >
> > > > > > > > > > > STS is pretty important for ease of use in Polaris
> > getting
> > > > > > started
> > > > > > > > > (i.e.
> > > > > > > > > > > setup without STS is more involved).
> > > > > > > > > > >
> > > > > > > > > > > Cheers,
> > > > > > > > > > > Dmitri.
> > > > > > > > > > >
> > > > > > > > > > > On Thu, Jan 8, 2026 at 3:09 PM Francois Papon <
> > > > > [email protected]
> > > > > > >
> > > > > > > > > wrote:
> > > > > > > > > > >
> > > > > > > > > > > > Hi,
> > > > > > > > > > > >
> > > > > > > > > > > > About other solutions, I made some test to evaluate
> > > GaragHQ
> > > > > as
> > > > > > an
> > > > > > > > > > > > alternative to MinIO:
> > > > > > > > > > > >
> > > > > > > > > > > > https://garagehq.deuxfleurs.fr/
> > > > > > > > > > > >
> > > > > > > > > > > > I don't know if all the required functionnalities used
> > by
> > > > > > > Polaris are
> > > > > > > > > > > > provided but for the test/quickstart part may be it can
> > > do
> > > > > the
> > > > > > > job.
> > > > > > > > > > > >
> > > > > > > > > > > > regards,
> > > > > > > > > > > >
> > > > > > > > > > > > François
> > > > > > > > > > > >
> > > > > > > > > > > > Le 08/01/2026 à 16:35, Adam Christian a écrit :
> > > > > > > > > > > > > Thanks, folks! Great points! I do like the idea of
> > > using
> > > > > > > something
> > > > > > > > > > > other
> > > > > > > > > > > > > than MinIO.
> > > > > > > > > > > > >
> > > > > > > > > > > > > My only 2 cents: For the quickstart docker compose
> > > file,
> > > > I
> > > > > > > believe
> > > > > > > > > > that
> > > > > > > > > > > > we
> > > > > > > > > > > > > should use object storage that can be automatically
> > > > > > configured
> > > > > > > > > > without
> > > > > > > > > > > > > having to put in credentials. The goal of the
> > > quickstart
> > > > is
> > > > > > to
> > > > > > > have
> > > > > > > > > > > > anyone
> > > > > > > > > > > > > who has Docker running locally to be able to launch a
> > > > > > > > > non-production
> > > > > > > > > > > > > version of Polaris through a single command. It's
> > > > targeted
> > > > > > for
> > > > > > > > > users
> > > > > > > > > > > who
> > > > > > > > > > > > > are just learning about Polaris. So, in my opinion,
> > > this
> > > > > > rules
> > > > > > > out
> > > > > > > > > > AWS
> > > > > > > > > > > > S3.
> > > > > > > > > > > > >
> > > > > > > > > > > > > As long as we meet that criteria, I do think that
> > > > changing
> > > > > > > would be
> > > > > > > > > > > > > appropriate. Thanks for bringing this up!
> > > > > > > > > > > > >
> > > > > > > > > > > > > Go community,
> > > > > > > > > > > > >
> > > > > > > > > > > > > Adam
> > > > > > > > > > > > >
> > > > > > > > > > > > > On Thu, Jan 8, 2026 at 9:16 AM Dmitri Bourlatchkov <
> > > > > > > > > > > > > [email protected]> wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > >> Hi All,
> > > > > > > > > > > > >>
> > > > > > > > > > > > >> Apache Ozone works well, AFAIK [1] but it certainly
> > > > > requires
> > > > > > > more
> > > > > > > > > > > setup
> > > > > > > > > > > > >> work than MinIO.
> > > > > > > > > > > > >>
> > > > > > > > > > > > >> WDYT about RustFS? [2]
> > > > > > > > > > > > >>
> > > > > > > > > > > > >> [1]
> > > > > > > > > > > > >>
> > > > > > > > > > > > >>
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> > https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-ozone/
> > > > > > > > > > > > >>
> > > > > > > > > > > > >> [2] https://github.com/rustfs/rustfs
> > > > > > > > > > > > >>
> > > > > > > > > > > > >> Cheers,
> > > > > > > > > > > > >> Dmitri.
> > > > > > > > > > > > >>
> > > > > > > > > > > > >> On Thu, Jan 8, 2026 at 8:46 AM Jean-Baptiste Onofré
> > <
> > > > > > > > > > [email protected]>
> > > > > > > > > > > > >> wrote:
> > > > > > > > > > > > >>
> > > > > > > > > > > > >>> Hi Yong,
> > > > > > > > > > > > >>>
> > > > > > > > > > > > >>> Thanks for bringing this to our attention.
> > > > > > > > > > > > >>>
> > > > > > > > > > > > >>> I agree with your assessment regarding the recent
> > > > changes
> > > > > > to
> > > > > > > > > MinIO
> > > > > > > > > > > OSS.
> > > > > > > > > > > > >> We
> > > > > > > > > > > > >>> could evaluate Apache Ozone as a potential
> > > alternative;
> > > > > > > while STS
> > > > > > > > > > > might
> > > > > > > > > > > > >>> require more changes, I believe it’s worth
> > > > investigating.
> > > > > > > > > > > > >>>
> > > > > > > > > > > > >>> In the short term, we could update the quickstart
> > > guide
> > > > > to
> > > > > > > use
> > > > > > > > > AWS
> > > > > > > > > > S3
> > > > > > > > > > > > >> while
> > > > > > > > > > > > >>> we wait to finalize the Ozone integration.
> > > > > > > > > > > > >>> About Ceph, that's a good idea, assuming we have
> > the
> > > > same
> > > > > > > kind of
> > > > > > > > > > > > >>> layout/experience.
> > > > > > > > > > > > >>>
> > > > > > > > > > > > >>> Regards,
> > > > > > > > > > > > >>> JB
> > > > > > > > > > > > >>>
> > > > > > > > > > > > >>> On Thu, Jan 8, 2026 at 7:49 AM Yong Zheng <
> > > > > > [email protected]
> > > > > > > >
> > > > > > > > > > wrote:
> > > > > > > > > > > > >>>
> > > > > > > > > > > > >>>> Hello,
> > > > > > > > > > > > >>>>
> > > > > > > > > > > > >>>> We have MinIO support as S3 compatible storage and
> > > > this
> > > > > is
> > > > > > > great
> > > > > > > > > > as
> > > > > > > > > > > it
> > > > > > > > > > > > >>>> allows users to quickly test out Apache Polaris
> > as a
> > > > > > > catalog and
> > > > > > > > > > > write
> > > > > > > > > > > > >>> to a
> > > > > > > > > > > > >>>> S3 compatible storage. However, as MinIO is now
> > > under
> > > > > > > > > maintenance
> > > > > > > > > > > mode
> > > > > > > > > > > > >>> only
> > > > > > > > > > > > >>>> for OSS (
> > > > > > https://github.com/minio/minio?tab=readme-ov-file),
> > > > > > > we
> > > > > > > > > > > won't
> > > > > > > > > > > > >> be
> > > > > > > > > > > > >>>> able to get updated images from public image
> > > registry,
> > > > > > > should we
> > > > > > > > > > > > >> consider
> > > > > > > > > > > > >>>> switch our primary getting-start example to
> > > non-MinIO
> > > > > one
> > > > > > > > > instead
> > > > > > > > > > > (the
> > > > > > > > > > > > >>>> current one is MinIO as backend:
> > > > > > > > > > > > >>>>
> > > > > > > > > > > > >>
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> > https://github.com/apache/polaris/blob/main/getting-started/quickstart/docker-compose.yml
> > > > > > > > > > > > >>> )?
> > > > > > > > > > > > >>>> Without doing so, users will be likely pulling
> > down
> > > > > > outdated
> > > > > > > > > MinIO
> > > > > > > > > > > > >> images
> > > > > > > > > > > > >>>> with critical CVEs couple months later for their
> > > local
> > > > > > > setup to
> > > > > > > > > > play
> > > > > > > > > > > > >>>> around. If using outdated MinIO is a concern as
> > the
> > > > > > > > > getting-start
> > > > > > > > > > > > >>> example,
> > > > > > > > > > > > >>>> maybe we should switch to the Ceph one (
> > > > > > > > > > > > >>>>
> > > > > > > > > > > > >>
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> > https://github.com/apache/polaris/blob/main/getting-started/ceph/docker-compose.yml
> > > > > > > > > > > > >>> )
> > > > > > > > > > > > >>>> but updated it to match the same layout?
> > > > > > > > > > > > >>>>
> > > > > > > > > > > > >>>> Thanks,
> > > > > > > > > > > > >>>> Yong Zheng
> > > > > > > > > > > > >>>>
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> 

Reply via email to