lib/subspace/commands/bootstrap.rb in subspace-1.0.3 vs lib/subspace/commands/bootstrap.rb in subspace-1.0.4
- old
+ new
@@ -1,8 +1,11 @@
class Subspace::Commands::Bootstrap < Subspace::Commands::Base
+ PASS_THROUGH_PARAMS = ["private-key"]
+
def initialize(args, options)
@host_spec = args.first
+ @options = options
@ask_pass = options.password
@yum = options.yum
run
end
@@ -21,10 +24,11 @@
"file",
"-a",
"path=/home/{{ansible_ssh_user}}/.ssh state=directory mode=0700",
"-vvvv"
]
+ cmd = add_pass_through_params cmd
bootstrap_command cmd
end
def install_python
update_ansible_cfg
@@ -35,16 +39,28 @@
"-a",
"test -e /usr/bin/python || (apt -y update && apt install -y python-minimal)",
"--become",
"-vvvv"
]
+ cmd = add_pass_through_params cmd
bootstrap_command cmd
end
def bootstrap_command(cmd)
if @ask_pass
cmd.push("--ask-pass")
end
ansible_command *cmd
end
+ def add_pass_through_params(cmd)
+ PASS_THROUGH_PARAMS.each do |param_name|
+ x = param_name.split('-')[1..-1].map(&:upcase).join('_')
+ hash_key = (param_name.gsub('-', '_') + (x == '' ? '' : "_#{x}")).to_sym
+ value = @options.__hash__[hash_key]
+ if value
+ cmd += ["--#{param_name}", value]
+ end
+ end
+ cmd
+ end
end