rails-ahoy 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/ahoy.gemspec +1 -0
  3. data/lib/ahoy.rb +4 -1
  4. data/lib/ahoy/version.rb +1 -1
  5. data/lib/generators/ahoy/base.rb +8 -3
  6. data/lib/generators/ahoy/deployment_generator.rb +122 -0
  7. data/lib/generators/ahoy/init_generator.rb +10 -15
  8. data/lib/generators/ahoy/lib/question_helper.rb +50 -0
  9. data/lib/generators/ahoy/lib/variable_store.rb +19 -0
  10. data/lib/generators/ahoy/templates/_Vagrantfile +3 -3
  11. data/lib/generators/ahoy/templates/_database.yml +2 -2
  12. data/lib/generators/ahoy/templates/_deploy.rb +14 -13
  13. data/lib/generators/ahoy/templates/_puma.rb +3 -4
  14. data/lib/generators/ahoy/templates/_puma.sh +1 -1
  15. data/lib/generators/ahoy/templates/ansible/playbooks/roles/complete/tasks/main.yml +14 -0
  16. data/lib/generators/ahoy/templates/ansible/playbooks/roles/complete/templates/database.yml +9 -0
  17. data/lib/generators/ahoy/templates/ansible/playbooks/roles/complete/templates/secrets.yml +2 -0
  18. data/lib/generators/ahoy/templates/ansible/playbooks/roles/essentials/tasks/main.yml +6 -6
  19. data/lib/generators/ahoy/templates/ansible/playbooks/roles/essentials/templates/vimrc +0 -2
  20. data/lib/generators/ahoy/templates/ansible/playbooks/roles/nginx/templates/platform.conf +6 -6
  21. data/lib/generators/ahoy/templates/ansible/playbooks/roles/postgresql/tasks/main.yml +8 -8
  22. data/lib/generators/ahoy/templates/ansible/playbooks/roles/ruby/tasks/gems.yml +2 -2
  23. data/lib/generators/ahoy/templates/ansible/playbooks/roles/ruby/tasks/rbenv.yml +8 -8
  24. data/lib/generators/ahoy/templates/ansible/playbooks/roles/ruby/tasks/ruby.yml +4 -4
  25. data/lib/generators/ahoy/templates/ansible/playbooks/roles/security/tasks/fail2ban.yml +4 -0
  26. data/lib/generators/ahoy/templates/ansible/playbooks/roles/security/tasks/firewall.yml +2 -0
  27. data/lib/generators/ahoy/templates/ansible/playbooks/roles/security/tasks/main.yml +1 -6
  28. data/lib/generators/ahoy/templates/{ansible_templates/playbooks/roles/security/tasks/_ssh_settings.yml → ansible/playbooks/roles/security/tasks/ssh_settings.yml} +4 -4
  29. data/lib/generators/ahoy/templates/ansible/playbooks/roles/user/tasks/main.yml +4 -4
  30. data/lib/generators/ahoy/templates/ansible/playbooks/roles/variables/tasks/application.yml +21 -0
  31. data/lib/generators/ahoy/templates/ansible/playbooks/roles/variables/tasks/main.yml +3 -0
  32. data/lib/generators/ahoy/templates/ansible/playbooks/roles/variables/tasks/system.yml +25 -0
  33. data/lib/generators/ahoy/templates/ansible/playbooks/roles/variables/templates/profile +22 -0
  34. data/lib/generators/ahoy/templates/ansible/playbooks/tasks/vagrant_settings.yml +1 -1
  35. data/lib/generators/ahoy/templates/ansible/production.sh +1 -0
  36. data/lib/generators/ahoy/templates/ansible_templates/_production +5 -0
  37. data/lib/generators/ahoy/templates/{ansible/playbooks/playbook.yml → ansible_templates/playbooks/_production.yml} +6 -7
  38. data/lib/generators/ahoy/templates/ansible_templates/playbooks/_vagrant.yml +17 -0
  39. data/lib/generators/ahoy/templates/ansible_templates/playbooks/group_vars/_all.yml +2 -4
  40. data/lib/generators/ahoy/templates/ansible_templates/playbooks/group_vars/_production.yml +11 -0
  41. data/lib/generators/ahoy/templates/env_templates/_development_env.yml +1 -0
  42. data/lib/generators/ahoy/templates/env_templates/_production_env.yml +12 -0
  43. data/lib/generators/ahoy/templates/env_templates/_test_env.yml +1 -0
  44. data/lib/generators/ahoy/vagrant_generator.rb +31 -31
  45. metadata +22 -15
  46. data/lib/generators/ahoy/ansible_generator.rb +0 -36
  47. data/lib/generators/ahoy/deploy_generator.rb +0 -47
  48. data/lib/generators/ahoy/templates/_env_vars.yml +0 -7
  49. data/lib/generators/ahoy/templates/ansible/playbooks/roles/deploy_env/tasks/main.yml +0 -10
  50. data/lib/generators/ahoy/templates/ansible/playbooks/roles/deploy_env/templates/database.yml +0 -9
  51. data/lib/generators/ahoy/templates/ansible/playbooks/roles/deploy_env/templates/secrets.yml +0 -2
  52. data/lib/generators/ahoy/templates/ansible_templates/_hosts +0 -5
  53. data/lib/generators/ahoy/templates/ansible_templates/_provision.sh +0 -1
  54. data/lib/generators/ahoy/templates/ansible_templates/playbooks/host_vars/_default.yml +0 -8
  55. data/lib/generators/ahoy/templates/ansible_templates/playbooks/host_vars/_production_deploy.yml +0 -7
  56. data/lib/generators/ahoy/templates/ansible_templates/playbooks/host_vars/_production_root.yml +0 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e47599b1aa1a12667a2315382f70904217393e33
