summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/chef-zero7
-rw-r--r--lib/chef_zero/server.rb21
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