#!/usr/bin/env ruby

require 'rubygems'
$:.unshift(File.join(File.expand_path("../..", __FILE__), 'lib'))

$0 = "ganymed"

require 'madvertise/boot'
Env.key = 'GANYMED_ENV'

require 'ganymed/master'
cli = Ganymed::Master::CLI.parse_options

$config = Configuration.new
$config.mixin(File.join(Ganymed::LIB_DIR, 'ganymed/config.yml'))
$config.mixin(cli.config[:config_file]) if cli.config[:config_file]

if Env.prod?
  Madvertise::Logging::ImprovedLogger::Formatter.
    format = "<%{syslog_severity}>%{msg}\n"
end

server = Ganymed::Master.new(cli.config)

if cli.config[:daemonize] or cli.config[:kill]
  daemon = Servolux::Daemon.new(:server => server)

  if cli.config[:kill]
    daemon.shutdown
  else
    daemon.startup
  end
else
  server.startup
end