4
- data.tar.gz: 01aeb2bde0dba7f046cc65e8ea35b7002c08be3d
3
+ metadata.gz: 545d24c53a83117a7f92ce5c4a9a65d143b1e1a2
4
+ data.tar.gz: 207298f354c4f5cce697dab1ed2f036359811776
5
5
  SHA512:
6
- metadata.gz: b5449c2133d45713d6b3a5dcb4465097279c61f8578e79a33f793288e291baea9c9b5febed13a3d6c3039e38eac65732a0955282485857b7e839e74b010eae2d
7
- data.tar.gz: 6aae1705f27c9837b95b84724010f1bdc1e3b442941646bc13b039ad673b3ab55af39312a1388b178ebd6f532ff0bdbaf4f12d6d01eed46ec3ba61c353f941fa
6
+ metadata.gz: 5ec65beb65811148ed2ecd304c42c2bb1fbe0ec2c94dcf1a42fdf88fb703c826e3c4af0af19438fe45383eda1598016b0e0d9dfc543f287c1f3da8a40b66fcfc
7
+ data.tar.gz: 4a0dc4ee707356d7f16312958a08c027db0d50438f32a5457b40ef272dbd2c36f5e5fdec8bcd7ea9234ee3a1de8e5f3f06cee04f22cad7e121866463d292c52d
data/ahoy.gemspec CHANGED
@@ -2,6 +2,7 @@
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'ahoy/version'
5
+ require 'ahoy'
5
6
 
6
7
  Gem::Specification.new do |spec|
7
8
  spec.name = "rails-ahoy"
data/lib/ahoy.rb CHANGED
@@ -1,5 +1,8 @@
1
1
  require "ahoy/version"
2
2
 
3
3
  module Ahoy
4
- # Your code goes here...
4
+ def self.env
5
+ env_file = YAML.load(File.open(Rails.root + ".env/#{Rails.env}_env.yml", 'r'))
6
+ env_file.each { |k,v| ENV[k.to_s.upcase] = v.to_s } if env_file.present?
7
+ end
5
8
  end
data/lib/ahoy/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ahoy
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -1,8 +1,14 @@
1
+ require 'generators/ahoy/base'
2
+
1
3
  module Ahoy
2
4
  module Initialize
3
5
  def root
4
6
  File.dirname(__FILE__)
5
7
  end
8
+
9
+ def temp_dir
10
+ File.join(File.dirname(__FILE__), 'tmp/')
11
+ end
6
12
  end
7
13
 
8
14
  module Generator
@@ -15,9 +21,8 @@ module Ahoy
15
21
 
16
22
  private
17
23
 
18
- def defaults(value)
19
- puts '-' * 100
20
- puts "Default: #{value}"
24
+ def question(type, &block)
25
+ Ahoy::QuestionHelper.question(type, &block)
21
26
  end
22
27
  end
23
28
  end
