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.
- checksums.yaml +4 -4
- data/ahoy.gemspec +1 -0
- data/lib/ahoy.rb +4 -1
- data/lib/ahoy/version.rb +1 -1
- data/lib/generators/ahoy/base.rb +8 -3
- data/lib/generators/ahoy/deployment_generator.rb +122 -0
- data/lib/generators/ahoy/init_generator.rb +10 -15
- data/lib/generators/ahoy/lib/question_helper.rb +50 -0
- data/lib/generators/ahoy/lib/variable_store.rb +19 -0
- data/lib/generators/ahoy/templates/_Vagrantfile +3 -3
- data/lib/generators/ahoy/templates/_database.yml +2 -2
- data/lib/generators/ahoy/templates/_deploy.rb +14 -13
- data/lib/generators/ahoy/templates/_puma.rb +3 -4
- data/lib/generators/ahoy/templates/_puma.sh +1 -1
- data/lib/generators/ahoy/templates/ansible/playbooks/roles/complete/tasks/main.yml +14 -0
- data/lib/generators/ahoy/templates/ansible/playbooks/roles/complete/templates/database.yml +9 -0
- data/lib/generators/ahoy/templates/ansible/playbooks/roles/complete/templates/secrets.yml +2 -0
- data/lib/generators/ahoy/templates/ansible/playbooks/roles/essentials/tasks/main.yml +6 -6
- data/lib/generators/ahoy/templates/ansible/playbooks/roles/essentials/templates/vimrc +0 -2
- data/lib/generators/ahoy/templates/ansible/playbooks/roles/nginx/templates/platform.conf +6 -6
- data/lib/generators/ahoy/templates/ansible/playbooks/roles/postgresql/tasks/main.yml +8 -8
- data/lib/generators/ahoy/templates/ansible/playbooks/roles/ruby/tasks/gems.yml +2 -2
- data/lib/generators/ahoy/templates/ansible/playbooks/roles/ruby/tasks/rbenv.yml +8 -8
- data/lib/generators/ahoy/templates/ansible/playbooks/roles/ruby/tasks/ruby.yml +4 -4
- data/lib/generators/ahoy/templates/ansible/playbooks/roles/security/tasks/fail2ban.yml +4 -0
- data/lib/generators/ahoy/templates/ansible/playbooks/roles/security/tasks/firewall.yml +2 -0
- data/lib/generators/ahoy/templates/ansible/playbooks/roles/security/tasks/main.yml +1 -6
- data/lib/generators/ahoy/templates/{ansible_templates/playbooks/roles/security/tasks/_ssh_settings.yml → ansible/playbooks/roles/security/tasks/ssh_settings.yml} +4 -4
- data/lib/generators/ahoy/templates/ansible/playbooks/roles/user/tasks/main.yml +4 -4
- data/lib/generators/ahoy/templates/ansible/playbooks/roles/variables/tasks/application.yml +21 -0
- data/lib/generators/ahoy/templates/ansible/playbooks/roles/variables/tasks/main.yml +3 -0
- data/lib/generators/ahoy/templates/ansible/playbooks/roles/variables/tasks/system.yml +25 -0
- data/lib/generators/ahoy/templates/ansible/playbooks/roles/variables/templates/profile +22 -0
- data/lib/generators/ahoy/templates/ansible/playbooks/tasks/vagrant_settings.yml +1 -1
- data/lib/generators/ahoy/templates/ansible/production.sh +1 -0
- data/lib/generators/ahoy/templates/ansible_templates/_production +5 -0
- data/lib/generators/ahoy/templates/{ansible/playbooks/playbook.yml → ansible_templates/playbooks/_production.yml} +6 -7
- data/lib/generators/ahoy/templates/ansible_templates/playbooks/_vagrant.yml +17 -0
- data/lib/generators/ahoy/templates/ansible_templates/playbooks/group_vars/_all.yml +2 -4
- data/lib/generators/ahoy/templates/ansible_templates/playbooks/group_vars/_production.yml +11 -0
- data/lib/generators/ahoy/templates/env_templates/_development_env.yml +1 -0
- data/lib/generators/ahoy/templates/env_templates/_production_env.yml +12 -0
- data/lib/generators/ahoy/templates/env_templates/_test_env.yml +1 -0
- data/lib/generators/ahoy/vagrant_generator.rb +31 -31
- metadata +22 -15
- data/lib/generators/ahoy/ansible_generator.rb +0 -36
- data/lib/generators/ahoy/deploy_generator.rb +0 -47
- data/lib/generators/ahoy/templates/_env_vars.yml +0 -7
- data/lib/generators/ahoy/templates/ansible/playbooks/roles/deploy_env/tasks/main.yml +0 -10
- data/lib/generators/ahoy/templates/ansible/playbooks/roles/deploy_env/templates/database.yml +0 -9
- data/lib/generators/ahoy/templates/ansible/playbooks/roles/deploy_env/templates/secrets.yml +0 -2
- data/lib/generators/ahoy/templates/ansible_templates/_hosts +0 -5
- data/lib/generators/ahoy/templates/ansible_templates/_provision.sh +0 -1
- data/lib/generators/ahoy/templates/ansible_templates/playbooks/host_vars/_default.yml +0 -8
- data/lib/generators/ahoy/templates/ansible_templates/playbooks/host_vars/_production_deploy.yml +0 -7
- data/lib/generators/ahoy/templates/ansible_templates/playbooks/host_vars/_production_root.yml +0 -2
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails-ahoy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Pearson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -55,20 +55,19 @@ files:
|
|
55
55
|
- ahoy.gemspec
|
56
56
|
- lib/ahoy.rb
|
57
57
|
- lib/ahoy/version.rb
|
58
|
-
- lib/generators/ahoy/ansible_generator.rb
|
59
58
|
- lib/generators/ahoy/base.rb
|
60
|
-
- lib/generators/ahoy/
|
59
|
+
- lib/generators/ahoy/deployment_generator.rb
|
61
60
|
- lib/generators/ahoy/init_generator.rb
|
61
|
+
- lib/generators/ahoy/lib/question_helper.rb
|
62
|
+
- lib/generators/ahoy/lib/variable_store.rb
|
62
63
|
- lib/generators/ahoy/templates/_Vagrantfile
|
63
64
|
- lib/generators/ahoy/templates/_database.yml
|
64
65
|
- lib/generators/ahoy/templates/_deploy.rb
|
65
|
-
- lib/generators/ahoy/templates/_env_vars.yml
|
66
66
|
- lib/generators/ahoy/templates/_puma.rb
|
67
67
|
- lib/generators/ahoy/templates/_puma.sh
|
68
|
-
- lib/generators/ahoy/templates/ansible/playbooks/
|
69
|
-
- lib/generators/ahoy/templates/ansible/playbooks/roles/
|
70
|
-
- lib/generators/ahoy/templates/ansible/playbooks/roles/
|
71
|
-
- lib/generators/ahoy/templates/ansible/playbooks/roles/deploy_env/templates/secrets.yml
|
68
|
+
- lib/generators/ahoy/templates/ansible/playbooks/roles/complete/tasks/main.yml
|
69
|
+
- lib/generators/ahoy/templates/ansible/playbooks/roles/complete/templates/database.yml
|
70
|
+
- lib/generators/ahoy/templates/ansible/playbooks/roles/complete/templates/secrets.yml
|
72
71
|
- lib/generators/ahoy/templates/ansible/playbooks/roles/essentials/tasks/main.yml
|
73
72
|
- lib/generators/ahoy/templates/ansible/playbooks/roles/essentials/templates/vimrc
|
74
73
|
- lib/generators/ahoy/templates/ansible/playbooks/roles/nginx/tasks/main.yml
|
@@ -82,17 +81,25 @@ files:
|
|
82
81
|
- lib/generators/ahoy/templates/ansible/playbooks/roles/ruby/tasks/main.yml
|
83
82
|
- lib/generators/ahoy/templates/ansible/playbooks/roles/ruby/tasks/rbenv.yml
|
84
83
|
- lib/generators/ahoy/templates/ansible/playbooks/roles/ruby/tasks/ruby.yml
|
84
|
+
- lib/generators/ahoy/templates/ansible/playbooks/roles/security/tasks/fail2ban.yml
|
85
85
|
- lib/generators/ahoy/templates/ansible/playbooks/roles/security/tasks/firewall.yml
|
86
86
|
- lib/generators/ahoy/templates/ansible/playbooks/roles/security/tasks/main.yml
|
87
|
+
- lib/generators/ahoy/templates/ansible/playbooks/roles/security/tasks/ssh_settings.yml
|
87
88
|
- lib/generators/ahoy/templates/ansible/playbooks/roles/user/tasks/main.yml
|
89
|
+
- lib/generators/ahoy/templates/ansible/playbooks/roles/variables/tasks/application.yml
|
90
|
+
- lib/generators/ahoy/templates/ansible/playbooks/roles/variables/tasks/main.yml
|
91
|
+
- lib/generators/ahoy/templates/ansible/playbooks/roles/variables/tasks/system.yml
|
92
|
+
- lib/generators/ahoy/templates/ansible/playbooks/roles/variables/templates/profile
|
88
93
|
- lib/generators/ahoy/templates/ansible/playbooks/tasks/vagrant_settings.yml
|
89
|
-
- lib/generators/ahoy/templates/
|
90
|
-
- lib/generators/ahoy/templates/ansible_templates/
|
94
|
+
- lib/generators/ahoy/templates/ansible/production.sh
|
95
|
+
- lib/generators/ahoy/templates/ansible_templates/_production
|
96
|
+
- lib/generators/ahoy/templates/ansible_templates/playbooks/_production.yml
|
97
|
+
- lib/generators/ahoy/templates/ansible_templates/playbooks/_vagrant.yml
|
91
98
|
- lib/generators/ahoy/templates/ansible_templates/playbooks/group_vars/_all.yml
|
92
|
-
- lib/generators/ahoy/templates/ansible_templates/playbooks/
|
93
|
-
- lib/generators/ahoy/templates/
|
94
|
-
- lib/generators/ahoy/templates/
|
95
|
-
- lib/generators/ahoy/templates/
|
99
|
+
- lib/generators/ahoy/templates/ansible_templates/playbooks/group_vars/_production.yml
|
100
|
+
- lib/generators/ahoy/templates/env_templates/_development_env.yml
|
101
|
+
- lib/generators/ahoy/templates/env_templates/_production_env.yml
|
102
|
+
- lib/generators/ahoy/templates/env_templates/_test_env.yml
|
96
103
|
- lib/generators/ahoy/vagrant_generator.rb
|
97
104
|
homepage: ''
|
98
105
|
licenses:
|
@@ -1,36 +0,0 @@
|
|
1
|
-
require 'rails/generators'
|
2
|
-
require 'generators/ahoy/base'
|
3
|
-
require 'fileutils'
|
4
|
-
|
5
|
-
module Ahoy
|
6
|
-
class AnsibleGenerator < Ahoy::Generator::Base
|
7
|
-
|
8
|
-
def prompt_user
|
9
|
-
defaults('127.0.0.1')
|
10
|
-
@server_ip = ask('=> Which IP address will you be deploying to? [enter for default]').chomp
|
11
|
-
defaults('22')
|
12
|
-
@server_ssh_port = ask('=> What SSH port would you like to use on your server? [enter for default]').chomp
|
13
|
-
defaults('2.1.5')
|
14
|
-
@ruby_version = ask('=> Which version of Ruby would you like to install? [enter for default]').chomp
|
15
|
-
defaults('9.3')
|
16
|
-
@postgresql_version = ask('=> Which version of PostgreSQL would you like to install? [enter for default]').chomp
|
17
|
-
end
|
18
|
-
|
19
|
-
def copy_directory
|
20
|
-
directory 'ansible', 'config/ansible'
|
21
|
-
end
|
22
|
-
|
23
|
-
def copy_templates
|
24
|
-
template 'ansible_templates/_provision.sh', 'config/ansible/provision.sh'
|
25
|
-
template 'ansible_templates/_hosts', 'config/ansible/hosts'
|
26
|
-
template 'ansible_templates/playbooks/group_vars/_all.yml', 'config/ansible/playbooks/group_vars/all.yml'
|
27
|
-
template 'ansible_templates/playbooks/host_vars/_production_root.yml', 'config/ansible/playbooks/host_vars/production_root.yml'
|
28
|
-
template 'ansible_templates/playbooks/host_vars/_production_deploy.yml', 'config/ansible/playbooks/host_vars/production_deploy.yml'
|
29
|
-
template 'ansible_templates/playbooks/roles/security/tasks/_ssh_settings.yml', 'config/ansible/playbooks/roles/security/tasks/ssh_settings.yml'
|
30
|
-
end
|
31
|
-
|
32
|
-
def change_permissions
|
33
|
-
FileUtils.chmod 0751, 'config/ansible/provision.sh'
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
@@ -1,47 +0,0 @@
|
|
1
|
-
require 'rails/generators'
|
2
|
-
require 'generators/ahoy/base'
|
3
|
-
require 'fileutils'
|
4
|
-
|
5
|
-
module Ahoy
|
6
|
-
class DeployGenerator < Ahoy::Generator::Base
|
7
|
-
|
8
|
-
def use_deploy
|
9
|
-
defaults('No')
|
10
|
-
@use_deploy = yes?('=> Would you like to setup deployment files using Puma and Mina? [enter for default]')
|
11
|
-
end
|
12
|
-
|
13
|
-
def prompt_user
|
14
|
-
if @use_deploy
|
15
|
-
@github_repo = ask('=> What is the github repository for this application?').chomp
|
16
|
-
defaults('127.0.0.1')
|
17
|
-
@server_ip = ask('=> Which IP address will you be deploying to? [enter for default]').chomp
|
18
|
-
defaults('22')
|
19
|
-
@server_ssh_port = ask('=> What SSH port would you like to use on your server? [enter for default]').chomp
|
20
|
-
copy_templates
|
21
|
-
add_gems
|
22
|
-
change_permissions
|
23
|
-
else
|
24
|
-
puts 'Skipping deployment scripts'
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
private
|
29
|
-
|
30
|
-
def copy_templates
|
31
|
-
template '_puma.sh', 'bin/puma.sh'
|
32
|
-
template '_puma.rb', 'config/puma.rb'
|
33
|
-
template '_deploy.rb', 'config/deploy.rb'
|
34
|
-
end
|
35
|
-
|
36
|
-
def add_gems
|
37
|
-
gem_group :production do
|
38
|
-
gem 'puma'
|
39
|
-
gem 'rb-readline'
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
def change_permissions
|
44
|
-
FileUtils.chmod 0751, 'bin/puma.sh'
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
application_name: <%= Rails.application.class.parent_name.underscore %>
|
3
|
-
production:
|
4
|
-
db_name: <%= Rails.application.class.parent_name.underscore %>_production
|
5
|
-
db_user: deploy
|
6
|
-
db_password: # Remember to add your own!!
|
7
|
-
secret_key_base: # Remember to add your own!!
|
@@ -1,10 +0,0 @@
|
|
1
|
-
---
|
2
|
-
- name: create deploy directory
|
3
|
-
sudo: true
|
4
|
-
file: path=/var/www/{{ app_name }}/shared/config owner={{ deploy_user }} group={{ deploy_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={{ deploy_user }} group={{ deploy_user }}
|
8
|
-
|
9
|
-
- name: copy secrets.yml
|
10
|
-
template: src=secrets.yml dest=/var/www/{{ app_name }}/shared/config/secrets.yml owner={{ deploy_user }} group={{ deploy_user }}
|
@@ -1,5 +0,0 @@
|
|
1
|
-
[production_root]
|
2
|
-
production_root ansible_ssh_host=<%= @server_ip == '' ? '127.0.0.1' : @server_ip %>
|
3
|
-
|
4
|
-
[production_deploy]
|
5
|
-
production_deploy ansible_ssh_host=<%= @server_ip == '' ? '127.0.0.1' : @server_ip %> ansible_ssh_port=<%= @server_ssh_port == '' ? '22' : @server_ssh_port %>
|
@@ -1 +0,0 @@
|
|
1
|
-
ansible-playbook playbooks/playbook.yml -i hosts
|