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 "fog"
|
||||
|
||||
require "test_subscriber"
|
||||
require "test_subscriber_2"
|
||||
|
||||
require_relative "routes/v2.0"
|
||||
require_relative "client"
|
||||
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/user"
|
||||
require "routes/v2.0/handlers/server"
|
||||
require "routes/routes_container"
|
||||
|
||||
require "auth/devops_auth"
|
||||
|
||||
module Devops
|
||||
module Version2_0
|
||||
class Application < Sinatra::Base
|
||||
|
||||
extend Devops::RoutesContainer
|
||||
|
||||
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
|
||||
config = DevopsConfig.config
|
||||
set :devops_home, config[:devops_dir]
|
||||
@ -61,24 +85,6 @@ module Devops
|
||||
set :mongo, Devops::Db.connector
|
||||
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
|
||||
def set_up_providers_keys!(providers, mongo)
|
||||
providers.each do |provider|
|
||||
@ -98,6 +104,7 @@ module Devops
|
||||
helpers Sinatra::Streaming
|
||||
helpers Devops::Version2_0::Helpers
|
||||
|
||||
=begin
|
||||
use Rack::Auth::Basic do |username, password|
|
||||
begin
|
||||
settings.mongo.user_auth(username, password)
|
||||
@ -106,6 +113,7 @@ module Devops
|
||||
false
|
||||
end
|
||||
end
|
||||
=end
|
||||
|
||||
configure :production do
|
||||
disable :dump_errors
|
||||
|
||||
Loading…
Reference in New Issue
Block a user