somethings
This commit is contained in:
parent
eed937af5f
commit
10d29624ba
32
devops-service/auth/devops_auth.rb
Normal file
32
devops-service/auth/devops_auth.rb
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
module Sinatra
|
||||||
|
module Devops
|
||||||
|
module Helpers
|
||||||
|
def protect!
|
||||||
|
return if auth_with_basic?
|
||||||
|
halt 401, "Not authorized\n"
|
||||||
|
end
|
||||||
|
|
||||||
|
def auth_with_basic?
|
||||||
|
@auth ||= Rack::Auth::Basic::Request.new(request.env)
|
||||||
|
if @auth.provided? and @auth.basic? and @auth.credentials
|
||||||
|
c = @auth.credentials
|
||||||
|
begin
|
||||||
|
Devops::Db.connector.user_auth(c[0], c[1])
|
||||||
|
true
|
||||||
|
rescue RecordNotFound => e
|
||||||
|
false
|
||||||
|
end
|
||||||
|
else
|
||||||
|
false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.registered(app)
|
||||||
|
app.helpers Devops::Helpers
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
register Devops
|
||||||
|
end
|
||||||
@ -14,9 +14,6 @@ require "devops_db"
|
|||||||
require "sidekiq/web"
|
require "sidekiq/web"
|
||||||
require "fog"
|
require "fog"
|
||||||
|
|
||||||
require "test_subscriber"
|
|
||||||
require "test_subscriber_2"
|
|
||||||
|
|
||||||
require_relative "routes/v2.0"
|
require_relative "routes/v2.0"
|
||||||
require_relative "client"
|
require_relative "client"
|
||||||
require_relative "report"
|
require_relative "report"
|
||||||
|
|||||||
12
devops-service/routes/routes_container.rb
Normal file
12
devops-service/routes/routes_container.rb
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
module Devops
|
||||||
|
module RoutesContainer
|
||||||
|
|
||||||
|
def register_routes
|
||||||
|
routes = Devops::Version2_0::Routes.constants.collect{|s| Devops::Version2_0::Routes.const_get(s)}.select {|const| const.class == Module}
|
||||||
|
routes.each do |r|
|
||||||
|
register r
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
@ -34,12 +34,36 @@ require "routes/v2.0/handlers/status"
|
|||||||
require "routes/v2.0/handlers/tag"
|
require "routes/v2.0/handlers/tag"
|
||||||
require "routes/v2.0/handlers/user"
|
require "routes/v2.0/handlers/user"
|
||||||
require "routes/v2.0/handlers/server"
|
require "routes/v2.0/handlers/server"
|
||||||
|
require "routes/routes_container"
|
||||||
|
|
||||||
|
require "auth/devops_auth"
|
||||||
|
|
||||||
module Devops
|
module Devops
|
||||||
module Version2_0
|
module Version2_0
|
||||||
class Application < Sinatra::Base
|
class Application < Sinatra::Base
|
||||||
|
|
||||||
|
extend Devops::RoutesContainer
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
|
|
||||||
|
@routes = [
|
||||||
|
Devops::Version2_0::Routes::ProviderRoutes,
|
||||||
|
Devops::Version2_0::Routes::BootstrapTemplatesRoutes,
|
||||||
|
Devops::Version2_0::Routes::UserRoutes,
|
||||||
|
Devops::Version2_0::Routes::FilterRoutes,
|
||||||
|
Devops::Version2_0::Routes::FlavorRoutes,
|
||||||
|
Devops::Version2_0::Routes::GroupRoutes,
|
||||||
|
Devops::Version2_0::Routes::ImageRoutes,
|
||||||
|
Devops::Version2_0::Routes::KeyRoutes,
|
||||||
|
Devops::Version2_0::Routes::NetworkRoutes,
|
||||||
|
Devops::Version2_0::Routes::ProjectRoutes,
|
||||||
|
Devops::Version2_0::Routes::ScriptRoutes,
|
||||||
|
Devops::Version2_0::Routes::ServerRoutes,
|
||||||
|
Devops::Version2_0::Routes::StatusRoutes,
|
||||||
|
Devops::Version2_0::Routes::TagRoutes,
|
||||||
|
Devops::Version2_0::Routes::DeployRoutes
|
||||||
|
]
|
||||||
|
|
||||||
def init
|
def init
|
||||||
config = DevopsConfig.config
|
config = DevopsConfig.config
|
||||||
set :devops_home, config[:devops_dir]
|
set :devops_home, config[:devops_dir]
|
||||||
@ -61,24 +85,6 @@ module Devops
|
|||||||
set :mongo, Devops::Db.connector
|
set :mongo, Devops::Db.connector
|
||||||
end
|
end
|
||||||
|
|
||||||
def register_routes
|
|
||||||
register Devops::Version2_0::Routes::ProviderRoutes
|
|
||||||
register Devops::Version2_0::Routes::BootstrapTemplatesRoutes
|
|
||||||
register Devops::Version2_0::Routes::UserRoutes
|
|
||||||
register Devops::Version2_0::Routes::FilterRoutes
|
|
||||||
register Devops::Version2_0::Routes::FlavorRoutes
|
|
||||||
register Devops::Version2_0::Routes::GroupRoutes
|
|
||||||
register Devops::Version2_0::Routes::ImageRoutes
|
|
||||||
register Devops::Version2_0::Routes::KeyRoutes
|
|
||||||
register Devops::Version2_0::Routes::NetworkRoutes
|
|
||||||
register Devops::Version2_0::Routes::ProjectRoutes
|
|
||||||
register Devops::Version2_0::Routes::ScriptRoutes
|
|
||||||
register Devops::Version2_0::Routes::ServerRoutes
|
|
||||||
register Devops::Version2_0::Routes::StatusRoutes
|
|
||||||
register Devops::Version2_0::Routes::TagRoutes
|
|
||||||
register Devops::Version2_0::Routes::DeployRoutes
|
|
||||||
end
|
|
||||||
|
|
||||||
private
|
private
|
||||||
def set_up_providers_keys!(providers, mongo)
|
def set_up_providers_keys!(providers, mongo)
|
||||||
providers.each do |provider|
|
providers.each do |provider|
|
||||||
@ -98,6 +104,7 @@ module Devops
|
|||||||
helpers Sinatra::Streaming
|
helpers Sinatra::Streaming
|
||||||
helpers Devops::Version2_0::Helpers
|
helpers Devops::Version2_0::Helpers
|
||||||
|
|
||||||
|
=begin
|
||||||
use Rack::Auth::Basic do |username, password|
|
use Rack::Auth::Basic do |username, password|
|
||||||
begin
|
begin
|
||||||
settings.mongo.user_auth(username, password)
|
settings.mongo.user_auth(username, password)
|
||||||
@ -106,6 +113,7 @@ module Devops
|
|||||||
false
|
false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
=end
|
||||||
|
|
||||||
configure :production do
|
configure :production do
|
||||||
disable :dump_errors
|
disable :dump_errors
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user