2015-06-25 11:13:46 +03:00
|
|
|
module Devops
|
2015-07-16 12:54:16 +03:00
|
|
|
class DevopsApi2Application < Application
|
2015-06-25 11:13:46 +03:00
|
|
|
|
2015-07-16 12:54:16 +03:00
|
|
|
def prepare
|
2015-07-16 17:18:55 +03:00
|
|
|
require_relative "api2/routes/v2.0"
|
|
|
|
|
require_relative "api2/handlers/provider"
|
|
|
|
|
require_relative "api2/handlers/flavor"
|
|
|
|
|
require_relative "api2/handlers/filter"
|
|
|
|
|
require_relative "api2/handlers/group"
|
|
|
|
|
require_relative "api2/handlers/user"
|
2015-07-27 11:16:36 +03:00
|
|
|
<<<<<<< HEAD
|
2015-07-23 16:56:51 +03:00
|
|
|
require_relative "api2/handlers/report"
|
|
|
|
|
require_relative "api2/handlers/deploy"
|
|
|
|
|
require_relative "api2/handlers/script"
|
2015-07-17 20:22:29 +03:00
|
|
|
require_relative "api2/handlers/bootstrap_templates"
|
|
|
|
|
require_relative "api2/handlers/key"
|
|
|
|
|
require_relative "api2/handlers/tag"
|
|
|
|
|
require_relative "api2/handlers/server"
|
2015-07-27 11:14:01 +03:00
|
|
|
|
|
|
|
|
require_relative "api2/handlers/stack"
|
|
|
|
|
require_relative "api2/handlers/stack_template"
|
|
|
|
|
require_relative "api2/handlers/stack_template_preset"
|
2015-07-16 17:18:55 +03:00
|
|
|
=begin
|
2015-07-16 12:54:16 +03:00
|
|
|
require "routes/v2.0/handlers/image"
|
|
|
|
|
require "routes/v2.0/handlers/network"
|
|
|
|
|
require "routes/v2.0/handlers/project"
|
|
|
|
|
require "routes/v2.0/handlers/status"
|
2015-07-16 17:18:55 +03:00
|
|
|
=end
|
2015-07-10 13:08:59 +03:00
|
|
|
|
2015-07-16 12:54:16 +03:00
|
|
|
require 'lib/stubber'
|
|
|
|
|
end
|
2015-06-25 11:13:46 +03:00
|
|
|
|
2015-07-16 12:54:16 +03:00
|
|
|
def init
|
|
|
|
|
config = DevopsConfig.config
|
|
|
|
|
Devops::Api2.set :devops_home, config[:devops_dir]
|
|
|
|
|
#set :config, config
|
2015-06-25 11:13:46 +03:00
|
|
|
|
2015-07-16 12:54:16 +03:00
|
|
|
Devops::Api2.set :keys_dir, (config[:keys_dir] || File.join(config[:devops_dir], "files/keys"))
|
|
|
|
|
Devops::Api2.set :scripts_dir, (config[:scripts_dir] || File.join(config[:devops_dir], "files/scripts"))
|
|
|
|
|
[:keys_dir, :scripts_dir].each {|key| d = Devops::Api2.settings.send(key); FileUtils.mkdir_p(d) unless File.exists?(d) }
|
|
|
|
|
init_mongo
|
|
|
|
|
Devops::Api2.settings.mongo.create_root_user
|
|
|
|
|
::Provider::ProviderFactory.init(config)
|
2015-06-25 11:13:46 +03:00
|
|
|
|
2015-07-16 12:54:16 +03:00
|
|
|
Stubber.stub_providers! if config[:stub_classes]
|
|
|
|
|
end
|
2015-06-25 11:13:46 +03:00
|
|
|
|
2015-07-16 12:54:16 +03:00
|
|
|
def routes
|
2015-07-16 17:18:55 +03:00
|
|
|
require_relative "api2/routes/flavor"
|
|
|
|
|
require_relative "api2/routes/image"
|
|
|
|
|
require_relative "api2/routes/filter"
|
|
|
|
|
require_relative "api2/routes/network"
|
|
|
|
|
require_relative "api2/routes/group"
|
|
|
|
|
require_relative "api2/routes/deploy"
|
|
|
|
|
require_relative "api2/routes/project"
|
|
|
|
|
require_relative "api2/routes/key"
|
|
|
|
|
require_relative "api2/routes/user"
|
|
|
|
|
require_relative "api2/routes/provider"
|
|
|
|
|
require_relative "api2/routes/tag"
|
|
|
|
|
require_relative "api2/routes/server"
|
|
|
|
|
require_relative "api2/routes/script"
|
|
|
|
|
require_relative "api2/routes/bootstrap_templates"
|
|
|
|
|
require_relative "api2/routes/stack"
|
|
|
|
|
require_relative "api2/routes/stack_template"
|
|
|
|
|
require_relative "api2/routes/report"
|
2015-06-25 11:13:46 +03:00
|
|
|
|
2015-07-16 17:18:55 +03:00
|
|
|
routes = Devops::API2_0::Routes.constants.collect{|s| Devops::API2_0::Routes.const_get(s)}.select {|const| const.class == Module}
|
2015-07-16 12:54:16 +03:00
|
|
|
routes.each do |r|
|
|
|
|
|
Devops::Api2.register r
|
2015-06-25 11:13:46 +03:00
|
|
|
end
|
2015-07-16 12:54:16 +03:00
|
|
|
Routes.route "/v2.0", Devops::Api2
|
|
|
|
|
end
|
2015-06-25 11:13:46 +03:00
|
|
|
|
2015-07-16 12:54:16 +03:00
|
|
|
private
|
|
|
|
|
def init_mongo
|
|
|
|
|
Devops::Api2.set :mongo, Devops::Db.connector
|
2015-06-25 11:13:46 +03:00
|
|
|
end
|
2015-07-16 12:54:16 +03:00
|
|
|
|
2015-06-25 11:13:46 +03:00
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|