models in Devops::Model module, auth
This commit is contained in:
parent
5ee2e2f714
commit
42f936f040
@ -1,8 +1,9 @@
|
||||
module Sinatra
|
||||
module Devops
|
||||
module DevopsAuth
|
||||
module Helpers
|
||||
def protect!
|
||||
return if auth_with_basic?
|
||||
headers['WWW-Authenticate'] = 'Basic realm="Restricted Area"'
|
||||
halt 401, "Not authorized\n"
|
||||
end
|
||||
|
||||
@ -23,10 +24,10 @@ module Sinatra
|
||||
end
|
||||
|
||||
def self.registered(app)
|
||||
app.helpers Devops::Helpers
|
||||
app.helpers Sinatra::DevopsAuth::Helpers
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
register Devops
|
||||
register Sinatra::DevopsAuth
|
||||
end
|
||||
|
||||
@ -182,7 +182,7 @@ module ServerCommands
|
||||
servers = []
|
||||
servers_info.each do |info|
|
||||
image = info[:image]
|
||||
s = Server.new
|
||||
s = Devops::Model::Server.new
|
||||
s.provider = provider.name
|
||||
s.project = project_name
|
||||
s.deploy_env = env_name
|
||||
|
||||
@ -20,7 +20,7 @@ module Connectors
|
||||
private
|
||||
|
||||
def model_from_bson(bson)
|
||||
::Image.build_from_bson(bson)
|
||||
Devops::Model::Image.build_from_bson(bson)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@ module Connectors
|
||||
private
|
||||
|
||||
def model_from_bson(bson)
|
||||
::Key.build_from_bson(bson)
|
||||
Devops::Model::Key.build_from_bson(bson)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -96,7 +96,7 @@ module Connectors
|
||||
private
|
||||
|
||||
def model_from_bson(bson)
|
||||
::Project.build_from_bson(bson)
|
||||
Devops::Model::Project.build_from_bson(bson)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -41,7 +41,7 @@ module Connectors
|
||||
private
|
||||
|
||||
def model_from_bson(bson)
|
||||
::Report.new(bson)
|
||||
Devops::Model::Report.new(bson)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -66,7 +66,7 @@ module Connectors
|
||||
private
|
||||
|
||||
def model_from_bson(bson)
|
||||
::Server.build_from_bson(bson)
|
||||
Devops::Model::Server.build_from_bson(bson)
|
||||
end
|
||||
|
||||
# couldn't be replaced with ShowCommand (_id doesn't neccesary appear in params)
|
||||
|
||||
@ -18,7 +18,7 @@ module Connectors
|
||||
|
||||
def model_from_bson(bson)
|
||||
provider = bson['provider']
|
||||
::StackFactory.get_class(provider).build_from_bson(bson)
|
||||
Devops::Model::StackFactory.get_class(provider).build_from_bson(bson)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -18,7 +18,7 @@ module Connectors
|
||||
|
||||
def model_from_bson(bson)
|
||||
provider = bson['provider']
|
||||
::StackTemplateFactory.get_class(provider).build_from_bson(bson)
|
||||
Devops::Model::StackTemplateFactory.get_class(provider).build_from_bson(bson)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ module Connectors
|
||||
def create_root_user
|
||||
u = user('root')
|
||||
rescue RecordNotFound => e
|
||||
root = ::User.create_root
|
||||
root = Devops::Model::User.create_root
|
||||
collection.insert(root.to_mongo_hash)
|
||||
end
|
||||
|
||||
@ -49,7 +49,7 @@ module Connectors
|
||||
private
|
||||
|
||||
def model_from_bson(bson)
|
||||
::User.build_from_bson(bson)
|
||||
Devops::Model::User.build_from_bson(bson)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -3,7 +3,9 @@ require "db/exceptions/invalid_record"
|
||||
require "providers/provider_factory"
|
||||
require "commands/deploy_env"
|
||||
|
||||
class DeployEnvBase < MongoModel
|
||||
module Devops
|
||||
module Model
|
||||
class DeployEnvBase < MongoModel
|
||||
|
||||
include DeployEnvCommands
|
||||
|
||||
@ -53,4 +55,6 @@ class DeployEnvBase < MongoModel
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
require "db/mongo/models/deploy_env/deploy_env_base"
|
||||
|
||||
class DeployEnvEc2 < DeployEnvBase
|
||||
module Devops
|
||||
module Model
|
||||
class DeployEnvEc2 < DeployEnvBase
|
||||
|
||||
attr_accessor :flavor, :image, :subnets, :groups
|
||||
|
||||
@ -60,4 +62,6 @@ class DeployEnvEc2 < DeployEnvBase
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -2,7 +2,9 @@ require_relative "deploy_env_static"
|
||||
require_relative "deploy_env_openstack"
|
||||
require_relative "deploy_env_ec2"
|
||||
|
||||
class DeployEnvFactory
|
||||
module Devops
|
||||
module Model
|
||||
class DeployEnvFactory
|
||||
|
||||
def self.create hash
|
||||
c = case(hash["provider"])
|
||||
@ -18,4 +20,6 @@ class DeployEnvFactory
|
||||
c.new(hash)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -2,7 +2,9 @@ require "db/mongo/models/mongo_model"
|
||||
require "db/exceptions/invalid_record"
|
||||
require "commands/deploy_env"
|
||||
|
||||
class DeployEnvMulti < MongoModel
|
||||
module Devops
|
||||
module Model
|
||||
class DeployEnvMulti < MongoModel
|
||||
|
||||
include DeployEnvCommands
|
||||
|
||||
@ -115,4 +117,6 @@ class DeployEnvMulti < MongoModel
|
||||
DeployEnvMulti.new(hash)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
require "db/mongo/models/deploy_env/deploy_env_base"
|
||||
require "providers/provider_factory"
|
||||
|
||||
class DeployEnvOpenstack < DeployEnvBase
|
||||
module Devops
|
||||
module Model
|
||||
class DeployEnvOpenstack < DeployEnvBase
|
||||
|
||||
attr_accessor :flavor, :image, :subnets, :groups
|
||||
|
||||
@ -54,4 +56,6 @@ class DeployEnvOpenstack < DeployEnvBase
|
||||
nil
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
require "db/mongo/models/deploy_env/deploy_env_base"
|
||||
|
||||
class DeployEnvStatic < DeployEnvBase
|
||||
module Devops
|
||||
module Model
|
||||
class DeployEnvStatic < DeployEnvBase
|
||||
|
||||
types :identifier => {:type => String, :empty => false},
|
||||
:provider => {:type => String, :empty => false},
|
||||
@ -14,32 +16,16 @@ class DeployEnvStatic < DeployEnvBase
|
||||
|
||||
def initialize d={}
|
||||
super(d)
|
||||
=begin
|
||||
self.identifier = d["identifier"]
|
||||
b = d["run_list"] || []
|
||||
self.run_list = (b.is_a?(Array) ? b.uniq : b)
|
||||
self.expires = d["expires"]
|
||||
self.provider = d["provider"]
|
||||
b = d["users"] || []
|
||||
self.users = (b.is_a?(Array) ? b.uniq : b)
|
||||
=end
|
||||
end
|
||||
|
||||
def to_hash
|
||||
super
|
||||
=begin
|
||||
{
|
||||
"identifier" => self.identifier,
|
||||
"run_list" => self.run_list,
|
||||
"expires" => self.expires,
|
||||
"provider" => self.provider,
|
||||
"users" => self.users
|
||||
}
|
||||
=end
|
||||
end
|
||||
|
||||
def self.create hash
|
||||
DeployEnvStatic.new(hash)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
require "db/exceptions/invalid_record"
|
||||
require "db/mongo/models/mongo_model"
|
||||
|
||||
class Image < MongoModel
|
||||
module Devops
|
||||
module Model
|
||||
class Image < MongoModel
|
||||
|
||||
attr_accessor :id, :provider, :remote_user, :name, :bootstrap_template
|
||||
types :id => {:type => String, :empty => false},
|
||||
@ -40,4 +42,6 @@ class Image < MongoModel
|
||||
Image.new( JSON.parse(json) )
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -2,7 +2,9 @@ require "db/exceptions/invalid_record"
|
||||
require "db/mongo/models/mongo_model"
|
||||
require "json"
|
||||
|
||||
class Key < MongoModel
|
||||
module Devops
|
||||
module Model
|
||||
class Key < MongoModel
|
||||
|
||||
SYSTEM = "system"
|
||||
USER = "user"
|
||||
@ -43,4 +45,6 @@ class Key < MongoModel
|
||||
o
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -2,7 +2,9 @@ require "providers/provider_factory"
|
||||
require "db/exceptions/invalid_record"
|
||||
require "json"
|
||||
|
||||
class MongoModel
|
||||
module Devops
|
||||
module Model
|
||||
class MongoModel
|
||||
|
||||
# multi_json sends argument to 'to_json' method
|
||||
def to_json arg=nil
|
||||
@ -143,4 +145,6 @@ class MongoModel
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -6,7 +6,9 @@ require "db/mongo/models/deploy_env/deploy_env_multi"
|
||||
require "db/mongo/models/mongo_model"
|
||||
require "json"
|
||||
|
||||
class Project < MongoModel
|
||||
module Devops
|
||||
module Model
|
||||
class Project < MongoModel
|
||||
|
||||
attr_accessor :id, :deploy_envs, :type, :archived, :description
|
||||
|
||||
@ -136,4 +138,6 @@ class Project < MongoModel
|
||||
Project.new p
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
require "db/exceptions/invalid_record"
|
||||
require "db/mongo/models/mongo_model"
|
||||
|
||||
class Report < MongoModel
|
||||
module Devops
|
||||
module Model
|
||||
class Report < MongoModel
|
||||
|
||||
DEPLOY_TYPE = 1
|
||||
SERVER_TYPE = 2
|
||||
@ -31,4 +33,6 @@ class Report < MongoModel
|
||||
}
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
require "db/exceptions/invalid_record"
|
||||
require "db/mongo/models/mongo_model"
|
||||
|
||||
class Server < MongoModel
|
||||
module Devops
|
||||
module Model
|
||||
class Server < MongoModel
|
||||
|
||||
attr_accessor :provider, :chef_node_name, :id, :remote_user, :project, :deploy_env, :private_ip, :public_ip, :created_at, :without_bootstrap, :created_by, :reserved_by
|
||||
attr_accessor :options, :static, :key
|
||||
@ -86,4 +88,6 @@ class Server < MongoModel
|
||||
self.static || false
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
class StackBase < MongoModel
|
||||
module Devops
|
||||
module Model
|
||||
class StackBase < MongoModel
|
||||
|
||||
attr_accessor :id, :project, :deploy_env, :stack_template, :cloud_stack_id, :provider
|
||||
|
||||
@ -49,4 +51,6 @@ class StackBase < MongoModel
|
||||
raise 'override me'
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -1,8 +1,12 @@
|
||||
class StackEc2 < StackBase
|
||||
module Devops
|
||||
module Model
|
||||
class StackEc2 < StackBase
|
||||
|
||||
def create_stack_in_cloud!
|
||||
# create stack in AWS
|
||||
self.cloud_stack_id = 'arn:aws:cloudformation:us-east-1:123456789:stack/MyStack/aaf549a0-a413-11df-adb3-5081b3858e83'
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -2,7 +2,9 @@ require_relative "stack_base"
|
||||
require_relative "stack_openstack"
|
||||
require_relative "stack_ec2"
|
||||
|
||||
class StackFactory
|
||||
module Devops
|
||||
module Model
|
||||
class StackFactory
|
||||
|
||||
def self.create(provider, attrs)
|
||||
get_class(provider).create(attrs)
|
||||
@ -23,4 +25,6 @@ class StackFactory
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
class StackOpenstack < StackBase
|
||||
module Devops
|
||||
module Model
|
||||
class StackOpenstack < StackBase
|
||||
|
||||
def create_stack_in_cloud!
|
||||
provider = ::Provider::ProviderFactory.get('openstack')
|
||||
@ -7,4 +9,6 @@ class StackOpenstack < StackBase
|
||||
# self.cloud_stack_id = '4c712026-dcd5-4664-90b8-0915494c1332'
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
require 'tempfile'
|
||||
require 'securerandom'
|
||||
|
||||
class StackTemplateBase < MongoModel
|
||||
module Devops
|
||||
module Model
|
||||
class StackTemplateBase < MongoModel
|
||||
|
||||
attr_accessor :id, :template_url, :template_json, :provider
|
||||
|
||||
@ -70,4 +72,6 @@ class StackTemplateBase < MongoModel
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
class StackTemplateEc2 < StackTemplateBase
|
||||
module Devops
|
||||
module Model
|
||||
class StackTemplateEc2 < StackTemplateBase
|
||||
|
||||
def delete_template_file_from_storage
|
||||
raise 'Implement me'
|
||||
@ -12,4 +14,6 @@ class StackTemplateEc2 < StackTemplateBase
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -2,7 +2,9 @@ require_relative "stack_template_base"
|
||||
require_relative "stack_template_openstack"
|
||||
require_relative "stack_template_ec2"
|
||||
|
||||
class StackTemplateFactory
|
||||
module Devops
|
||||
module Model
|
||||
class StackTemplateFactory
|
||||
|
||||
def self.create(provider, attrs)
|
||||
get_class(provider).create(attrs)
|
||||
@ -23,4 +25,6 @@ class StackTemplateFactory
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
class StackTemplateOpenstack < StackTemplateBase
|
||||
module Devops
|
||||
module Model
|
||||
class StackTemplateOpenstack < StackTemplateBase
|
||||
|
||||
def delete_template_file_from_storage
|
||||
raise 'Implement me'
|
||||
@ -12,4 +14,6 @@ class StackTemplateOpenstack < StackTemplateBase
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -2,7 +2,9 @@ require "db/exceptions/invalid_record"
|
||||
require "exceptions/invalid_command"
|
||||
require "db/mongo/models/mongo_model"
|
||||
|
||||
class User < MongoModel
|
||||
module Devops
|
||||
module Model
|
||||
class User < MongoModel
|
||||
|
||||
ROOT_USER_NAME = 'root'
|
||||
ROOT_PASSWORD = ''
|
||||
@ -109,4 +111,6 @@ class User < MongoModel
|
||||
privileges.merge(options)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -37,6 +37,10 @@ class DevopsConfig
|
||||
@@config
|
||||
end
|
||||
|
||||
def [](key)
|
||||
@@config[key]
|
||||
end
|
||||
|
||||
def first_private_ipv4
|
||||
Socket.ip_address_list.detect{|intf| intf.ipv4_private?}
|
||||
end
|
||||
|
||||
@ -102,6 +102,8 @@ module Devops
|
||||
helpers Sinatra::Streaming
|
||||
helpers Devops::Version2_0::Helpers
|
||||
|
||||
register Sinatra::DevopsAuth
|
||||
|
||||
=begin
|
||||
use Rack::Auth::Basic do |username, password|
|
||||
begin
|
||||
|
||||
@ -45,7 +45,7 @@ module Devops
|
||||
lambda {
|
||||
check_privileges("image", "w")
|
||||
settings.mongo.image params[:image_id]
|
||||
image = ::Image.new(create_object_from_json_body)
|
||||
image = Devops::Model::Image.new(create_object_from_json_body)
|
||||
image.id = params[:image_id]
|
||||
settings.mongo.image_update image
|
||||
create_response("Image '#{params[:image_id]}' has been updated")
|
||||
|
||||
@ -18,7 +18,7 @@ module Devops
|
||||
check_privileges("project", "r")
|
||||
fields = []
|
||||
if params.key?("fields") and params["fields"].is_a?(Array)
|
||||
::Project.fields.each do |k|
|
||||
Devops::Model::Project.fields.each do |k|
|
||||
fields.push k if params["fields"].include?(k)
|
||||
end
|
||||
end
|
||||
@ -49,7 +49,7 @@ module Devops
|
||||
body = create_object_from_json_body
|
||||
check_string(body["name"], "Parameter 'name' must be a not empty string")
|
||||
check_array(body["deploy_envs"], "Parameter 'deploy_envs' must be a not empty array of objects", Hash)
|
||||
p = ::Project.new(body)
|
||||
p = Devops::Model::Project.new(body)
|
||||
halt_response("Project '#{p.id}' already exist") if settings.mongo.is_project_exists?(p)
|
||||
p.add_authorized_user [request.env['REMOTE_USER']]
|
||||
settings.mongo.project_insert p
|
||||
@ -70,11 +70,11 @@ module Devops
|
||||
def self.update_project
|
||||
lambda {
|
||||
check_privileges("project", "w")
|
||||
project = ::Project.new(create_object_from_json_body)
|
||||
project = Devops::Model::Project.new(create_object_from_json_body)
|
||||
project.id = params[:project]
|
||||
old_project = settings.mongo.project params[:project]
|
||||
settings.mongo.project_update project
|
||||
roles = ::Project.create_new_roles(old_project, project, logger)
|
||||
roles = Devops::Model::Project.create_new_roles(old_project, project, logger)
|
||||
info = "Project '#{project.id}' has been updated." + Project.create_roles_response(roles)
|
||||
create_response(info)
|
||||
}
|
||||
@ -181,7 +181,7 @@ module Devops
|
||||
end
|
||||
end
|
||||
else
|
||||
dir = DevopsService.config[:report_dir_v2]
|
||||
dir = DevopsConfig[:report_dir_v2]
|
||||
files = []
|
||||
uri = URI.parse(request.url)
|
||||
servers.each do |s|
|
||||
@ -190,9 +190,9 @@ module Devops
|
||||
rescue InvalidPrivileges, RecordNotFound => e
|
||||
next
|
||||
end
|
||||
jid = DeployWorker.perform_async(dir, s.to_hash, [], DevopsService.config)
|
||||
jid = DeployWorker.perform_async(dir, s.to_hash, [], DevopsConfig.config)
|
||||
logger.info "Job '#{jid}' has been started"
|
||||
uri.path = "#{DevopsService.config[:url_prefix]}/v2.0/report/" + jid
|
||||
uri.path = "#{DevopsConfig[:url_prefix]}/v2.0/report/" + jid
|
||||
files.push uri.to_s
|
||||
end
|
||||
json files
|
||||
@ -234,23 +234,23 @@ module Devops
|
||||
project = settings.mongo.project(params[:id])
|
||||
env = project.deploy_env params[:env]
|
||||
logger.info "Test project '#{project.id}' and environment '#{env.identifier}'"
|
||||
if env.provider == Provider::Static::PROVIDER
|
||||
msg = "Can not test environment with provider '#{Provider::Static::PROVIDER}'"
|
||||
if env.provider == ::Provider::Static::PROVIDER
|
||||
msg = "Can not test environment with provider '#{::Provider::Static::PROVIDER}'"
|
||||
Logger.warn msg
|
||||
return [400, msg]
|
||||
end
|
||||
|
||||
dir = DevopsService.config[:report_dir_v2]
|
||||
dir = DevopsConfig[:report_dir_v2]
|
||||
uri = URI.parse(request.url)
|
||||
p = {
|
||||
:project => project.id,
|
||||
:env => env.identifier,
|
||||
:user => request.env['REMOTE_USER']
|
||||
}
|
||||
jid = ProjectTestWorker.perform_async(dir, p, DevopsService.config)
|
||||
jid = ProjectTestWorker.perform_async(dir, p, DevopsConfig.config)
|
||||
Worker.set_status jid, Worker::STATUS::IN_QUEUE
|
||||
logger.info "Job '#{jid}' has been created"
|
||||
uri.path = "#{DevopsService.config[:url_prefix]}/v2.0/report/" + jid
|
||||
uri.path = "#{DevopsConfig[:url_prefix]}/v2.0/report/" + jid
|
||||
files = [uri.to_s]
|
||||
sleep 1
|
||||
json files
|
||||
@ -283,7 +283,7 @@ module Devops
|
||||
old_project.deploy_envs.each do |e|
|
||||
new_project.remove_env(e.identifier)
|
||||
end
|
||||
::Project.create_roles new_project.id, new_project.deploy_envs, logger
|
||||
Devops::Model::Project.create_roles new_project.id, new_project.deploy_envs, logger
|
||||
end
|
||||
|
||||
def self.create_roles_response roles
|
||||
|
||||
@ -29,7 +29,7 @@ module Devops
|
||||
check_privileges("server", "r")
|
||||
fields = []
|
||||
if params.key?("fields") and params["fields"].is_a?(Array)
|
||||
Server.fields.each do |k|
|
||||
Devops::Model::Server.fields.each do |k|
|
||||
fields.push k if params["fields"].include?(k)
|
||||
end
|
||||
end
|
||||
@ -113,16 +113,16 @@ module Devops
|
||||
end
|
||||
end
|
||||
else
|
||||
dir = DevopsService.config[:report_dir_v2]
|
||||
dir = DevopsConfig[:report_dir_v2]
|
||||
files = []
|
||||
uri = URI.parse(request.url)
|
||||
servers.each do |s|
|
||||
h = s.to_hash
|
||||
h["options"] = s.options
|
||||
jid = CreateServerWorker.perform_async(dir, env.provider, h, request.env['REMOTE_USER'], DevopsService.config)
|
||||
jid = CreateServerWorker.perform_async(dir, env.provider, h, request.env['REMOTE_USER'], DevopsConfig.config)
|
||||
Worker.set_status jid, Worker::STATUS::IN_QUEUE
|
||||
logger.info "Job '#{jid}' has been started"
|
||||
uri.path = "#{DevopsService.config[:url_prefix]}/v2.0/report/" + jid
|
||||
uri.path = "#{DevopsConfig[:url_prefix]}/v2.0/report/" + jid
|
||||
files.push uri.to_s
|
||||
end
|
||||
sleep 1
|
||||
@ -254,16 +254,16 @@ module Devops
|
||||
end
|
||||
end
|
||||
else
|
||||
dir = DevopsService.config[:report_dir_v2]
|
||||
dir = DevopsConfig[:report_dir_v2]
|
||||
files = []
|
||||
uri = URI.parse(request.url)
|
||||
h = s.to_hash
|
||||
h["options"] = s.options
|
||||
h["_id"] = s.id
|
||||
jid = BootstrapWorker.perform_async(dir, d.provider, h, request.env['REMOTE_USER'], DevopsService.config)
|
||||
jid = BootstrapWorker.perform_async(dir, d.provider, h, request.env['REMOTE_USER'], DevopsConfig.config)
|
||||
Worker.set_status jid, Worker::STATUS::IN_QUEUE
|
||||
logger.info "Job '#{jid}' has been started"
|
||||
uri.path = "#{DevopsService.config[:url_prefix]}/v2.0/report/" + jid
|
||||
uri.path = "#{DevopsConfig[:url_prefix]}/v2.0/report/" + jid
|
||||
uri.query = nil
|
||||
uri.fragment = nil
|
||||
files.push uri.to_s
|
||||
@ -289,7 +289,7 @@ module Devops
|
||||
|
||||
cert = settings.mongo.key(key)
|
||||
provider = ::Provider::ProviderFactory.get("static")
|
||||
s = Server.new
|
||||
s = Devops::Model::Server.new
|
||||
s.provider = provider.name
|
||||
s.project = project
|
||||
s.deploy_env = deploy_env
|
||||
|
||||
@ -22,7 +22,7 @@ module Devops
|
||||
["username", "password", "email"].each do |p|
|
||||
check_string(user[p], "Parameter '#{p}' must be a not empty string")
|
||||
end
|
||||
Devops::Db.connector.user_insert ::User.new(user)
|
||||
Devops::Db.connector.user_insert Devops::Model::User.new(user)
|
||||
create_response("Created", nil, 201)
|
||||
}
|
||||
end
|
||||
@ -66,7 +66,7 @@ module Devops
|
||||
check_privileges("user", "w")
|
||||
action = File.basename(request.path)
|
||||
u = File.basename(File.dirname(request.path))
|
||||
raise InvalidPrivileges.new("Access denied for '#{request.env['REMOTE_USER']}'") if u == ::User::ROOT_USER_NAME and request.env['REMOTE_USER'] != ::User::ROOT_USER_NAME
|
||||
raise InvalidPrivileges.new("Access denied for '#{request.env['REMOTE_USER']}'") if u == Devops::Model::User::ROOT_USER_NAME and request.env['REMOTE_USER'] != Devops::Model::User::ROOT_USER_NAME
|
||||
|
||||
check_privileges("user", "w") unless request.env['REMOTE_USER'] == u
|
||||
|
||||
|
||||
@ -2,12 +2,6 @@ require "sinatra/base"
|
||||
|
||||
module Sinatra
|
||||
|
||||
module HeadersHelpers
|
||||
|
||||
end
|
||||
|
||||
helpers HeadersHelpers
|
||||
|
||||
class Base
|
||||
class << self
|
||||
|
||||
@ -16,6 +10,7 @@ module Sinatra
|
||||
headers = opt.delete(:headers) || []
|
||||
before path do
|
||||
check_headers *headers
|
||||
protect!
|
||||
end
|
||||
|
||||
get path, opt, &block
|
||||
@ -25,6 +20,7 @@ module Sinatra
|
||||
headers = opt.delete(:headers) || []
|
||||
before path do
|
||||
check_headers *headers
|
||||
protect!
|
||||
end
|
||||
post_with_statistic path, opt, &block
|
||||
end
|
||||
@ -41,6 +37,7 @@ module Sinatra
|
||||
headers = opt.delete(:headers) || []
|
||||
before path do
|
||||
check_headers *headers
|
||||
protect!
|
||||
end
|
||||
|
||||
put path, opt, &block
|
||||
@ -54,6 +51,7 @@ module Sinatra
|
||||
headers = opt.delete(:headers) || []
|
||||
before path do
|
||||
check_headers *headers
|
||||
protect!
|
||||
end
|
||||
|
||||
delete path, opt, &block
|
||||
@ -71,6 +69,7 @@ module Sinatra
|
||||
else
|
||||
check_headers *headers
|
||||
end
|
||||
protect!
|
||||
end
|
||||
|
||||
hash.each do |method, block|
|
||||
|
||||
Loading…
Reference in New Issue
Block a user