rails-ahoy 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. checksums.yaml +7 -0
  2. data/.DS_Store +0 -0
  3. data/.gitignore +14 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +31 -0
  7. data/Rakefile +2 -0
  8. data/ahoy.gemspec +24 -0
  9. data/lib/ahoy.rb +5 -0
  10. data/lib/ahoy/version.rb +3 -0
  11. data/lib/generators/ahoy/ansible_generator.rb +36 -0
  12. data/lib/generators/ahoy/base.rb +24 -0
  13. data/lib/generators/ahoy/deploy_generator.rb +47 -0
  14. data/lib/generators/ahoy/init_generator.rb +49 -0
  15. data/lib/generators/ahoy/templates/_Vagrantfile +20 -0
  16. data/lib/generators/ahoy/templates/_database.yml +18 -0
  17. data/lib/generators/ahoy/templates/_deploy.rb +51 -0
  18. data/lib/generators/ahoy/templates/_env_vars.yml +7 -0
  19. data/lib/generators/ahoy/templates/_puma.rb +24 -0
  20. data/lib/generators/ahoy/templates/_puma.sh +79 -0
  21. data/lib/generators/ahoy/templates/ansible/playbooks/playbook.yml +22 -0
  22. data/lib/generators/ahoy/templates/ansible/playbooks/roles/deploy_env/tasks/main.yml +10 -0
  23. data/lib/generators/ahoy/templates/ansible/playbooks/roles/deploy_env/templates/database.yml +9 -0
  24. data/lib/generators/ahoy/templates/ansible/playbooks/roles/deploy_env/templates/secrets.yml +2 -0
  25. data/lib/generators/ahoy/templates/ansible/playbooks/roles/essentials/tasks/main.yml +43 -0
  26. data/lib/generators/ahoy/templates/ansible/playbooks/roles/essentials/templates/vimrc +472 -0
  27. data/lib/generators/ahoy/templates/ansible/playbooks/roles/nginx/tasks/main.yml +15 -0
  28. data/lib/generators/ahoy/templates/ansible/playbooks/roles/nginx/templates/platform.conf +24 -0
  29. data/lib/generators/ahoy/templates/ansible/playbooks/roles/nodejs/tasks/main.yml +6 -0
  30. data/lib/generators/ahoy/templates/ansible/playbooks/roles/postgresql/handlers/main.yml +3 -0
  31. data/lib/generators/ahoy/templates/ansible/playbooks/roles/postgresql/tasks/main.yml +39 -0
  32. data/lib/generators/ahoy/templates/ansible/playbooks/roles/postgresql/templates/pg_hba.conf +91 -0
  33. data/lib/generators/ahoy/templates/ansible/playbooks/roles/ruby/files/gemrc +5 -0
  34. data/lib/generators/ahoy/templates/ansible/playbooks/roles/ruby/tasks/gems.yml +6 -0
  35. data/lib/generators/ahoy/templates/ansible/playbooks/roles/ruby/tasks/main.yml +4 -0
  36. data/lib/generators/ahoy/templates/ansible/playbooks/roles/ruby/tasks/rbenv.yml +31 -0
  37. data/lib/generators/ahoy/templates/ansible/playbooks/roles/ruby/tasks/ruby.yml +15 -0
  38. data/lib/generators/ahoy/templates/ansible/playbooks/roles/security/tasks/firewall.yml +6 -0
  39. data/lib/generators/ahoy/templates/ansible/playbooks/roles/security/tasks/main.yml +9 -0
  40. data/lib/generators/ahoy/templates/ansible/playbooks/roles/user/tasks/main.yml +6 -0
  41. data/lib/generators/ahoy/templates/ansible/playbooks/tasks/vagrant_settings.yml +3 -0
  42. data/lib/generators/ahoy/templates/ansible_templates/_hosts +5 -0
  43. data/lib/generators/ahoy/templates/ansible_templates/_provision.sh +1 -0
  44. data/lib/generators/ahoy/templates/ansible_templates/playbooks/group_vars/_all.yml +6 -0
  45. data/lib/generators/ahoy/templates/ansible_templates/playbooks/host_vars/_default.yml +8 -0
  46. data/lib/generators/ahoy/templates/ansible_templates/playbooks/host_vars/_production_deploy.yml +7 -0
  47. data/lib/generators/ahoy/templates/ansible_templates/playbooks/host_vars/_production_root.yml +2 -0
  48. data/lib/generators/ahoy/templates/ansible_templates/playbooks/roles/security/tasks/_ssh_settings.yml +25 -0
  49. data/lib/generators/ahoy/vagrant_generator.rb +52 -0
  50. metadata +121 -0
