71 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			71 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
|   | module Devops | ||
|  |   class DevopsApi3Application < Application | ||
|  | 
 | ||
|  |     def prepare | ||
|  |       require "auth/devops_auth" | ||
|  |       require_relative "api3/routes/v3.0" | ||
|  |       require_relative "api3/handlers/provider" | ||
|  |       require_relative "api3/handlers/filter" | ||
|  |       require_relative "api3/handlers/user" | ||
|  |       require_relative "api3/handlers/job_task" | ||
|  |       require_relative "api3/handlers/deploy" | ||
|  |       require_relative "api3/handlers/script" | ||
|  |       require_relative "api3/handlers/chef" | ||
|  |       require_relative "api3/handlers/key" | ||
|  |       require_relative "api3/handlers/server" | ||
|  |       require_relative "api3/handlers/image" | ||
|  |       require_relative "api3/handlers/project" | ||
|  |       require_relative "api3/handlers/stack" | ||
|  |       require_relative "api3/handlers/stack_template" | ||
|  |       require_relative "api3/handlers/roles" | ||
|  |       require_relative "api3/handlers/statistic" | ||
|  |       require_relative "api3/handlers/api-docs" | ||
|  | 
 | ||
|  |       require 'lib/stubber' | ||
|  |     end | ||
|  | 
 | ||
|  |     def init | ||
|  |       config = DevopsConfig.config | ||
|  |       Devops::Api3.set :devops_home, config[:devops_dir] | ||
|  |       #set :config, config | ||
|  | 
 | ||
|  |       Devops::Api3.set :keys_dir, (config[:keys_dir] || File.join(config[:devops_dir], "files/keys")) | ||
|  |       Devops::Api3.set :scripts_dir, (config[:scripts_dir] || File.join(config[:devops_dir], "files/scripts")) | ||
|  |       [:keys_dir, :scripts_dir].each {|key| d = Devops::Api3.settings.send(key); FileUtils.mkdir_p(d) unless File.exists?(d) } | ||
|  |       #mongo = Devops::Api2.settings.mongo | ||
|  |       #mongo.create_root_user | ||
|  |       Devops::Model::User.create_root | ||
|  |       Stubber.stub_providers!(config[:stub_providers]) | ||
|  |     end | ||
|  | 
 | ||
|  |     def routes | ||
|  |       require_relative "api3/routes/image" | ||
|  |       require_relative "api3/routes/filter" | ||
|  |       require_relative "api3/routes/deploy" | ||
|  |       require_relative "api3/routes/project" | ||
|  |       require_relative "api3/routes/key" | ||
|  |       require_relative "api3/routes/user" | ||
|  |       require_relative "api3/routes/provider" | ||
|  |       require_relative "api3/routes/server" | ||
|  |       require_relative "api3/routes/script" | ||
|  |       require_relative "api3/routes/chef" | ||
|  |       require_relative "api3/routes/stack" | ||
|  |       require_relative "api3/routes/stack_template" | ||
|  |       require_relative "api3/routes/statistic" | ||
|  |       require_relative "api3/routes/job_task" | ||
|  |       require_relative "api3/routes/roles" | ||
|  |       require_relative "api3/routes/api-docs" | ||
|  | 
 | ||
|  |       routes = Devops::API3::Routes.constants.collect{|s| Devops::API3::Routes.const_get(s)}.select {|const| const.class == Module} | ||
|  |       routes.each do |r| | ||
|  |         Devops::Api3.register r | ||
|  |       end | ||
|  |       DevopsLogger.logger.debug "Api3 routes policies: #{Devops::Api3.policies.inspect}" | ||
|  |       Routes.route "/v3", Devops::Api3 | ||
|  |       #Devops::Api2.routes_list | ||
|  |     end | ||
|  | 
 | ||
|  |   end | ||
|  | end | ||
|  | 
 |