Read CS credentials from file

This commit is contained in:
Garret Alfert 2013-10-11 17:30:05 +02:00
parent 4f91c9aa87
commit 20d33cc1af
4 changed files with 22 additions and 5 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
config.yml
cs_credentials.json
pids

View File

@ -3,20 +3,26 @@ development: &defaults
riak: &riak_defaults
host: localhost
http_port: 8098
riak_cs:
credentials_file: "cs_credentials.json"
endpoint: "http://cs.example.com:8080"
buckets:
data: rs_data
directories: rs_directories
binaries: rs_binaries
cs_binaries: rs.binaries
authorizations: rs_authorizations
opslog: rs_opslog
test:
<<: *defaults
riak:
<<: *riak_defaults
buckets:
data: rs_data_test
directories: rs_directories_test
binaries: rs_binaries_test
cs_binaries: rs.binaries.test
authorizations: rs_authorizations_test
opslog: rs_opslog_test

View File

@ -9,11 +9,14 @@ module RemoteStorage
::Riak.url_decoding = true
attr_accessor :settings, :server
attr_accessor :settings, :server, :cs_credentials
def initialize(settings, server)
self.settings = settings
self.server = server
credentials = File.read(settings['riak_cs']['credentials_file'])
self.cs_credentials = JSON.parse(credentials)
end
def authorize_request(user, directory, token, listing=false)
@ -435,8 +438,8 @@ module RemoteStorage
def cs_client
@cs_client ||= Fog::Storage.new({
:provider => 'AWS',
:aws_access_key_id => settings['riak_cs']['access_key'],
:aws_secret_access_key => settings['riak_cs']['secret_key'],
:aws_access_key_id => cs_credentials['key_id'],
:aws_secret_access_key => cs_credentials['key_secret'],
:endpoint => settings['riak_cs']['endpoint']
})
end

View File

@ -69,11 +69,18 @@ if app.settings.riak
end
end
def cs_credentials
@cs_credentials ||= begin
credentials = File.read(app.settings.riak['riak_cs']['credentials_file'])
JSON.parse(credentials)
end
end
def cs_client
@cs_client ||= Fog::Storage.new({
:provider => 'AWS',
:aws_access_key_id => app.settings.riak['riak_cs']['access_key'],
:aws_secret_access_key => app.settings.riak['riak_cs']['secret_key'],
:aws_access_key_id => cs_credentials['key_id'],
:aws_secret_access_key => cs_credentials['key_secret'],
:endpoint => app.settings.riak['riak_cs']['endpoint']
})
end