hyrb 0.0.2

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 (68) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +61 -0
  6. data/Rakefile +8 -0
  7. data/bin/hyrb +9 -0
  8. data/hyrb.gemspec +35 -0
  9. data/lib/hyrb/cli.rb +27 -0
  10. data/lib/hyrb/command.rb +74 -0
  11. data/lib/hyrb/commands/ansible.rb +13 -0
  12. data/lib/hyrb/commands/creds.rb +20 -0
  13. data/lib/hyrb/commands/defaults.rb +20 -0
  14. data/lib/hyrb/commands/developers.rb +15 -0
  15. data/lib/hyrb/commands/digital_ocean.rb +15 -0
  16. data/lib/hyrb/commands/environment.rb +11 -0
  17. data/lib/hyrb/commands/github.rb +15 -0
  18. data/lib/hyrb/commands/hipchat.rb +20 -0
  19. data/lib/hyrb/commands/project.rb +36 -0
  20. data/lib/hyrb/commands/provision.rb +17 -0
  21. data/lib/hyrb/commands/rackspace.rb +11 -0
  22. data/lib/hyrb/model.rb +96 -0
  23. data/lib/hyrb/models/ansible_host.rb +28 -0
  24. data/lib/hyrb/models/ansible_site.rb +46 -0
  25. data/lib/hyrb/models/cache.rb +35 -0
  26. data/lib/hyrb/models/creds.rb +24 -0
  27. data/lib/hyrb/models/defaults.rb +11 -0
  28. data/lib/hyrb/models/developer.rb +28 -0
  29. data/lib/hyrb/models/environment.rb +41 -0
  30. data/lib/hyrb/models/project.rb +35 -0
  31. data/lib/hyrb/pipeline.rb +63 -0
  32. data/lib/hyrb/task.rb +46 -0
  33. data/lib/hyrb/tasks/ansible.rb +96 -0
  34. data/lib/hyrb/tasks/creds.rb +39 -0
  35. data/lib/hyrb/tasks/defaults.rb +43 -0
  36. data/lib/hyrb/tasks/developers.rb +120 -0
  37. data/lib/hyrb/tasks/digital_ocean.rb +84 -0
  38. data/lib/hyrb/tasks/environment.rb +56 -0
  39. data/lib/hyrb/tasks/github.rb +120 -0
  40. data/lib/hyrb/tasks/google.rb +15 -0
  41. data/lib/hyrb/tasks/hipchat.rb +76 -0
  42. data/lib/hyrb/tasks/project/bootstrap.rb +88 -0
  43. data/lib/hyrb/tasks/project.rb +48 -0
  44. data/lib/hyrb/tasks/provision.rb +91 -0
  45. data/lib/hyrb/tasks/rackspace.rb +95 -0
  46. data/lib/hyrb/version.rb +3 -0
  47. data/lib/hyrb.rb +18 -0
  48. data/lib/templates/ansible/Vagrantfile.erb +21 -0
  49. data/lib/templates/ansible/roles/db/handlers/main.yml +2 -0
  50. data/lib/templates/ansible/roles/db/tasks/main.yml +24 -0
  51. data/lib/templates/ansible/roles/lamp/tasks/main.yml +53 -0
  52. data/lib/templates/ansible/roles/lamp.yml +6 -0
  53. data/lib/templates/ansible/roles/site/handlers/main.yml +3 -0
  54. data/lib/templates/ansible/roles/site/tasks/db.yml +23 -0
  55. data/lib/templates/ansible/roles/site/tasks/main.yml +16 -0
  56. data/lib/templates/ansible/roles/site/templates/vhost.conf.j2 +24 -0
  57. data/lib/templates/ansible/site.yml +10 -0
  58. data/lib/templates/roles/db/handlers/main.yml +2 -0
  59. data/lib/templates/roles/db/tasks/main.yml +24 -0
  60. data/lib/templates/roles/lamp/tasks/main.yml +36 -0
  61. data/lib/templates/roles/lamp.yml +6 -0
  62. data/lib/templates/roles/site/handlers/main.yml +3 -0
  63. data/lib/templates/roles/site/tasks/db.yml +23 -0
  64. data/lib/templates/roles/site/tasks/main.yml +16 -0
  65. data/lib/templates/roles/site/templates/vhost.conf.j2 +24 -0
  66. data/spec/hyrb/pipeline_spec.rb +91 -0
  67. data/spec/spec_helper.rb +5 -0
  68. metadata +295 -0
