Class: Zest::BootstrapGenerator
- Inherits:
-
Object
- Object
- Zest::BootstrapGenerator
- Defined in:
- lib/knife-instance/bootstrap_generator.rb
Constant Summary collapse
- CONFIG_FILE_TEMPLATE =
File. 'templates/boot.sh.erb', File.dirname(__FILE__)
Instance Method Summary collapse
- #config_content ⇒ Object
- #encrypted_data_bag_secret ⇒ Object
- #first_boot ⇒ Object
- #generate ⇒ Object
-
#initialize(validation_key_file, validation_client_name, chef_server_url, encrypted_databag_secret_file, attr = {}) ⇒ BootstrapGenerator
constructor
A new instance of BootstrapGenerator.
- #start_chef ⇒ Object
- #validation_key ⇒ Object
Constructor Details
#initialize(validation_key_file, validation_client_name, chef_server_url, encrypted_databag_secret_file, attr = {}) ⇒ BootstrapGenerator
Returns a new instance of BootstrapGenerator.
6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/knife-instance/bootstrap_generator.rb', line 6 def initialize(validation_key_file, validation_client_name, chef_server_url, encrypted_databag_secret_file, attr = {}) @validation_client_name = validation_client_name @validation_key_file = validation_key_file @chef_server_url = chef_server_url @encrypted_databag_secret_file = encrypted_databag_secret_file @environment = attr[:environment] @run_list = attr[:run_list] @hostname = attr[:hostname] @color = attr[:color] @base_domain = attr[:base_domain] @domain = attr[:domain] end |
Instance Method Details
#config_content ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/knife-instance/bootstrap_generator.rb', line 43 def config_content <<-CONFIG require 'syslog-logger' Logger::Syslog.class_eval do attr_accessor :sync, :formatter end log_level :info log_location Logger::Syslog.new("chef-client") chef_server_url "#{@chef_server_url}" validation_client_name "#{@validation_client_name}" node_name "#{@hostname}" CONFIG end |
#encrypted_data_bag_secret ⇒ Object
34 35 36 |
# File 'lib/knife-instance/bootstrap_generator.rb', line 34 def encrypted_data_bag_secret File.read @encrypted_databag_secret_file end |
#first_boot ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/knife-instance/bootstrap_generator.rb', line 20 def first_boot { "run_list" => @run_list, "assigned_hostname" => @hostname, "rails" => {"cluster" => {"color" => @color}}, "base_domain" => @base_domain, "domain" => @domain }.to_json end |
#generate ⇒ Object
38 39 40 41 |
# File 'lib/knife-instance/bootstrap_generator.rb', line 38 def generate template = File.read(CONFIG_FILE_TEMPLATE) Erubis::Eruby.new(template).evaluate(self) end |
#start_chef ⇒ Object
58 59 60 |
# File 'lib/knife-instance/bootstrap_generator.rb', line 58 def start_chef "/usr/bin/chef-client -j /etc/chef/first-boot.json -E #{@environment}" end |
#validation_key ⇒ Object
30 31 32 |
# File 'lib/knife-instance/bootstrap_generator.rb', line 30 def validation_key File.read(@validation_key_file) end |