Class: PuppetForgeServer::Server
- Inherits:
-
Object
- Object
- PuppetForgeServer::Server
- Includes:
- Utils::Http, Utils::OptionParser
- Defined in:
- lib/puppet_forge_server/server.rb
Instance Method Summary collapse
- #announce(options, backends) ⇒ Object
- #build(backends, webui_root) ⇒ Object
- #go(args) ⇒ Object
- #logging(options) ⇒ Object
- #start(server, options) ⇒ Object
Methods included from Utils::Http
Methods included from Utils::OptionParser
Instance Method Details
#announce(options, backends) ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/puppet_forge_server/server.rb', line 67 def announce(, backends) = .clone .default = 'default' @log.info " +- Daemonizing: #{options[:daemonize]}" @log.info " |- Port: #{options[:port]}" @log.info " |- Host: #{options[:hostname]}" @log.info " |- Pidfile: #{options[:pidfile]}" if [:pidfile] @log.info " |- Server: #{options[:server]}" @log.info ' `- Backends:' backends.each do |backend| @log.info " - #{backend.inspect}" end end |
#build(backends, webui_root) ⇒ Object
57 58 59 60 61 62 63 64 65 |
# File 'lib/puppet_forge_server/server.rb', line 57 def build(backends, webui_root) Rack::Mount::RouteSet.new do |set| set.add_route PuppetForgeServer::App::Frontend.new(webui_root) set.add_route PuppetForgeServer::App::Generic.new set.add_route PuppetForgeServer::App::Version1.new(backends) set.add_route PuppetForgeServer::App::Version2.new(backends) set.add_route PuppetForgeServer::App::Version3.new(backends) end end |
#go(args) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/puppet_forge_server/server.rb', line 24 def go(args) # Initial logger in case error occurs before logging options have been processed @log = PuppetForgeServer::Logger.get begin = (args) @log = logging() backends = backends() server = build(backends, [:webui_root]) announce(, backends) start(server, ) rescue PuppetForgeServer::Errors::Expected => error @log.error error end end |
#logging(options) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/puppet_forge_server/server.rb', line 39 def logging() if [:log_dir] FileUtils.mkdir_p [:log_dir] server_loggers = [File.join([:log_dir], 'server.log')] access_loggers = [File.join([:log_dir], 'access.log')] if [:debug] server_loggers << STDERR access_loggers << STDERR end PuppetForgeServer::Logger.set({:server => server_loggers, :access => access_loggers}) end if [:debug] PuppetForgeServer::Logger.get(:server).level = ::Logger::DEBUG PuppetForgeServer::Logger.get(:access).level = ::Logger::DEBUG end PuppetForgeServer::Logger.get end |
#start(server, options) ⇒ Object
81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/puppet_forge_server/server.rb', line 81 def start(server, ) FileUtils.mkdir_p File.dirname([:pidfile]) if [:pidfile] Rack::Server.start( :app => server, :Host => [:hostname], :Port => [:port], :server => [:server], :daemonize => [:daemonize], :pid => [:pidfile] ) end |