@@ -0,0 +1,15 @@
1
+ ---
2
+ - name: add apt-get repository for latest nginx
3
+ action: apt_repository repo=ppa:nginx/stable
4
+
5
+ - name: install nginx
6
+ apt: pkg=nginx state=present update_cache=true
7
+
8
+ - name: delete default vhost
9
+ action: file path=/etc/nginx/sites-enabled/default state=absent
10
+
11
+ - name: copy nginx conf
12
+ template: src=platform.conf dest=/etc/nginx/sites-enabled/platform.conf
13
+
14
+ - name: restart nginx
15
+ action: service name=nginx pattern=/etc/init.d/nginx state=restarted enabled=yes
@@ -0,0 +1,24 @@
1
+ upstream {{ app_name }} {
2
+ server {{ domain }}:3000;
3
+ server unix:///var/www/{{ app_name }}/shared/tmp/sockets/puma.sock;
4
+ }
5
+ server {
6
+ listen 80;
7
+ server_name {{ domain }};
8
+ root /var/www/{{ app_name }}/current/public;
9
+
10
+ location / {
11
+ proxy_set_header Host $host;
12
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
13
+ proxy_pass http://{{ app_name }};
14
+ }
15
+
16
+ location ~* ^/assets/ {
17
+ expires 1y;
18
+ add_header Cache-Control public;
19
+
20
+ add_header Last-Modified "";
21
+ add_header ETag "";
22
+ break;
23
+ }
24
+ }
@@ -0,0 +1,6 @@
1
+ ---
2
+ - name: add apt-get repository for latest node
3
+ action: apt_repository repo=ppa:chris-lea/node.js
4
+
5
+ - name: install node.js
6
+ apt: pkg=nodejs state=present update_cache=true
@@ -0,0 +1,3 @@
1
+ ---
2
+ - name: restart postgresql
3
+ service: name=postgresql state=restarted
@@ -0,0 +1,39 @@
1
+ ---
2
+ - name: install dependencies
3
+ action: apt pkg={{ item }} state=latest
4
+ with_items:
5
+ - python-apt
6
+ - python-psycopg2
7
+ - libpq-dev
8
+
9
+ - name: get postgres apt key
10
+ apt_key: url=http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc
11
+
12
+ - name: add apt-get repository for latest postgres
13
+ apt_repository: repo="deb http://apt.postgresql.org/pub/repos/apt/ {{ ansible_lsb.codename }}-pgdg main"
14
+
15
+ - name: install postgres
16
+ apt: name=postgresql-{{ postgresql.version }} state=latest update_cache=true
17
+
18
+ - name: copy pg_hba.conf
19
+ sudo: true
20
+ template: src=pg_hba.conf dest=/etc/postgresql/{{ postgresql.version }}/main/pg_hba.conf
21
+
22
+ - name: set pg_hba.conf permissions
23
+ sudo: true
24
+ file: path=/etc/postgresql/{{ postgresql.version }}/main/pg_hba.conf owner=postgres group=postgres mode=0640
25
+
26
+ - name: start postgresql
27
+ service: name=postgresql state=started
28
+
29
+ - name: create db user
30
+ postgresql_user: name={{ database.user }} password={{ database.password }} role_attr_flags=CREATEDB
31
+ sudo_user: postgres
32
+
33
+ - name: create database
34
+ postgresql_db: name={{ database.name }} owner={{ database.user }} encoding=unicode lc_collate=en_US.utf8 lc_ctype=en_US.utf8 template=template0
35
+ sudo_user: postgres
36
+ when: inventory_hostname == 'production_deploy'
37
+
38
+ - name: ensure postgres starts on a fresh reboot
39
+ service: name=postgresql state=started enabled=yes
@@ -0,0 +1,91 @@
1
+ # PostgreSQL Client Authentication Configuration File
2
+ # ===================================================
3
+ #
4
+ # Refer to the "Client Authentication" section in the PostgreSQL
5
+ # documentation for a complete description of this file. A short
6
+ # synopsis follows.
7
+ #
8
+ # This file controls: which hosts are allowed to connect, how clients
9
+ # are authenticated, which PostgreSQL user names they can use, which
10
+ # databases they can access. Records take one of these forms:
11
+ #
12
+ # local DATABASE USER METHOD [OPTIONS]
13
+ # host DATABASE USER ADDRESS METHOD [OPTIONS]
14
+ # hostssl DATABASE USER ADDRESS METHOD [OPTIONS]
15
+ # hostnossl DATABASE USER ADDRESS METHOD [OPTIONS]
16
+ #
17
+ # (The uppercase items must be replaced by actual values.)
18
+ #
19
+ # The first field is the connection type: "local" is a Unix-domain
20
+ # socket, "host" is either a plain or SSL-encrypted TCP/IP socket,
21
+ # "hostssl" is an SSL-encrypted TCP/IP socket, and "hostnossl" is a
22
+ # plain TCP/IP socket.
23
+ #
24
+ # DATABASE can be "all", "sameuser", "samerole", "replication", a
25
+ # database name, or a comma-separated list thereof. The "all"
26
+ # keyword does not match "replication". Access to replication
27
+ # must be enabled in a separate record (see example below).
28
+ #
29
+ # USER can be "all", a user name, a group name prefixed with "+", or a
30
+ # comma-separated list thereof. In both the DATABASE and USER fields
31
+ # you can also write a file name prefixed with "@" to include names
32
+ # from a separate file.
33
+ #
34
+ # ADDRESS specifies the set of hosts the record matches. It can be a
35
+ # host name, or it is made up of an IP address and a CIDR mask that is
36
+ # an integer (between 0 and 32 (IPv4) or 128 (IPv6) inclusive) that
37
+ # specifies the number of significant bits in the mask. A host name
38
+ # that starts with a dot (.) matches a suffix of the actual host name.
39
+ # Alternatively, you can write an IP address and netmask in separate
40
+ # columns to specify the set of hosts. Instead of a CIDR-address, you
41
+ # can write "samehost" to match any of the server's own IP addresses,
42
+ # or "samenet" to match any address in any subnet that the server is
43
+ # directly connected to.
44
+ #
45
+ # METHOD can be "trust", "reject", "md5", "password", "gss", "sspi",
46
+ # "krb5", "ident", "peer", "pam", "ldap", "radius" or "cert". Note that
47
+ # "password" sends passwords in clear text; "md5" is preferred since
48
+ # it sends encrypted passwords.
49
+ #
50
+ # OPTIONS are a set of options for the authentication in the format
51
+ # NAME=VALUE. The available options depend on the different
52
+ # authentication methods -- refer to the "Client Authentication"
53
+ # section in the documentation for a list of which options are
54
+ # available for which authentication methods.
55
+ #
56
+ # Database and user names containing spaces, commas, quotes and other
57
+ # special characters must be quoted. Quoting one of the keywords
58
+ # "all", "sameuser", "samerole" or "replication" makes the name lose
59
+ # its special character, and just match a database or username with
60
+ # that name.
61
+ #
62
+ # This file is read on server startup and when the postmaster receives
63
+ # a SIGHUP signal. If you edit the file on a running system, you have
64
+ # to SIGHUP the postmaster for the changes to take effect. You can
65
+ # use "pg_ctl reload" to do that.
66
+
67
+ # Put your actual configuration here
68
+ # ----------------------------------
69
+ #
70
+ # If you want to allow non-local connections, you need to add more
71
+ # "host" records. In that case you will also need to make PostgreSQL
72
+ # listen on a non-local interface via the listen_addresses
73
+ # configuration parameter, or via the -i or -h command line switches.
74
+
75
+ # DO NOT DISABLE!
76
+ # If you change this first entry you will need to make sure that the
77
+ # database superuser can access the database using some other method.
78
+ # Noninteractive access to all databases is required during automatic
79
+ # maintenance (custom daily cronjobs, replication, and similar tasks).
80
+ #
81
+ # Database administrative login by Unix domain socket
82
+ local all postgres peer
83
+ local all all md5
84
+ host all all 127.0.0.1/32 md5
85
+ host all all ::1/128 md5
86
+
87
+ # Allow replication connections from localhost, by a user with the
88
+ # replication privilege.
89
+ #local replication postgres peer
90
+ #host replication postgres 127.0.0.1/32 md5
91
+ #host replication postgres ::1/128 md5
@@ -0,0 +1,5 @@
1
+ ---
2
+ :sources:
3
+ - http://gems.rubyforge.org
4
+ - http://gems.github.com
5
+ gem: --no-ri --no-rdoc
@@ -0,0 +1,6 @@
1
+ ---
2
+ - name: set gemrc
3
+ copy: src=gemrc dest=/home/{{ deploy_user }}/.gemrc owner={{ deploy_user}} group={{ deploy_user }} mode=0644
4
+
5
+ - name: install bundler
6
+ shell: RBENV_ROOT={{ rbenv_root }} rbenv exec gem install bundler --no-ri --no-rdoc
@@ -0,0 +1,4 @@
1
+ ---
2
+ - include: rbenv.yml
3
+ - include: ruby.yml
4
+ - include: gems.yml
@@ -0,0 +1,31 @@
1
+ ---
2
+ - name: install dependencies
3
+ apt: pkg={{ item }} state=present
4
+ with_items:
5
+ - libqt4-dev
6
+ - libssl-dev
7
+ - libreadline-dev
8
+
9
+ - name: install rbenv
10
+ sudo: true
11
+ git: repo=git://github.com/sstephenson/rbenv.git dest={{ rbenv_root }}
12
+
13
+ - name: install ruby-build as rbenv plugin
14
+ sudo: true
15
+ git: repo=https://github.com/sstephenson/ruby-build.git dest={{ rbenv_root }}/plugins/ruby-build
16
+
17
+ - name: change owner of rbenv directory
18
+ sudo: true
19
+ file: path={{ rbenv_root }} owner={{ deploy_user }} recurse=yes state=directory
20
+
21
+ - name: add rbenv symlink
22
+ file: path=/usr/local/bin/rbenv src={{ rbenv_root }}/bin/rbenv state=link
23
+
24
+ - name: export RBENV_ROOT to profile
25
+ lineinfile: line='export RBENV_ROOT="{{ rbenv_root }}"' dest=/home/{{ deploy_user }}/.profile
26
+
27
+ - name: export PATH to rbenv bin to profile
28
+ lineinfile: line='export PATH="{{ rbenv_root }}/bin:$PATH"' dest=/home/{{ deploy_user }}/.profile
29
+
30
+ - name: eval rbenv init
31
+ lineinfile: line="eval \"$(rbenv init -)\"" dest=/home/{{ deploy_user }}/.profile
@@ -0,0 +1,15 @@
1
+ ---
2
+ - name: check if proper ruby version is installed
3
+ shell: RBENV_ROOT={{ rbenv_root }} rbenv versions | grep {{ ruby_version }}
4
+ register: ruby_installed
5
+ ignore_errors: yes
6
+
7
+ - name: install proper ruby version
8
+ shell: RBENV_ROOT={{ rbenv_root }} rbenv install {{ ruby_version }}
9
+ when: ruby_installed|failed
10
+
11
+ - name: set global ruby
12
+ shell: RBENV_ROOT={{ rbenv_root }} rbenv global {{ ruby_version }}
13
+
14
+ - name: rehash rbenv
15
+ shell: RBENV_ROOT={{ rbenv_root }} rbenv rehash
@@ -0,0 +1,6 @@
1
+ ---
2
+ - name: setup firewall
3
+ shell: ufw allow 22; ufw allow 1224; ufw allow 80; ufw allow 443
4
+
5
+ - name: enable firewall
6
+ shell: echo 'y' | ufw enable
@@ -0,0 +1,9 @@
1
+ ---
2
+ - name: install fail2ban
3
+ apt: name=fail2ban state=present update_cache=true
4
+ when: inventory_hostname == 'production_root'
5
+
6
+ - include: firewall.yml
7
+ when: inventory_hostname == 'production_root'
8
+
9
+ - include: ssh_settings.yml
@@ -0,0 +1,6 @@
1
+ ---
2
+ - name: create deploy user
3
+ user: name={{ deploy_user }} shell=/bin/bash generate_ssh_key=yes ssh_key_bits=2048
4
+
5
+ - name: allow deploy user sudo commands without password
6
+ action: lineinfile dest=/etc/sudoers regexp="^root" line="root ALL=(ALL:ALL) ALL\n{{ deploy_user }} ALL=(ALL) NOPASSWD:ALL" state=present
@@ -0,0 +1,3 @@
1
+ ---
2
+ - name: cd to vagrant directory by default
3
+ lineinfile: line="cd /vagrant" dest=/home/{{ deploy_user }}/.profile state=present
@@ -0,0 +1,5 @@
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 %>
@@ -0,0 +1 @@
1
+ ansible-playbook playbooks/playbook.yml -i hosts
@@ -0,0 +1,6 @@
1
+ ---
2
+ app_name: <%= Rails.application.class.parent_name.underscore %>
3
+ postgresql:
4
+ version: <%= @postgresql_version == '' ? '9.3' : @postgresql_version %>
5
+ ruby_version: <%= @ruby_version == '' ? '2.1.5' : @ruby_version %>
6
+ rbenv_root: /usr/local/rbenv
@@ -0,0 +1,8 @@
1
+ ---
2
+ domain: 127.0.0.1
3
+ deploy_user: vagrant
4
+ database:
5
+ name: <%= Rails.application.class.parent_name.underscore %>_production
6
+ user: vagrant
7
+ password: vagrant
8
+ secret_key_base: <%= Rails.application.secrets.secret_key_base %>
@@ -0,0 +1,7 @@
1
+ ---
2
+ domain: <%= @server_ip == '' ? '127.0.0.1' : @server_ip %>
3
+ deploy_user: deploy
4
+ database:
5
+ name: "{{ production.db_name }}"
6
+ user: "{{ production.db_user }}"
7
+ password: "{{ production.db_password }}"
@@ -0,0 +1,25 @@
1
+ ---
2
+ - name: add local ssh keys to authorized_keys
3
+ authorized_key: user={{ deploy_user }} key="{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
4
+
5
+ - name: change permissions on authorized_keys
6
+ file: path=/home/{{ deploy_user }}/.ssh/authorized_keys mode=0400
7
+
8
+ - name: change ssh port
9
+ sudo: true
10
+ action: lineinfile dest=/etc/ssh/sshd_config regexp="^#?Port" line="Port <%= @server_ssh_port == '' ? '22' : @server_ssh_port %>"
11
+
12
+ - name: disable root user login via ssh
13
+ sudo: true
14
+ action: lineinfile dest=/etc/ssh/sshd_config regexp="^#?PermitRootLogin" line="PermitRootLogin no"
15
+
16
+ - name: disable password authentication
17
+ sudo: true
18
+ action: lineinfile dest=/etc/ssh/sshd_config regexp="^#?PasswordAuthentication" line="PasswordAuthentication no"
19
+
20
+ - name: allow deploy user login via ssh
21
+ sudo: true
22
+ action: lineinfile dest=/etc/ssh/sshd_config insertafter=EOF line="AllowUsers {{ deploy_user }}"
23
+
24
+ - name: restart ssh service
25
+ action: service name=ssh state=restarted
@@ -0,0 +1,52 @@
1
+ require 'rails/generators'
2
+ require 'generators/ahoy/base'
3
+
4
+ module Ahoy
5
+ class VagrantGenerator < Ahoy::Generator::Base
6
+
7
+ def use_vagrant
8
+ defaults('No')
9
+ @use_vagrant = yes?('=> Would you like to use Vagrant with your project?')
10
+ end
11
+
12
+ def prompt_user
13
+ if @use_vagrant
14
+ defaults('2')
15
+ @memory = ask('=> How many Megabytes of memory would you like to allocate to your VM? [enter for default]').to_i
16
+ defaults('1')
17
+ @cpus = ask('=> How many CPUs would you like to allocated? [enter for default]').to_i
18
+ copy_templates
19
+ append_ansible_playbook
20
+ else
21
+ puts 'Skipping Vagrant'
22
+ end
23
+ end
24
+
25
+ private
26
+
27
+ def copy_templates
28
+ template '_Vagrantfile', 'Vagrantfile'
29
+ template '_database.yml', 'config/database.yml'
30
+ template 'ansible_templates/playbooks/host_vars/_default.yml', 'config/ansible/playbooks/host_vars/default.yml'
31
+ end
32
+
33
+ def append_ansible_playbook
34
+ append_file 'config/ansible/playbooks/playbook.yml', VAGRANT_PLAYBOOK
35
+ end
36
+ end
37
+ end
38
+
39
+ VAGRANT_PLAYBOOK = "
40
+ # Vagrant playbook
41
+ #==========================================================
42
+ - hosts: default
43
+ sudo: true
44
+ roles:
45
+ - role: user
46
+ - role: essentials
47
+ - role: nodejs
48
+ - role: postgresql
49
+ - role: ruby
50
+ tasks:
51
+ - include: tasks/vagrant_settings.yml
52
+ "
metadata ADDED
@@ -0,0 +1,121 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rails-ahoy
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Nathan Pearson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-01-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.7'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ description: Generator for building ansible based provisioning scripts, and mina/puma
42
+ deployment scripts
43
+ email:
44
+ - npearson72@gmail.com
45
+ executables: []
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - ".DS_Store"
50
+ - ".gitignore"
51
+ - Gemfile
52
+ - LICENSE.txt
53
+ - README.md
54
+ - Rakefile
55
+ - ahoy.gemspec
56
+ - lib/ahoy.rb
57
+ - lib/ahoy/version.rb
58
+ - lib/generators/ahoy/ansible_generator.rb
59
+ - lib/generators/ahoy/base.rb
60
+ - lib/generators/ahoy/deploy_generator.rb
61
+ - lib/generators/ahoy/init_generator.rb
62
+ - lib/generators/ahoy/templates/_Vagrantfile
63
+ - lib/generators/ahoy/templates/_database.yml
64
+ - lib/generators/ahoy/templates/_deploy.rb
65
+ - lib/generators/ahoy/templates/_env_vars.yml
66
+ - lib/generators/ahoy/templates/_puma.rb
67
+ - lib/generators/ahoy/templates/_puma.sh
68
+ - lib/generators/ahoy/templates/ansible/playbooks/playbook.yml
69
+ - lib/generators/ahoy/templates/ansible/playbooks/roles/deploy_env/tasks/main.yml
70
+ - lib/generators/ahoy/templates/ansible/playbooks/roles/deploy_env/templates/database.yml
71
+ - lib/generators/ahoy/templates/ansible/playbooks/roles/deploy_env/templates/secrets.yml
72
+ - lib/generators/ahoy/templates/ansible/playbooks/roles/essentials/tasks/main.yml
73
+ - lib/generators/ahoy/templates/ansible/playbooks/roles/essentials/templates/vimrc
74
+ - lib/generators/ahoy/templates/ansible/playbooks/roles/nginx/tasks/main.yml
75
+ - lib/generators/ahoy/templates/ansible/playbooks/roles/nginx/templates/platform.conf
76
+ - lib/generators/ahoy/templates/ansible/playbooks/roles/nodejs/tasks/main.yml
77
+ - lib/generators/ahoy/templates/ansible/playbooks/roles/postgresql/handlers/main.yml
78
+ - lib/generators/ahoy/templates/ansible/playbooks/roles/postgresql/tasks/main.yml
79
+ - lib/generators/ahoy/templates/ansible/playbooks/roles/postgresql/templates/pg_hba.conf
80
+ - lib/generators/ahoy/templates/ansible/playbooks/roles/ruby/files/gemrc
81
+ - lib/generators/ahoy/templates/ansible/playbooks/roles/ruby/tasks/gems.yml
82
+ - lib/generators/ahoy/templates/ansible/playbooks/roles/ruby/tasks/main.yml
83
+ - lib/generators/ahoy/templates/ansible/playbooks/roles/ruby/tasks/rbenv.yml
84
+ - lib/generators/ahoy/templates/ansible/playbooks/roles/ruby/tasks/ruby.yml
85
+ - lib/generators/ahoy/templates/ansible/playbooks/roles/security/tasks/firewall.yml
86
+ - lib/generators/ahoy/templates/ansible/playbooks/roles/security/tasks/main.yml
87
+ - lib/generators/ahoy/templates/ansible/playbooks/roles/user/tasks/main.yml
88
+ - lib/generators/ahoy/templates/ansible/playbooks/tasks/vagrant_settings.yml
89
+ - lib/generators/ahoy/templates/ansible_templates/_hosts
90
+ - lib/generators/ahoy/templates/ansible_templates/_provision.sh
91
+ - lib/generators/ahoy/templates/ansible_templates/playbooks/group_vars/_all.yml
92
+ - lib/generators/ahoy/templates/ansible_templates/playbooks/host_vars/_default.yml
93
+ - lib/generators/ahoy/templates/ansible_templates/playbooks/host_vars/_production_deploy.yml
94
+ - lib/generators/ahoy/templates/ansible_templates/playbooks/host_vars/_production_root.yml
95
+ - lib/generators/ahoy/templates/ansible_templates/playbooks/roles/security/tasks/_ssh_settings.yml
96
+ - lib/generators/ahoy/vagrant_generator.rb
97
+ homepage: ''
98
+ licenses:
99
+ - MIT
100
+ metadata: {}
101
+ post_install_message:
102
+ rdoc_options: []
103
+ require_paths:
104
+ - lib
105
+ required_ruby_version: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ required_rubygems_version: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: '0'
115
+ requirements: []
116
+ rubyforge_project:
117
+ rubygems_version: 2.2.2
118
+ signing_key:
119
+ specification_version: 4
120
+ summary: Quick and painless Rails deployment
121
+ test_files: []