Class: Subspace::Commands::Vars

Inherits:
Base
  • Object
show all
Defined in:
lib/subspace/commands/vars.rb

Instance Method Summary collapse

Methods inherited from Base

#confirm_overwrite, #copy, #dest_dir, #gem_path, #pass_through_params, #playbook_dir, #project_path, #require_configuration, #template, #template!, #template_dir

Methods included from Ansible

#ansible_command

Constructor Details

#initialize(args, options) ⇒ Vars

Returns a new instance of Vars.



2
3
4
5
6
7
8
9
10
11
12
13
# File 'lib/subspace/commands/vars.rb', line 2

def initialize(args, options)
  @environment = args.first
  @action = if options.edit
    "edit"
  elsif options.create
    "create"
  else
    "view"
  end

  run
end

Instance Method Details

#create_localObject



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/subspace/commands/vars.rb', line 26

def create_local
  if File.exists? File.join(project_path, "config/application.yml")
    answer = ask "config/application.yml already exists. Reply 'yes' to overwrite: [no] "
    abort unless answer == "yes"
  end
  src = application_yml_template
  dest = "config/application.yml"
  vars_file = File.join(project_path, "config/provision/vars/#{@environment}.yml")
  extra_vars = "project_path=#{project_path} vars_file=#{vars_file} src=#{src} dest=#{dest}"
  ansible_command "ansible-playbook", File.join(playbook_dir, "local_template.yml"), "--extra-vars", extra_vars
  say "File created at config/application.yml with #{@environment} secrets"
  say "-------------------------------------------------------------------\n"

  system "cat", "config/application.yml"
end

#runObject



15
16
17
18
19
20
21
22
23
24
# File 'lib/subspace/commands/vars.rb', line 15

def run
  case @action
  when "create"
    create_local
  when "view", "edit"
    ansible_command "ansible-vault", @action, "vars/#{@environment}.yml"
  else
    abort "Invalid vars command"
  end
end