refactored, core files
This commit is contained in:
parent
863480899a
commit
32443651f6
@ -1,4 +1,5 @@
|
|||||||
require 'sinatra/base'
|
require 'sinatra/base'
|
||||||
|
require 'core/devops-logger'
|
||||||
|
|
||||||
class Client < Sinatra::Base
|
class Client < Sinatra::Base
|
||||||
|
|
||||||
@ -7,6 +8,25 @@ class Client < Sinatra::Base
|
|||||||
@@config = DevopsConfig.config
|
@@config = DevopsConfig.config
|
||||||
end
|
end
|
||||||
|
|
||||||
|
configure :production do
|
||||||
|
logger = DevopsLogger.create("/tmp/devops-client.log", Logger::INFO)
|
||||||
|
use Rack::CommonLogger, logger
|
||||||
|
disable :dump_errors
|
||||||
|
disable :show_exceptions
|
||||||
|
# set :logging, Logger::INFO
|
||||||
|
logger.info "Production mode"
|
||||||
|
end
|
||||||
|
|
||||||
|
configure :development do
|
||||||
|
logger = DevopsLogger.create("/tmp/devops-client.log", Logger::DEBUG)
|
||||||
|
use Rack::CommonLogger, logger
|
||||||
|
# set :logging, Logger::DEBUG
|
||||||
|
disable :raise_errors
|
||||||
|
# disable :dump_errors
|
||||||
|
set :show_exceptions, :after_handler
|
||||||
|
logger.info "Development mode"
|
||||||
|
end
|
||||||
|
|
||||||
# Route to download devops client
|
# Route to download devops client
|
||||||
get "/devops-client.gem" do
|
get "/devops-client.gem" do
|
||||||
begin
|
begin
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
module Devops
|
module Devops
|
||||||
module Application
|
|
||||||
class DevopsApi2Application < Application
|
class DevopsApi2Application < Application
|
||||||
|
|
||||||
def prepare
|
def prepare
|
||||||
@ -77,5 +76,4 @@ module Devops
|
|||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
|
|||||||
@ -1,28 +0,0 @@
|
|||||||
module Devops
|
|
||||||
module Application
|
|
||||||
class Application
|
|
||||||
|
|
||||||
@@applications = []
|
|
||||||
|
|
||||||
def self.inherited(base)
|
|
||||||
@@applications << base.new
|
|
||||||
puts "Devops application '#{base}' has been added"
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.applications
|
|
||||||
@@applications
|
|
||||||
end
|
|
||||||
|
|
||||||
def prepare
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
def init
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
def routes
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@ -1,5 +1,4 @@
|
|||||||
module Devops
|
module Devops
|
||||||
module Application
|
|
||||||
class DevopsClientApplication < Application
|
class DevopsClientApplication < Application
|
||||||
|
|
||||||
def prepare
|
def prepare
|
||||||
@ -11,4 +10,3 @@ module Devops
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
module Devops
|
module Devops
|
||||||
module Application
|
|
||||||
class DevopsVersionApplication < Application
|
class DevopsVersionApplication < Application
|
||||||
|
|
||||||
def prepare
|
def prepare
|
||||||
@ -11,5 +10,4 @@ module Devops
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
module Devops
|
module Devops
|
||||||
module Application
|
|
||||||
|
|
||||||
class SidekiqApplication < Application
|
class SidekiqApplication < Application
|
||||||
|
|
||||||
@ -13,5 +12,4 @@ module Devops
|
|||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@ require 'sinatra/base'
|
|||||||
|
|
||||||
class DevopsVersion < Sinatra::Base
|
class DevopsVersion < Sinatra::Base
|
||||||
|
|
||||||
VERSION = "3.0.0"
|
VERSION = "2.3.0"
|
||||||
|
|
||||||
get "/" do
|
get "/" do
|
||||||
VERSION
|
VERSION
|
||||||
|
|||||||
4
devops-service/applications.rb
Normal file
4
devops-service/applications.rb
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
require "app/sidekiq_web"
|
||||||
|
require "app/devops-client"
|
||||||
|
require "app/devops-version"
|
||||||
|
#require "app/devops-api2"
|
||||||
@ -4,11 +4,12 @@ require "rubygems"
|
|||||||
require "bundler/setup"
|
require "bundler/setup"
|
||||||
require 'byebug'
|
require 'byebug'
|
||||||
|
|
||||||
require_relative "devops-service"
|
|
||||||
require_relative "devops_config"
|
|
||||||
require_relative "devops-routes"
|
|
||||||
|
|
||||||
root = File.dirname(__FILE__)
|
root = File.dirname(__FILE__)
|
||||||
|
$:.push root
|
||||||
|
|
||||||
|
require_relative "core/devops-service"
|
||||||
|
require_relative "core/devops-config"
|
||||||
|
require_relative "core/devops-routes"
|
||||||
|
|
||||||
# Read configuration file
|
# Read configuration file
|
||||||
DevopsConfig.read
|
DevopsConfig.read
|
||||||
@ -27,6 +28,10 @@ config[:report_dir_v2] = File.expand_path(File.join(config[:devops_dir], "report
|
|||||||
|
|
||||||
DevopsService.init
|
DevopsService.init
|
||||||
puts Devops::Routes.routes
|
puts Devops::Routes.routes
|
||||||
|
if Devops::Routes.routes.empty?
|
||||||
|
puts "No applications"
|
||||||
|
exit -1
|
||||||
|
end
|
||||||
Devops::Routes.routes.each do |p, c|
|
Devops::Routes.routes.each do |p, c|
|
||||||
map(p) do
|
map(p) do
|
||||||
run c
|
run c
|
||||||
|
|||||||
26
devops-service/core/devops-application.rb
Normal file
26
devops-service/core/devops-application.rb
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
module Devops
|
||||||
|
class Application
|
||||||
|
|
||||||
|
@@applications = []
|
||||||
|
|
||||||
|
def self.inherited(base)
|
||||||
|
@@applications << base.new
|
||||||
|
puts "Devops application '#{base}' has been added"
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.applications
|
||||||
|
@@applications
|
||||||
|
end
|
||||||
|
|
||||||
|
def prepare
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
def init
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
def routes
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
@ -1,3 +1,5 @@
|
|||||||
|
require "db/mongo/mongo_connector"
|
||||||
|
|
||||||
module Devops
|
module Devops
|
||||||
class Db
|
class Db
|
||||||
|
|
||||||
16
devops-service/core/devops-logger.rb
Normal file
16
devops-service/core/devops-logger.rb
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
require "logger"
|
||||||
|
|
||||||
|
class DevopsLogger
|
||||||
|
|
||||||
|
def self.create out, level=Logger::INFO, format='%a %d-%m-%Y %H%M '
|
||||||
|
@_logger = Logger.new out
|
||||||
|
@_logger.level = level
|
||||||
|
@_logger.datetime_format = format
|
||||||
|
@_logger.debug("Logger has been created")
|
||||||
|
@_logger
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.logger
|
||||||
|
@_logger
|
||||||
|
end
|
||||||
|
end
|
||||||
@ -1,29 +1,29 @@
|
|||||||
require "wisper"
|
require "wisper"
|
||||||
|
|
||||||
$:.push File.dirname(__FILE__)
|
=begin
|
||||||
require "db/exceptions/invalid_record"
|
require "db/exceptions/invalid_record"
|
||||||
require "db/exceptions/record_not_found"
|
require "db/exceptions/record_not_found"
|
||||||
require "exceptions/dependency_error"
|
require "exceptions/dependency_error"
|
||||||
require "db/validators/all"
|
require "db/validators/all"
|
||||||
require "db/mongo/mongo_connector"
|
|
||||||
require "providers/provider_factory"
|
require "providers/provider_factory"
|
||||||
|
|
||||||
require "fog"
|
require "fog"
|
||||||
|
|
||||||
require "loader"
|
|
||||||
require "devops_db"
|
|
||||||
require "devops_logger"
|
|
||||||
|
|
||||||
require_relative "routes/v2.0"
|
require_relative "routes/v2.0"
|
||||||
|
|
||||||
require "hooks"
|
require "hooks"
|
||||||
require "app/devops-application"
|
=end
|
||||||
require "app/devops-client"
|
|
||||||
require "app/sidekiq_web"
|
|
||||||
require "app/devops-version"
|
|
||||||
require "app/devops-api2"
|
|
||||||
|
|
||||||
require_relative "sinatra/methods_with_headers"
|
require_relative "devops-loader"
|
||||||
|
require_relative "devops-db"
|
||||||
|
require_relative "devops-logger"
|
||||||
|
require_relative "devops-application"
|
||||||
|
|
||||||
|
require_relative "../sinatra/methods_with_headers"
|
||||||
|
|
||||||
|
require_relative "../applications"
|
||||||
|
#root = File.expand_path("../", __FILE__)
|
||||||
|
#$:.push root
|
||||||
|
|
||||||
class DevopsService
|
class DevopsService
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ class DevopsService
|
|||||||
DevopsLogger.create STDOUT
|
DevopsLogger.create STDOUT
|
||||||
|
|
||||||
routes
|
routes
|
||||||
apps = Devops::Application::Application.applications
|
apps = Devops::Application.applications
|
||||||
apps.each do |a|
|
apps.each do |a|
|
||||||
a.prepare
|
a.prepare
|
||||||
end
|
end
|
||||||
@ -91,4 +91,4 @@ class DevopsService
|
|||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
require "wisper_fix"
|
require_relative "../wisper_fix"
|
||||||
@ -1,5 +1,7 @@
|
|||||||
require "db/exceptions/invalid_record"
|
require "db/exceptions/invalid_record"
|
||||||
require "db/mongo/models/mongo_model"
|
require "db/mongo/models/mongo_model"
|
||||||
|
require "db/validators/image/bootstrap_template.rb"
|
||||||
|
require "db/validators/image/image_in_filter.rb"
|
||||||
|
|
||||||
module Devops
|
module Devops
|
||||||
module Model
|
module Model
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
class Validators::Base
|
module Validators
|
||||||
|
class Base
|
||||||
|
|
||||||
def initialize(model, options={})
|
def initialize(model, options={})
|
||||||
@model = model
|
@model = model
|
||||||
@ -38,3 +39,4 @@ class Validators::Base
|
|||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|||||||
@ -1,6 +1,9 @@
|
|||||||
require "commands/bootstrap_templates"
|
require "commands/bootstrap_templates"
|
||||||
|
require "db/validators/base"
|
||||||
|
|
||||||
module Validators
|
module Validators
|
||||||
class Image::BootstrapTemplate < Base
|
module Image
|
||||||
|
class BootstrapTemplate < Base
|
||||||
|
|
||||||
include BootstrapTemplatesCommands
|
include BootstrapTemplatesCommands
|
||||||
|
|
||||||
@ -18,3 +21,4 @@ module Validators
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|||||||
@ -1,16 +0,0 @@
|
|||||||
require "logger"
|
|
||||||
|
|
||||||
class DevopsLogger
|
|
||||||
|
|
||||||
def self.create out, level=Logger::INFO
|
|
||||||
@_logger = Logger.new out
|
|
||||||
@_logger.level = level
|
|
||||||
@_logger.datetime_format = '%a %d-%m-%Y %H%M '
|
|
||||||
@_logger.info("Logger has been created")
|
|
||||||
@_logger
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.logger
|
|
||||||
@_logger
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@ -3,7 +3,12 @@ require "sinatra/streaming"
|
|||||||
require "helpers/version_2"
|
require "helpers/version_2"
|
||||||
require "json"
|
require "json"
|
||||||
|
|
||||||
|
require "fog"
|
||||||
|
|
||||||
require "auth/devops_auth"
|
require "auth/devops_auth"
|
||||||
|
require "db/exceptions/invalid_record"
|
||||||
|
require "db/exceptions/record_not_found"
|
||||||
|
require "exceptions/dependency_error"
|
||||||
|
|
||||||
module Devops
|
module Devops
|
||||||
class Api2 < Sinatra::Base
|
class Api2 < Sinatra::Base
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
module Devops
|
module Devops
|
||||||
module Version2_0
|
module API2_0
|
||||||
module Routes
|
module Routes
|
||||||
module FlavorRoutes
|
module FlavorRoutes
|
||||||
|
|
||||||
@ -31,7 +31,13 @@ module Devops
|
|||||||
# "disk": 20
|
# "disk": 20
|
||||||
# }
|
# }
|
||||||
# ]
|
# ]
|
||||||
app.get_with_headers "/flavors/:provider", :headers => [:accept], &Devops::Version2_0::Handler::Flavor.get_flavors
|
app.get_with_headers "/flavors/:provider", :headers => [:accept] do#, &Devops::Version2_0::Handler::Flavor.get_flavors
|
||||||
|
check_privileges("flavor", "r")
|
||||||
|
provider = params[:provider]
|
||||||
|
check_provider(provider)
|
||||||
|
h = Devops::API2_0::Handler::Flavor.new(provider)
|
||||||
|
json h.flavors
|
||||||
|
end
|
||||||
|
|
||||||
puts "Flavor routes initialized"
|
puts "Flavor routes initialized"
|
||||||
end
|
end
|
||||||
|
|||||||
@ -19,7 +19,9 @@ module Devops
|
|||||||
|
|
||||||
def self.delete_filter
|
def self.delete_filter
|
||||||
lambda {
|
lambda {
|
||||||
create_response("Deleted", {:images => settings.mongo.delete_available_images(@images, params[:provider])})
|
# f = FilterHandler.new(?) #request, params
|
||||||
|
# f.delete
|
||||||
|
# create_response("Deleted", {:images => f.delete})# settings.mongo.delete_available_images(@images, params[:provider])})
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -1,17 +1,19 @@
|
|||||||
require "providers/provider_factory"
|
require "providers/provider_factory"
|
||||||
|
|
||||||
module Devops
|
module Devops
|
||||||
module Version2_0
|
module API2_0
|
||||||
module Handler
|
module Handler
|
||||||
class Flavor
|
class Flavor
|
||||||
def self.get_flavors
|
|
||||||
lambda {
|
def initialize provider
|
||||||
check_privileges("flavor", "r")
|
@provider = provider
|
||||||
check_provider(params[:provider])
|
|
||||||
p = ::Provider::ProviderFactory.get params[:provider]
|
|
||||||
json p.flavors
|
|
||||||
}
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def flavors
|
||||||
|
p = ::Provider::ProviderFactory.get @provider
|
||||||
|
p.flavors
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user