Goofys is a high-performance, POSIX-ish S3 file system written in Go. It allows you to mount an S3 bucket as a POSIX file system.
The obvious requirement for this client to work is to install golang and add Go binaries path to PATH environment variable.
Then create a directory ~/work and execute the following command:
export GOPATH=$HOME/work && go get github.com/kahing/goofys && go install github.com/kahing/goofys
This will install Goofys on your operating system.
At this point, you need to create a directory in order to locally mount your S3 bucket (e.g. mkdir pippo).
Besides, you have to create a file ~/.aws/credentials containing your S3 (Openstack EC2) credentials in the following way:
[s3]
aws_access_key_id=XXXX
aws_secret_access_key=XXXX
Finally, you can mount your S3 bucket on your local directory and manage your objects via POSIX:
fornari@pc-fornari:~/test_goofys$ cat goofys_mount.sh
#!/bin/bash
$GOPATH/bin/goofys --region tier1 --profile s3 --endpoint https://tb-cloud-api-pub.cr.cnaf.infn.it:8080 pippo ./pippo
fornari@pc-fornari:~/test_goofys$ ./goofys_mount.sh
fornari@pc-fornari:~/test_goofys$ ls pippo/
pippo.txt
fornari@pc-fornari:~/test_goofys$ cat pippo/pippo.txt
pippo
fornari@pc-fornari:~/test_goofys$