Add support for S3 through the REST API

This is currently using the old S3 authentication
(https://s3.amazonaws.com/doc/s3-developer-guide/RESTAuthentication.html),
in order to support Exoscale Storage

Refs #112
This commit is contained in:
Greg Karékinian
2018-04-26 13:17:27 +02:00
parent 842a8707e8
commit 86dc45f444
8 changed files with 1521 additions and 447 deletions

View File

@@ -5,6 +5,7 @@ require "sinatra/base"
require 'sinatra/config_file'
require "sinatra/reloader"
require "remote_storage/swift"
require "remote_storage/s3_rest"
class LiquorCabinet < Sinatra::Base
@@ -130,6 +131,8 @@ class LiquorCabinet < Sinatra::Base
@storage ||= begin
if settings.respond_to? :swift
RemoteStorage::Swift.new(settings, self)
elsif settings.respond_to? :s3
RemoteStorage::S3Rest.new(settings, self)
else
puts <<-EOF
You need to set one storage backend in your config.yml file.