Using the Ceph Object Store
The Ceph Object Gateway is compatible with the S3 and Swift APIs. Various open-source tools are available that implement these interfaces.
Obtaining Keystone Credentials
openstack ec2 credentials list
Returns a list of your available credentials. If you have multiple credentials, refer to the ‘project’ field and examine the Project ID to choose the correct one:
openstack project show $PROJECT_ID
To use the object store, you will need the Access Key and Secret for this project.
The Minio Client (mc) is a simple, open-source S3 interface tool written in go. Configuration and basic usage is documented below. For full usage, refer to the minio client documentation.
Have mc create its config file with the following command:
mc config host add my_project https://ceph.csail.mit.edu $ACCESS_KEY $SECRET_KEY
mc basic usage
In an S3-compatible object store, the abstraction of a root-level folder is a “bucket.”
mc ls my_project
Create a bucket:
mc mb my_project/my_bucket
Upload a file:
mc cp foo.txt my_project/my_bucket
Pipe to a file:
my_command | mc pipe my_project/my_bucket/bar.log
Create a public link to a file: 1
mc share download my_project/my_bucket/foo.txt
Create an endpoint for public uploads: 1
mc share upload my_project/my_upload_bucket
Full documentation: minio client documentation.
- Public links default to an expiration of 7 days. Custom timeframes ought to be managed with ‘mc policy’, however this functionality does not yet work with our object store. [return]