@@ -0,0 +1,122 @@
1
+ require 'rails/generators'
2
+ require 'generators/ahoy/base'
3
+ require 'generators/ahoy/lib/question_helper'
4
+ require 'generators/ahoy/lib/variable_store'
5
+ require 'fileutils'
6
+
7
+ module Ahoy
8
+ class DeploymentGenerator < Ahoy::Generator::Base
9
+
10
+ def prompt_user
11
+ question :string do
12
+ {
13
+ app_name: 'What is the name of your application? [enter for default]',
14
+ default: Rails.application.class.parent_name.underscore
15
+ }
16
+ end
17
+ question :string do
18
+ {
19
+ server_domain: 'Which domain will you be deploying to? [enter for default]',
20
+ required: true
21
+ }
22
+ end
23
+ question :string do
24
+ {
25
+ server_user: 'Enter a name for your server user',
26
+ required: true
27
+ }
28
+ end
29
+ question :string do
30
+ {
31
+ server_ssh_port: 'What SSH port would you like to use on your server? [enter for default]',
32
+ default: '22'
33
+ }
34
+ end
35
+ question :string do
36
+ {
37
+ ruby_version: 'Which version of Ruby would you like to install? [enter for default]',
38
+ default: '2.1.5'
39
+ }
40
+ end
41
+ question :string do
42
+ {
43
+ postgresql_version: 'Which version of PostgreSQL would you like to install? [enter for default]',
44
+ default: '9.3'
45
+ }
46
+ end
47
+ question :string do
48
+ {
49
+ database_name: 'Enter a name for your production database',
50
+ default: Rails.application.class.parent_name.underscore + '_production'
51
+ }
52
+ end
53
+ question :string do
54
+ {
55
+ database_user: 'Enter a name for your production database user',
56
+ required: true
57
+ }
58
+ end
59
+ question :string do
60
+ {
61
+ database_password: 'Enter a password for your production database',
62
+ required: true
63
+ }
64
+ end
65
+ question :string do
66
+ {
67
+ app_repo: 'What is the github repository for this application?',
68
+ required: true
69
+ }
70
+ end
71
+ question :string do
72
+ {
73
+ app_repo_branch: 'Which repository branch will be used for deployment? [enter for default]',
74
+ default: 'master'
75
+ }
76
+ end
77
+ end
78
+
79
+ def copy_directory
80
+ directory 'ansible', 'config/ansible'
81
+ end
82
+
83
+ def copy_files
84
+ copy_file '_puma.sh', 'bin/puma.sh'
85
+ copy_file 'env_templates/_development_env.yml', '.env/development_env.yml'
86
+ copy_file 'env_templates/_test_env.yml', '.env/test_env.yml'
87
+ end
88
+
89
+ def copy_templates
90
+ template 'ansible_templates/_production', 'config/ansible/production'
91
+ template 'ansible_templates/playbooks/_production.yml', 'config/ansible/playbooks/production.yml'
92
+ template 'ansible_templates/playbooks/group_vars/_all.yml', 'config/ansible/playbooks/group_vars/all.yml'
93
+ template '_puma.rb', 'config/puma.rb'
94
+ template '_deploy.rb', 'config/deploy.rb'
95
+ template 'env_templates/_production_env.yml', '.env/production_env.yml'
96
+ end
97
+
98
+ def add_gems
99
+ gem_group :production do
100
+ gem 'puma'
101
+ gem 'rb-readline'
102
+ end
103
+ end
104
+
105
+ def modify_files
106
+ append_file '.gitignore', '.env/'
107
+ inject_into_file 'config/environment.rb', after: "require File.expand_path('../application', __FILE__)\n\n" do <<-'RUBY'
108
+ Ahoy.env
109
+ RUBY
110
+ end
111
+ end
112
+
113
+ def change_permissions
114
+ FileUtils.chmod 0751, 'config/ansible/production.sh'
115
+ FileUtils.chmod 0751, 'bin/puma.sh'
116
+ end
117
+
118
+ def create_symlinks
119
+ FileUtils.ln_s '../../../../.env/production_env.yml', 'config/ansible/playbooks/group_vars/production.yml'
120
+ end
121
+ end
122
+ end
@@ -1,34 +1,29 @@
1
1
  require 'ahoy/version'
2
2
  require 'rails/generators'
3
3
  require 'generators/ahoy/base'
4
+ require 'generators/ahoy/lib/variable_store'
4
5
 
5
6
  module Ahoy
6
7
  class InitGenerator < Ahoy::Generator::Base
