#!/usr/bin/env ruby

ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)

require 'rubygems'
require 'bundler/setup'
require 'yaml'
require 'optparse'

$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'lib')
require 'admin'

DESCRIPTION = "
This tool reads service definition from default configuration
file ../config/default.yml or uses the path indicated by -c

Ctrl-C to cleanly terminate

".freeze

# default configuration file
config_file = File.join(File.dirname(__FILE__), '..', 'config', 'default.yml')

OptionParser.new do |options|
  options.banner = 'Usage: admin [options]'

  options.on('-c', '--config CONFIG', 'Configuration file') do |option|
    config_file = option
  end

  options.on('-h', '--help', 'Help') do
    puts DESCRIPTION
    puts options
    exit
  end
end.parse!

begin
  @config = YAML.load_file(config_file)
rescue => exception
  puts "Can't load config file: #{exception}"
  exit 1
end

AdminUI::Admin.new(@config, false).start
