-
Notifications
You must be signed in to change notification settings - Fork 233
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add --force-path-style flag to use path-style addressing. #92
Conversation
First time submitting changes, so please let me know if I've missed anything (tests, etc?) Recent changes broke access to our on-prem object store (see blog here) |
Many/most non-AWS object stores only support path-style addressing, but recent changes switched to virtual-host addressing which broke access to those object stores. This adds a flag to switch back to path style addressing. For more info, a virtual-host address looks like "http://bucketname.endpoint", resulting in a DNS lookup. Path-style addressing looks like "http://endpoint/bucketname" instead. The benefit of path-style addressing is simplicity; you do not need to interact with DNS servers.
Hi @joshuarobinson, thanks for the pull request! Also about the blog post, thank you very much for detailed review and your time 💯 . Much appreciated. I'd like to know how do you access your on-prem object store? Is it like a minio installation? I'm asking this because may be we could drop the |
Hi, thanks for the response.
Yes, our on-prem object is accessed identically to Minio -- and almost any
other on-prem object appliance.
I do like your proposed solution better than mine, but I will need to do
some research today to determine how the endpoint detection could work
(other than simply detecting an IP address vs hostname).
Btw, my favorite part of s5cmd is the "-f -" feature; it creates a really
flexible engine for advanced users.
…-Joshua
On Tue, Mar 17, 2020 at 7:35 AM H. İbrahim Güngör ***@***.***> wrote:
Hi @joshuarobinson <https://github.com/joshuarobinson>, thanks for the
pull request! Also about the blog post, thank you very much for detailed
review and your time 💯 . Much appreciated.
I'd like to know how do you access to your on-prem object store? Is it
like a minio installation? I'm asking this because may be we could drop the
``--force-path-style` flag altogether by inferring the path-style from the
endpoint URL. If it's not the official S3/Google etc. end point, we could
use path-style instead of virtual-host-style.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#92 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAZN7U3AM7RHADEBOWWNGB3RH4K45ANCNFSM4LHJVFTQ>
.
|
Otherwise fallback to path-style bucket name resolving. Related: #92
Hey @joshuarobinson I drafted a branch to showcase the approach I mentioned above. What do you think? |
Thanks,
I have checked your branch locally and confirmed it works.
And I like that the behavior explainable and intuitive -- if the user
manually sets "endpoint-url" (to something other than AWS transfer-accel or
GCP), the addressing scheme falls back to path-style.
I would approve of this change :)
…On Tue, Mar 17, 2020 at 11:33 AM H. İbrahim Güngör ***@***.***> wrote:
Hey @joshuarobinson <https://github.com/joshuarobinson>
I drafted a branch to showcase the approach I mentioned above. What do you
think?
515e530
<515e530>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#92 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAZN7U5A2GB7TEYTLNJO3P3RH5GW7ANCNFSM4LHJVFTQ>
.
|
Glad it works for you. I'll go ahead and merge that branch. Thanks again! |
Otherwise fallback to path-style bucket name resolving. Related: #92
many thanks!
…On Tue, Mar 17, 2020 at 12:40 PM H. İbrahim Güngör ***@***.***> wrote:
Closed #92 <#92>.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#92 (comment)>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAZN7U6NFIWNVOECV6NN7TLRH5OR3ANCNFSM4LHJVFTQ>
.
|
Many/most non-AWS object stores only support path-style addressing, but
recent changes switched to virtual-host addressing which broke access to
those object stores. This adds a flag to switch back to path style
addressing.
For more info, a virtual-host address looks like "http://bucketname.endpoint",
resulting in a DNS lookup. Path-style addressing looks like
"http://endpoint/bucketname" instead. The benefit of path-style
addressing is simplicity; you do not need to interact with DNS servers.