7
8
 
8
9
  def init
9
- divider
10
+ section_divider
10
11
  masthead
11
- divider
12
- generate 'ahoy:ansible'
13
- divider
12
+ section_divider
13
+ generate 'ahoy:deployment'
14
+ section_divider
14
15
  generate 'ahoy:vagrant'
15
- divider
16
- generate 'ahoy:deploy'
17
- divider
16
+ section_divider
18
17
  puts 'Finalizing...'
19
- copy_env_vars_file
20
- divider
18
+ section_divider
21
19
  puts 'Finished!'
20
+ Ahoy::VariableStore.clear!
22
21
  end
23
22
 
24
- private
25
23
 
26
- def copy_env_vars_file
27
- template '_env_vars.yml', 'config/env_vars.yml'
28
- append_file '.gitignore', 'config/env_vars.yml'
29
- end
24
+ private
30
25
 
31
- def divider
26
+ def section_divider
32
27
  puts '=' * 100
33
28
  end
34
29
 
@@ -0,0 +1,50 @@
1
+ require 'generators/ahoy/lib/variable_store'
2
+ require 'thor'
3
+
4
+ module Ahoy
5
+ class QuestionHelper
6
+
7
+ cattr_accessor :required
8
+
9
+ def self.question(type, &block)
10
+ question_hash = block.call
11
+ @@required = question_hash[:required]
12
+ default = question_hash[:default]
13
+ key = question_hash.keys[0]
14
+ question = "#{question_hash[key]}:"
15
+
16
+ question_divider(default)
17
+
18
+ case type
19
+ when :string
20
+ string_question(question, key, default)
21
+ when :boolean
22
+ boolean_question(question, key, default)
23
+ end
24
+ end
25
+
26
+ def self.string_question(question, key, default=nil)
27
+ if @@required == true
28
+ answer = ''
29
+ until answer != ''
30
+ answer = Thor.new.ask(question)
31
+ Ahoy::VariableStore.add_variable(key, answer.empty? ? default : answer)
32
+ puts "Answer required, but you can always change it later!!!\n\n" if answer == ''
33
+ end
34
+ else
35
+ answer = Thor.new.ask(question)
36
+ Ahoy::VariableStore.add_variable(key, answer.empty? ? default : answer)
37
+ end
38
+ end
39
+
40
+ def self.boolean_question(question, key, default=nil)
41
+ answer = Thor.new.yes?(question)
42
+ Ahoy::VariableStore.add_variable(key, answer == true ? answer : false)
43
+ end
44
+
45
+ def self.question_divider(value=nil)
46
+ puts '-' * 100
47
+ puts "Default: #{value}" unless value.nil?
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,19 @@
1
+ require 'generators/ahoy/base'
2
+ require 'fileutils'
3
+ require 'yaml'
4
+
5
+ module Ahoy
6
+ class VariableStore
7
+ def self.add_variable(key, value)
8
+ File.open(Ahoy::Generator.temp_dir + "variables.yml", 'a') {|f| f.write("#{key}: #{value}\n") }
9
+ end
10
+
11
+ def self.variables
12
+ YAML.load(File.open(Ahoy::Generator.temp_dir + "variables.yml", 'r'))
13
+ end
14
+
15
+ def self.clear!
16
+ FileUtils.rm(Ahoy::Generator.temp_dir + "variables.yml")
17
+ end
18
+ end
19
+ end
@@ -9,12 +9,12 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
9
9
  config.vm.network :forwarded_port, guest: 3000, host: 3000
10
10
 
11
11
  config.vm.provider 'virtualbox' do |v|
12
- v.memory = <%= @memory == 0 ? 2048 : (@memory * 1024) %>
13
- v.cpus = <%= @cpus == 0 ? 1 : @cpus %>
12
+ v.memory = <%= Ahoy::VariableStore.variables['vagrant_memory'].to_i * 1024 %>
13
+ v.cpus = <%= Ahoy::VariableStore.variables['vagrant_cpus'].to_i %>
14
14
  end
15
15
 
16
16
  config.vm.provision 'ansible' do |ansible|
17
- ansible.playbook = 'config/ansible/playbooks/playbook.yml'
17
+ ansible.playbook = 'config/ansible/playbooks/vagrant.yml'
18
18
  ansible.limit = 'default'
19
19
  end
20
20
  end
@@ -11,8 +11,8 @@ default: &default
11
11
 
