Class: Hyperwaverelay::Vault

Inherits:
Thor
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/hyperwaverelay/vault.rb

Instance Method Summary collapse

Instance Method Details

#gen(root = nil) ⇒ Object



8
9
10
11
12
13
14
15
16
# File 'lib/hyperwaverelay/vault.rb', line 8

def gen(root = nil)
  if root
    self.destination_root = File.expand_path(root)
    puts "Entering Project Directory #{File.expand_path(root)}"
  end
  create_file ".vault_password" do
    SecureRandom::base64(20)
  end
end

#rekeyObject



18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/hyperwaverelay/vault.rb', line 18

def rekey
  options[:force] == true
  vaulted_files = Pathname.glob('**/*').select {|f| f.file? && Hyperwaverelay::Util.is_vaulted?(f.to_s)}
  vaulted_files.each do |file|
    puts "Decrypting #{file.to_s}"
    system "ansible-vault decrypt #{file.to_s}"
  end
  invoke :gen, force: true
  vaulted_files.each do |file|
    puts "Recrypting #{file.to_s}"
    system "ansible-vault encrypt #{file.to_s}"
  end
end