diff options
-rwxr-xr-x | bin/chef-zero | 7 | ||||
-rw-r--r-- | lib/chef_zero/server.rb | 21 |
2 files changed, 13 insertions, 15 deletions
diff --git a/bin/chef-zero b/bin/chef-zero index c23570e..4178c1e 100755 --- a/bin/chef-zero +++ b/bin/chef-zero @@ -7,11 +7,8 @@ require 'chef_zero/version' require 'chef_zero/server' require 'optparse' -options = { - :host => '127.0.0.1', - :port => 8889, - :generate_real_keys => false -} +options = {} + OptionParser.new do |opts| opts.banner = "Usage: chef-zero [ARGS]" diff --git a/lib/chef_zero/server.rb b/lib/chef_zero/server.rb index 6f01ab1..288f99e 100644 --- a/lib/chef_zero/server.rb +++ b/lib/chef_zero/server.rb @@ -56,10 +56,12 @@ require 'chef_zero/endpoints/not_found_endpoint' module ChefZero class Server + DEFAULT_OPTIONS = { host: '127.0.0.1', port: 8889 } + def initialize(options = {}) - @options = options - @options[:host] ||= '127.0.0.1' - @options[:port] ||= 80 + options = DEFAULT_OPTIONS.merge(options) + @url = "http://#{options[:host]}:#{options[:port]}" + @generate_real_keys = options[:generate_real_keys] ChefZero::Log.level = options[:debug] ? :debug : :info @@ -71,15 +73,10 @@ module ChefZero attr_reader :server attr_reader :data - attr_reader :options - attr_reader :generate_real_keys + attr_reader :url include ChefZero::Endpoints - def url - "http://#{options[:host]}:#{options[:port]}" - end - def start(options = {}) if options[:publish] puts ">> Starting Chef Zero (v#{ChefZero::VERSION})..." @@ -116,7 +113,7 @@ module ChefZero end def gen_key_pair - if options[:generate_real_keys] + if generate_real_keys? private_key = OpenSSL::PKey::RSA.new(2048) public_key = private_key.public_key.to_s public_key.sub!(/^-----BEGIN RSA PUBLIC KEY-----/, '-----BEGIN PUBLIC KEY-----') @@ -295,5 +292,9 @@ module ChefZero end value end + + def generate_real_keys? + !!@generate_real_keys + end end end |