diff --git a/devops-service/providers/static.rb b/devops-service/providers/static.rb index e3fcb94..83ea720 100644 --- a/devops-service/providers/static.rb +++ b/devops-service/providers/static.rb @@ -7,7 +7,7 @@ module Provider def initialize config self.certificate_path = config[:static_certificate] - self.ssh_key = "static" + self.ssh_key = config[:static_ssh_key] || "static" @@mongo ||= MongoConnector.new(config[:mongo_db], config[:mongo_host], config[:mongo_port], config[:mongo_user], config[:mongo_password]) end diff --git a/devops-service/providers/static_accounts_factory.rb b/devops-service/providers/static_accounts_factory.rb index 630921b..42b2dd7 100644 --- a/devops-service/providers/static_accounts_factory.rb +++ b/devops-service/providers/static_accounts_factory.rb @@ -2,5 +2,34 @@ require_relative "accounts_factory" module Provider class StaticAccountsFactory < AccountsFactory + def init config + @connections = {} + accounts.each do |account| + create_connection_from_account(config, account) + puts "\tFound static account '#{account.account_name}'" + end + ProviderFactory.add_provider Static::PROVIDER unless @connections.empty? + end + + def provider_name + Static::PROVIDER + end + + def create_connection_from_account config, account + options = { + static_ssh_key: account.ssh_key, + mongo_db: config[:mongo_db], + mongo_host: config[:mongo_host], + mongo_port: config[:mongo_port], + mongo_user: config[:mongo_user], + mongo_password: config[:mongo_password] + } + add_connection(account.account_name, Static.new(options)) + end + + def create_account hash + Devops::Model::StaticProviderAccount.new(hash) + end + end end