Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

using s3cmd with a different, s3 like, provider

I'm using s3cmd, a python command line tool, with a S3-like provider different from AWS. When I set up the whole system I clearly remember that I search for the endpoint and change the default AWS one with the one I'm using (so endpoint was not a config option), then complete the configuration process and right now I'm still working with s3cmd.

Anyway recently I had to setup s3cmd on another machine and, not remembering where to set the endpoint, I grep the address of the provider on my machine, but without finding any result. Do you have any suggestion on where can it be?

edit: Ok, apparently there's a .s3cfg stored in the home directory and that's where the endpoint is. I still can't understand from where the value come from though

like image 882
bncc Avatar asked Oct 16 '25 15:10

bncc


2 Answers

In this config file you should have 2 lines like this :

host_base = s3.amazonaws.com  
host_bucket = %(bucket)s.s3.amazonaws.com 

You can then change it to point at your ViPR instance:

host_base = s3.mydomain.com 
host_bucket = %(bucket)s.s3.mydomain.com 

Note: Your ViPR solution has to support aws virtual naming style. Otherwhise, you have to use pathstyle.

like image 171
MouIdri Avatar answered Oct 19 '25 05:10

MouIdri


To explicitly set configuration file, use -c option, as:

s3cmd ls --recursive --list-md5 s3://bucket-name -c ~/.s3cfg-profile-2

That way, you are assured that you are reading the configs that are stored into file ~/.s3cfg-profile-2

like image 32
simo Avatar answered Oct 19 '25 05:10

simo



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!