@@ -0,0 +1,53 @@
1
+ - command: sudo apt-get update
2
+ - apt: "pkg={{ item }} state=installed"
3
+ with_items:
4
+ - git
5
+ - curl
6
+ - php5
7
+ - apache2
8
+ - build-essential
9
+ - libssl-dev
10
+ - libreadline-dev
11
+ - vim
12
+ - mysql-server
13
+ - mysql-client
14
+ - php5-mysql
15
+ - php-apc
16
+ - php5-xmlrpc
17
+ - php-soap
18
+ - php5-gd
19
+ - unzip
20
+ - python-mysqldb
21
+ - libmagickwand-dev
22
+ - imagemagick
23
+ - ffmpeg
24
+ - fail2ban
25
+
26
+ - name: create hyfn group
27
+ user: name=hyfn
28
+
29
+ - name: create hyfn user
30
+ user: name=hyfn group=hyfn shell=/bin/bash
31
+
32
+ - name: Add id_rsa.pub to hyfn
33
+ authorized_key: "user=hyfn key='{{ item }}'"
34
+ with_file: [~/.ssh/id_rsa.pub]
35
+
36
+ - name: Passwordless sudo for hyfn
37
+ copy: "content='hyfn ALL=(ALL) NOPASSWD: ALL' dest=/etc/sudoers.d/hyfn owner=root group=root mode=0440"
38
+
39
+ - name: Disable password auth
40
+ lineinfile: |
41
+ insertafter="#PasswordAuthentication yes"
42
+ line="PasswordAuthentication no"
43
+ present=yes
44
+
45
+ - name: Create local fail2ban config
46
+ copy: src=/etc/fail2ban/jail.conf dest=/etc/fail2ban/jail.local force=no
47
+
48
+ # - name: Allow office IPs in fail2ban
49
+ # lineinfile: |
50
+ # regexp="^ignoreip = "
51
+
52
+
53
+
@@ -0,0 +1,6 @@
1
+ ---
2
+ - hosts: all
3
+ sudo: true
4
+ roles:
5
+ - lamp
6
+ - db
@@ -0,0 +1,3 @@
1
+ ---
2
+ - name: restart apache
3
+ service: name=apache2 state=restarted
@@ -0,0 +1,23 @@
1
+ ---
2
+ - name: create db
3
+ mysql_db: >
4
+ name={{mysql_host}}
5
+ login_host={{ mysql_host }}
6
+ login_user={{ mysql_root_user }}
7
+ login_password={{ mysql_root_password }}
8
+ state=present
9
+
10
+ - name: create db user
11
+ mysql_user: >
12
+ name={{mysql_user}}
13
+ password={{mysql_password}}
14
+ login_host={{ mysql_host }}
15
+ login_user={{ mysql_root_user }}
16
+ login_password={{ mysql_root_password }}
17
+ host='{{item}}'
18
+ state=present
19
+ with_items:
20
+ - 127.0.0.1
21
+ - localhost
22
+ - "{{ ansible_hostname }}"
23
+ - ::1
@@ -0,0 +1,16 @@
1
+ ---
2
+ - name: create project dir
3
+ file: state=directory owner={{deploy_user}} group={{deploy_group}} path={{site_root}}
4
+
5
+ - name: create apache vhost
6
+ template: src=vhost.conf.j2 dest=/etc/apache2/sites-available/{{domain}}.conf
7
+ notify:
8
+ - restart apache
9
+
10
+ - name: symlink apache vhost
11
+ file: dest=/etc/apache2/sites-enabled/{{domain}}.conf src=/etc/apache2/sites-available/{{domain}}.conf state=link
12
+ notify:
13
+ - restart apache
14
+
15
+ - include: db.yml
16
+ when: mysql_host
@@ -0,0 +1,24 @@
1
+ <VirtualHost *:80>
2
+ ServerAdmin webmaster@localhost
3
+ ServerName {{ domain }}
4
+ DocumentRoot {{ doc_root }}
5
+
6
+ ErrorLog ${APACHE_LOG_DIR}/error.{{ domain }}.log
7
+ LogLevel warn
8
+ CustomLog ${APACHE_LOG_DIR}/access.{{ domain }}.log combined
9
+
10
+ <Directory "~ /.svn">
11
+ Order Deny,Allow
12
+ Deny From All
13
+ </Directory>
14
+
15
+ <Directory "~ /.git">
16
+ Order Deny,Allow
17
+ Deny From All
18
+ </Directory>
19
+
20
+ <Files .*>
21
+ Order Deny,Allow
22
+ Deny From All
23
+ </Files>
24
+ </VirtualHost>
@@ -0,0 +1,10 @@
1
+ ---
2
+ - hosts: "{{project_name}}"
3
+ sudo: true
4
+ vars:
5
+ - deploy_group: "{{deploy_user}}"
6
+ - site_root: "{{base_path}}/{{domain}}"
7
+ - doc_root: "{{site_root}}{{relative_web_root}}"
8
+ - vhost_path: "/etc/apache2/sites-available/{{domain}}"
9
+ roles:
10
+ - site
@@ -0,0 +1,2 @@
1
+ - name: restart mysql
2
+ service: name=mysql state=restarted enabled=yes
@@ -0,0 +1,24 @@
1
+ ---
2
+ - name: mysql | install
3
+ apt: "pkg={{item}} state=latest"
4
+ with_items:
5
+ - mysql-client
6
+ - mysql-server
7
+ - python-mysqldb
8
+
9
+ - name: mysql | start
10
+ service: name=mysql state=started
11
+
12
+ - name: mysql | create root user
13
+ mysql_user: "name=root password=root state=present host='{{ item }}'"
14
+ with_items:
15
+ - 127.0.0.1
16
+ - "{{ ansible_hostname }}"
17
+ - ::1
18
+ - localhost
19
+ ignore_errors: true
20
+
21
+ - name: mysql | set bind address
22
+ lineinfile: regexp=^bind-address line="bind_address=0.0.0.0" dest=/etc/mysql/my.cnf state=present
23
+ notify:
24
+ - restart mysql
@@ -0,0 +1,36 @@
1
+ - command: sudo apt-get update
2
+ - apt: "pkg={{ item }} state=installed"
3
+ with_items:
4
+ - git
5
+ - curl
6
+ - php5
7
+ - apache2
8
+ - build-essential
9
+ - libssl-dev
10
+ - libreadline-dev
11
+ - vim
12
+ - mysql-server
13
+ - mysql-client
14
+ - php5-mysql
15
+ - php-apc
16
+ - php5-xmlrpc
17
+ - php-soap
18
+ - php5-gd
19
+ - unzip
20
+ - python-mysqldb
21
+ - libmagickwand-dev
22
+ - imagemagick
23
+ - ffmpeg
24
+
25
+ - name: create hyfn group
26
+ user: name=hyfn
27
+
28
+ - name: create hyfn user
29
+ user: name=hyfn group=hyfn shell=/bin/bash
30
+
31
+ - name: Add id_rsa.pub to hyfn
32
+ authorized_key: "user=hyfn key='{{ item }}'"
33
+ with_file: [~/.ssh/id_rsa.pub]
34
+
35
+ - name: Passwordless sudo for hyfn
36
+ copy: "content='hyfn ALL=(ALL) NOPASSWD: ALL' dest=/etc/sudoers.d/hyfn owner=root group=root mode=0440"
@@ -0,0 +1,6 @@
1
+ ---
2
+ - hosts: all
3
+ sudo: true
4
+ roles:
5
+ - lamp
6
+ - db
@@ -0,0 +1,3 @@
1
+ ---
2
+ - name: restart apache
3
+ service: name=apache2 state=restarted
@@ -0,0 +1,23 @@
1
+ ---
2
+ - name: create db
3
+ mysql_db: >
4
+ name={{mysql_host}}
5
+ login_host={{ mysql_host }}
6
+ login_user={{ mysql_root_user }}
7
+ login_password={{ mysql_root_password }}
8
+ state=present
9
+
10
+ - name: create db user
11
+ mysql_user: >
12
+ name={{mysql_user}}
13
+ password={{mysql_password}}
14
+ login_host={{ mysql_host }}
15
+ login_user={{ mysql_root_user }}
16
+ login_password={{ mysql_root_password }}
17
+ host='{{item}}'
18
+ state=present
19
+ with_items:
20
+ - 127.0.0.1
21
+ - localhost
22
+ - "{{ ansible_hostname }}"
23
+ - ::1
@@ -0,0 +1,16 @@
1
+ ---
2
+ - name: create project dir
3
+ file: state=directory owner={{deploy_user}} group={{deploy_group}} path={{site_root}}
4
+
5
+ - name: create apache vhost
6
+ template: src=vhost.conf.j2 dest=/etc/apache2/sites-available/{{domain}}.conf
7
+ notify:
8
+ - restart apache
9
+
10
+ - name: symlink apache vhost
11
+ file: dest=/etc/apache2/sites-enabled/{{domain}}.conf src=/etc/apache2/sites-available/{{domain}}.conf state=link
12
+ notify:
13
+ - restart apache
14
+
15
+ - include: db.yml
16
+ when: mysql_host
@@ -0,0 +1,24 @@
1
+ <VirtualHost *:80>
2
+ ServerAdmin webmaster@localhost
3
+ ServerName {{ domain }}
4
+ DocumentRoot {{ doc_root }}
5
+
6
+ ErrorLog ${APACHE_LOG_DIR}/error.{{ domain }}.log
7
+ LogLevel warn
8
+ CustomLog ${APACHE_LOG_DIR}/access.{{ domain }}.log combined
9
+
10
+ <Directory "~ /.svn">
11
+ Order Deny,Allow
12
+ Deny From All
13
+ </Directory>
14
+
15
+ <Directory "~ /.git">
16
+ Order Deny,Allow
17
+ Deny From All
18
+ </Directory>
19
+
20
+ <Files .*>
21
+ Order Deny,Allow
22
+ Deny From All
23
+ </Files>
24
+ </VirtualHost>
@@ -0,0 +1,91 @@
1
+ require 'spec_helper'
2
+
3
+ class TestTask < Hyrb::Tasks::Base
4
+ def run(env)
5
+ env[:tasks] ||= []
6
+ env[:tasks] << self.class
7
+ end
8
+ end
9
+
10
+ class Task1 < TestTask
11
+ end
12
+
13
+ class Task2 < TestTask
14
+ depends Task1
15
+ end
16
+
17
+ class Task3 < TestTask
18
+ depends Task2
19
+ end
20
+
21
+ class Task4 < TestTask
22
+ depends Task2, Task1
23
+ end
24
+
25
+ class Task5 < TestTask
26
+ depends Task2
27
+ end
28
+
29
+ class Task6 < TestTask
30
+ depends Task2, Task5
31
+ end
32
+
33
+ class InvokerTask < TestTask
34
+ depends Task4
35
+
36
+ def run(env)
37
+ super
38
+ invoke(Task6)
39
+ end
40
+ end
41
+
42
+ class Task7 < TestTask
43
+ depends InvokerTask
44
+ end
45
+
46
+ class DoubleInvokerTask < TestTask
47
+ depends Task6
48
+
49
+ def run(env)
50
+ super
51
+ invoke(Task7)
52
+ end
53
+ end
54
+
55
+ describe Hyrb::Pipeline do
56
+ subject { Hyrb::Pipeline }
57
+
58
+ describe "#next_tasks" do
59
+ it "deals correctly with no deps" do
60
+ subject.new(Task1).next_tasks.must_equal [Task1]
61
+ end
62
+
63
+ it "deals correctly with nested dependencies" do
64
+ subject.new(Task2).next_tasks.must_equal [Task1, Task2]
65
+ subject.new(Task3).next_tasks.must_equal [Task1, Task2, Task3]
66
+ end
67
+
68
+ it "deals correctly with multiple dependencies" do
69
+ subject.new(Task4).next_tasks.must_equal [Task1, Task2, Task4]
70
+ end
71
+ end
72
+
73
+ describe "#run" do
74
+ it "runs the right tasks in the right order" do
75
+ subject.new(Task1).run[:tasks].must_equal [Task1]
76
+ subject.new(Task2).run[:tasks].must_equal [Task1, Task2]
77
+ subject.new(Task3).run[:tasks].must_equal [Task1, Task2, Task3]
78
+ subject.new(Task4).run[:tasks].must_equal [Task1, Task2, Task4]
79
+ end
80
+ end
81
+
82
+ describe "#invoke" do
83
+ it "runs the right tasks" do
84
+ subject.new(Task7).run[:tasks].must_equal [Task1, Task2, Task4, InvokerTask, Task5, Task6, Task7]
85
+ end
86
+
87
+ it "deals with nested invocations" do
88
+ subject.new(DoubleInvokerTask).run[:tasks].must_equal [Task1, Task2, Task5, Task6, DoubleInvokerTask, Task4, InvokerTask, Task7]
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,5 @@
1
+ require 'minitest/autorun'
2
+ require 'minitest/spec'
3
+ require 'minitest/pride'
4
+
5
+ require 'hyrb'
metadata ADDED
@@ -0,0 +1,295 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: hyrb
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Daniel Leavitt
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-10-23 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: hashie
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: parallel
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: thor_dleavitt
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: activesupport
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: hipchat-api
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: octokit
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: fog
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: faraday
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: google_doc_seed
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: yaml_inventory
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '>='
144
+ - !ruby/object:Gem::Version
145
+ version: 0.0.3
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - '>='
151
+ - !ruby/object:Gem::Version
152
+ version: 0.0.3
153
+ - !ruby/object:Gem::Dependency
154
+ name: bundler
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ~>
158
+ - !ruby/object:Gem::Version
159
+ version: '1.3'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ~>
165
+ - !ruby/object:Gem::Version
166
+ version: '1.3'
167
+ - !ruby/object:Gem::Dependency
168
+ name: rake
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - '>='
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: pry
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - '>='
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - '>='
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ description: Bootstrap HYFN Projects
196
+ email:
197
+ - daniel.leavitt@gmail.com
198
+ executables:
199
+ - hyrb
200
+ extensions: []
201
+ extra_rdoc_files: []
202
+ files:
203
+ - .gitignore
204
+ - Gemfile
205
+ - LICENSE.txt
206
+ - README.md
207
+ - Rakefile
208
+ - bin/hyrb
209
+ - hyrb.gemspec
210
+ - lib/hyrb.rb
211
+ - lib/hyrb/cli.rb
212
+ - lib/hyrb/command.rb
213
+ - lib/hyrb/commands/ansible.rb
214
+ - lib/hyrb/commands/creds.rb
215
+ - lib/hyrb/commands/defaults.rb
216
+ - lib/hyrb/commands/developers.rb
217
+ - lib/hyrb/commands/digital_ocean.rb
218
+ - lib/hyrb/commands/environment.rb
219
+ - lib/hyrb/commands/github.rb
220
+ - lib/hyrb/commands/hipchat.rb
221
+ - lib/hyrb/commands/project.rb
222
+ - lib/hyrb/commands/provision.rb
223
+ - lib/hyrb/commands/rackspace.rb
224
+ - lib/hyrb/model.rb
225
+ - lib/hyrb/models/ansible_host.rb
226
+ - lib/hyrb/models/ansible_site.rb
227
+ - lib/hyrb/models/cache.rb
228
+ - lib/hyrb/models/creds.rb
229
+ - lib/hyrb/models/defaults.rb
230
+ - lib/hyrb/models/developer.rb
231
+ - lib/hyrb/models/environment.rb
232
+ - lib/hyrb/models/project.rb
233
+ - lib/hyrb/pipeline.rb
234
+ - lib/hyrb/task.rb
235
+ - lib/hyrb/tasks/ansible.rb
236
+ - lib/hyrb/tasks/creds.rb
237
+ - lib/hyrb/tasks/defaults.rb
238
+ - lib/hyrb/tasks/developers.rb
239
+ - lib/hyrb/tasks/digital_ocean.rb
240
+ - lib/hyrb/tasks/environment.rb
241
+ - lib/hyrb/tasks/github.rb
242
+ - lib/hyrb/tasks/google.rb
243
+ - lib/hyrb/tasks/hipchat.rb
244
+ - lib/hyrb/tasks/project.rb
245
+ - lib/hyrb/tasks/project/bootstrap.rb
246
+ - lib/hyrb/tasks/provision.rb
247
+ - lib/hyrb/tasks/rackspace.rb
248
+ - lib/hyrb/version.rb
249
+ - lib/templates/ansible/Vagrantfile.erb
250
+ - lib/templates/ansible/roles/db/handlers/main.yml
251
+ - lib/templates/ansible/roles/db/tasks/main.yml
252
+ - lib/templates/ansible/roles/lamp.yml
253
+ - lib/templates/ansible/roles/lamp/tasks/main.yml
254
+ - lib/templates/ansible/roles/site/handlers/main.yml
255
+ - lib/templates/ansible/roles/site/tasks/db.yml
256
+ - lib/templates/ansible/roles/site/tasks/main.yml
257
+ - lib/templates/ansible/roles/site/templates/vhost.conf.j2
258
+ - lib/templates/ansible/site.yml
259
+ - lib/templates/roles/db/handlers/main.yml
260
+ - lib/templates/roles/db/tasks/main.yml
261
+ - lib/templates/roles/lamp.yml
262
+ - lib/templates/roles/lamp/tasks/main.yml
263
+ - lib/templates/roles/site/handlers/main.yml
264
+ - lib/templates/roles/site/tasks/db.yml
265
+ - lib/templates/roles/site/tasks/main.yml
266
+ - lib/templates/roles/site/templates/vhost.conf.j2
267
+ - spec/hyrb/pipeline_spec.rb
268
+ - spec/spec_helper.rb
269
+ homepage: ''
270
+ licenses:
271
+ - MIT
272
+ metadata: {}
273
+ post_install_message:
274
+ rdoc_options: []
275
+ require_paths:
276
+ - lib
277
+ required_ruby_version: !ruby/object:Gem::Requirement
278
+ requirements:
279
+ - - '>='
280
+ - !ruby/object:Gem::Version
281
+ version: '0'
282
+ required_rubygems_version: !ruby/object:Gem::Requirement
283
+ requirements:
284
+ - - '>='
285
+ - !ruby/object:Gem::Version
286
+ version: '0'
287
+ requirements: []
288
+ rubyforge_project:
289
+ rubygems_version: 2.0.3
290
+ signing_key:
291
+ specification_version: 4
292
+ summary: Bootstrap HYFN Projects
293
+ test_files:
294
+ - spec/hyrb/pipeline_spec.rb
295
+ - spec/spec_helper.rb