2016-01-19 18:11:07 +03:00
|
|
|
require "lib/core_ext/hash"
|
|
|
|
|
require "lib/core_ext/nil_class"
|
|
|
|
|
require "lib/core_ext/string"
|
2014-05-08 15:34:26 +04:00
|
|
|
|
2015-07-16 12:54:16 +03:00
|
|
|
require_relative "devops-loader"
|
2015-08-28 14:44:28 +03:00
|
|
|
require_relative "devops-application"
|
2015-07-16 12:54:16 +03:00
|
|
|
require_relative "devops-db"
|
|
|
|
|
require_relative "devops-logger"
|
2015-09-22 12:19:15 +03:00
|
|
|
require_relative "devops-messages"
|
2015-07-16 12:54:16 +03:00
|
|
|
|
2018-04-04 22:44:39 +03:00
|
|
|
require "providers/provider.rb"
|
|
|
|
|
|
|
|
|
|
require "lib/ssh/ssh_utils"
|
2015-08-11 19:47:54 +03:00
|
|
|
|
2015-07-16 12:54:16 +03:00
|
|
|
require_relative "../sinatra/methods_with_headers"
|
2014-05-08 15:34:26 +04:00
|
|
|
|
2015-07-16 12:54:16 +03:00
|
|
|
require_relative "../applications"
|
2015-08-19 19:51:53 +03:00
|
|
|
require_relative "devops-routes"
|
2015-02-18 13:15:25 +03:00
|
|
|
|
2015-01-26 15:02:58 +03:00
|
|
|
class DevopsService
|
2014-12-15 14:26:54 +03:00
|
|
|
|
2015-01-26 15:02:58 +03:00
|
|
|
class << self
|
2014-12-15 14:26:54 +03:00
|
|
|
|
2015-02-06 17:21:13 +03:00
|
|
|
def init
|
2018-04-04 22:44:39 +03:00
|
|
|
Devops::Db.init(Sinatra::Base.environment)
|
|
|
|
|
DevopsLogger.logger = DevopsLogger.create($stdout)
|
2015-07-10 15:00:13 +03:00
|
|
|
|
2018-04-04 22:44:39 +03:00
|
|
|
if DevopsConfig.config[:url_prefix].nil?
|
|
|
|
|
DevopsConfig.config[:url_prefix] = ""
|
|
|
|
|
elsif !DevopsConfig.config[:url_prefix].empty?
|
|
|
|
|
DevopsConfig.config[:url_prefix] = "/" + DevopsConfig.config[:url_prefix] unless DevopsConfig.config[:url_prefix].start_with?("/")
|
|
|
|
|
end
|
|
|
|
|
Devops::Routes.preffix = DevopsConfig.config[:url_prefix]
|
2015-09-22 12:19:15 +03:00
|
|
|
Devops::Messages.init
|
2015-08-13 17:43:08 +03:00
|
|
|
|
2018-04-04 22:44:39 +03:00
|
|
|
load_apps
|
|
|
|
|
prepare_apps_and_plugins
|
|
|
|
|
init_apps_and_plugins
|
|
|
|
|
load_routes
|
|
|
|
|
|
|
|
|
|
KnifeFactory.init
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def load_apps
|
|
|
|
|
@apps = Devops::Application.applications
|
|
|
|
|
end
|
2015-06-25 11:13:46 +03:00
|
|
|
|
2018-04-04 22:44:39 +03:00
|
|
|
def prepare_apps_and_plugins
|
|
|
|
|
@apps.each(&:prepare)
|
2015-06-30 14:27:42 +03:00
|
|
|
Devops::Loader.prepare_plugins
|
2018-04-04 22:44:39 +03:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def init_apps_and_plugins
|
|
|
|
|
@apps.each(&:init)
|
2015-06-25 11:13:46 +03:00
|
|
|
Devops::Loader.init_plugins
|
2018-04-04 22:44:39 +03:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def load_routes
|
|
|
|
|
@apps.each(&:routes)
|
2015-02-06 17:21:13 +03:00
|
|
|
Devops::Loader.routes
|
2014-05-08 15:34:26 +04:00
|
|
|
end
|
2015-02-12 13:30:49 +03:00
|
|
|
|
|
|
|
|
def debug?
|
|
|
|
|
DevopsConfig.config[:debug]
|
|
|
|
|
end
|
2014-05-08 15:34:26 +04:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|