12
12
  development:
13
13
  <<: *default
14
- database: <%= Rails.application.class.parent_name.underscore %>_development
14
+ database: <%= Ahoy::VariableStore.variables['app_name'] %>_development
15
15
 
16
16
  test:
17
17
  <<: *default
18
- database: <%= Rails.application.class.parent_name.underscore %>_test
18
+ database: <%= Ahoy::VariableStore.variables['app_name'] %>_test
@@ -3,18 +3,20 @@ require 'mina/rails'
3
3
  require 'mina/git'
4
4
  require 'mina/rbenv'
5
5
 
6
- set :repository, "<%= @github_repo %>"
7
- set :branch, 'master'
8
- set :deploy_to, "/var/www/<%= Rails.application.class.parent_name.underscore %>"
9
- set :app_path, "/var/www/<%= Rails.application.class.parent_name.underscore %>/current"
10
- set :forward_agent, true
11
- set :shared_paths, ['config/database.yml', 'config/secrets.yml', 'log', 'tmp']
6
+ task :setup_variables => :environment do
7
+ set :user, '<%= Ahoy::VariableStore.variables['server_user'] %>'
8
+ set :domain, '<%= Ahoy::VariableStore.variables['server_domain'] %>'
9
+ set :port, '<%= Ahoy::VariableStore.variables['server_ssh_port'] %>'
10
+ set :repository, '<%= Ahoy::VariableStore.variables['app_repo'] %>'
11
+ set :branch, '<%= Ahoy::VariableStore.variables['app_repo_branch'] %>'
12
+ set :forward_agent, true
13
+ set :deploy_to, '/var/www/<%= Ahoy::VariableStore.variables['app_name'] %>'
14
+ set :app_path, '/var/www/<%= Ahoy::VariableStore.variables['app_name'] %>/current'
15
+ set :shared_paths, ['config/database.yml', 'config/secrets.yml', 'log', 'tmp', '.env/production_env.yml']
16
+ end
12
17
 
13
18
  task :production do
14
- set :user, 'deploy'
15
- set :domain, "<%= @server_ip == '' ? '127.0.0.1' : @server_ip %>"
16
- set :port, <%= @server_ssh_port == '' ? '22' : @server_ssh_port %>
17
- set :stage, 'production'
19
+ invoke :setup_variables
18
20
  end
19
21
 
20
22
  task :environment do
@@ -35,7 +37,6 @@ task :deploy => :environment do
35
37
  invoke :'rails:db_migrate'
36
38
  invoke :'rails:assets_precompile'
37
39
  invoke :'deploy:cleanup'
38
-
39
40
  to :launch do
40
41
  invoke :'server:restart'
41
42
  end
@@ -44,8 +45,8 @@ end
44
45
 
45
46
  namespace :server do
46
47
  [:start, :stop, :restart].each do |action|
47
- task action do
48
- queue "cd #{app_path} && RAILS_ENV=#{stage} && bin/puma.sh #{action}"
48
+ task action => :environment do
49
+ queue "cd #{app_path} && RAILS_ENV=#{settings[:rails_env]} && bin/puma.sh #{action}"
49
50
  end
50
51
  end
51
52
  end
@@ -8,11 +8,10 @@ port ENV['PORT'] || 3000
8
8
  environment ENV['RACK_ENV'] || 'production'
9
9
 
10
10
  daemonize true
11
+ pidfile "/var/www/<%= Ahoy::VariableStore.variables['app_name'] %>/shared/tmp/pids/puma.pid"
12
+ stdout_redirect "/var/www/<%= Ahoy::VariableStore.variables['app_name'] %>/shared/tmp/log/stdout", "/var/www/<%= Ahoy::VariableStore.variables['app_name'] %>/shared/tmp/log/stderr"
11
13
 
12
- pidfile "/var/www/<%= Rails.application.class.parent_name.underscore %>/shared/tmp/pids/puma.pid"
13
- stdout_redirect "/var/www/<%= Rails.application.class.parent_name.underscore %>/shared/tmp/log/stdout", "/var/www/<%= Rails.application.class.parent_name.underscore %>/shared/tmp/log/stderr"
14
-
15
- bind "unix:///var/www/<%= Rails.application.class.parent_name.underscore %>/shared/tmp/sockets/puma.sock"
14
+ bind "unix:///var/www/<%= Ahoy::VariableStore.variables['app_name'] %>/shared/tmp/sockets/puma.sock"
16
15
 
