Thanks for the analysis, Yong! I do not think we have any MinIO-based tests that rely on virtual host-stype access... I may be mistaken, though... Did you come across any specific cases like this?
IIRC all MinIO-based examples and tests use path-style access. Just to confirm, STS (cred. vending) works with RustFS, right? Thanks, Dmitri. On Sat, Jan 24, 2026 at 11:12 PM Yong Zheng <[email protected]> wrote: > 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 > > > > > > > > > > > > > >>>> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
