class Chef::Knife::HitoriKeyCreate
Public Instance Methods
create_key()
click to toggle source
# File lib/chef/knife/hitori_key_create.rb, line 16 def create_key secret_file_path = Chef::Config[:encrypted_data_bag_secret] if ::File.exists?(secret_file_path) yes = ui.confirm("#{secret_file_path} already exists.\nOVERWRITE this?") return unless yes end do_create_key(secret_file_path) end
do_create_key(secret_file_path)
click to toggle source
# File lib/chef/knife/hitori_key_create.rb, line 25 def do_create_key(secret_file_path) FileUtils.mkpath(::File.dirname(secret_file_path)) key = [OpenSSL::Random.random_bytes(512)].pack('m0') data = (1..key.size/64).inject(key) {|x,i| x.insert(i*64+i-1, "\n")} + "\n" ::File.write(secret_file_path, data) ui.info ui.color("save secret key to #{secret_file_path}", :green) end
run()
click to toggle source
# File lib/chef/knife/hitori_key_create.rb, line 11 def run update_environment(config[:environment]) if config[:environment] create_key end