17
16
  on_worker_boot do
18
17
  # worker specific setup
@@ -1,7 +1,7 @@
1
1
  #! /bin/sh
2
2
 
3
3
  BUNDLE_BIN=/usr/local/rbenv/shims/bundle
4
- APP_PATH=/var/www/<%= Rails.application.class.parent_name.underscore %>
4
+ APP_PATH=/var/www/$APP_ROOT
5
5
  PUMA_CONFIG_FILE=$APP_PATH/current/config/puma.rb
6
6
  PUMA_PID_FILE=$APP_PATH/shared/tmp/pids/puma.pid
7
7
  PUMA_SOCKET=$APP_PATH/shared/tmp/sockets/puma.sock
@@ -0,0 +1,14 @@
1
+ ---
2
+ - name: create config directory
3
+ sudo: true
4
+ file: path=/var/www/{{app_root}}/shared/config owner={{server_user}} group={{server_user}} recurse=yes state=directory
5
+
6
+ - name: copy database.yml
7
+ template: src=database.yml dest=/var/www/{{app_name}}/shared/config/database.yml owner={{server_user}} group={{server_user}}
8
+
9
+ - name: copy secrets.yml
10
+ template: src=secrets.yml dest=/var/www/{{app_name}}/shared/config/secrets.yml owner={{server_user}} group={{server_user}}
11
+
12
+ - name: update www directory permissions
13
+ sudo: true
14
+ file: path=/var/www owner={{server_user}} group={{server_user}} recurse=yes state=directory
@@ -0,0 +1,9 @@
1
+ production:
2
+ adapter: postgresql
3
+ host: localhost
4
+ encoding: unicode
5
+ pool: 5
6
+ template: template0
7
+ database: <%= ENV['DATABASE_NAME'] %>
8
+ username: <%= ENV['DATABASE_USER'] %>
9
+ password: <%= ENV['DATABASE_PASSWORD'] %>
@@ -0,0 +1,2 @@
1
+ production:
2
+ secret_key_base: <%= ENV['SECRET_KEY_BASE'] %>
@@ -19,25 +19,25 @@
19
19
  apt: name=vim state=latest update_cache=yes
20
20
 
21
21
  - name: copy .vimrc
22
- template: src=vimrc dest=/home/{{ deploy_user}}/.vimrc owner={{ deploy_user }} group={{ deploy_user }}
22
+ template: src=vimrc dest=/home/{{server_user}}/.vimrc owner={{server_user}} group={{server_user}}
23
23
 
24
24
  - name: check if NeoBundle exists
25
- shell: test -d /home/{{ deploy_user }}/.vim/bundle/.neobundle && echo true
25
+ shell: test -d /home/{{server_user}}/.vim/bundle/.neobundle && echo true
26
26
  register: neobundle_installed
27
27
  ignore_errors: yes
28
28
 
29
29
  - name: download NeoBundle plugin for vim
30
- git: repo=git://github.com/Shougo/neobundle.vim dest=/home/{{ deploy_user }}/.vim/bundle/neobundle.vim
30
+ git: repo=git://github.com/Shougo/neobundle.vim dest=/home/{{server_user}}/.vim/bundle/neobundle.vim
31
31
  when: neobundle_installed|failed
32
32
 
33
33
  - name: check if YouCompleteMe exists
34
- shell: test -d /home/{{ deploy_user }}/.vim/bundle/YouCompleteMe && echo true
34
+ shell: test -d /home/{{server_user}}/.vim/bundle/YouCompleteMe && echo true
35
35
  register: ycm_installed
36
36
  ignore_errors: yes
37
37
 
38
38
  - name: download YouCompleteMe plugin for vim
39
- git: repo=git://github.com/Valloric/YouCompleteMe dest=/home/{{ deploy_user }}/.vim/bundle/YouCompleteMe
39
+ git: repo=git://github.com/Valloric/YouCompleteMe dest=/home/{{server_user}}/.vim/bundle/YouCompleteMe
40
40
  when: ycm_installed|failed
41
41
 
42
42
  - name: change .vim permissions
43
- file: path=/home/{{ deploy_user }}/.vim owner={{ deploy_user }} group={{ deploy_user }} recurse=yes state=directory
43
+ file: path=/home/{{server_user}}/.vim owner={{server_user}} group={{server_user}} recurse=yes state=directory