from-scratch 0.3.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (209) hide show
  1. checksums.yaml +4 -4
  2. data/Berksfile +2 -1
  3. data/Berksfile.lock +20 -1
  4. data/cookbooks/bluepill/CHANGELOG.md +93 -0
  5. data/cookbooks/bluepill/README.md +91 -0
  6. data/cookbooks/bluepill/attributes/default.rb +44 -0
  7. data/cookbooks/bluepill/metadata.json +1 -0
  8. data/cookbooks/bluepill/providers/service.rb +172 -0
  9. data/cookbooks/bluepill/recipes/default.rb +48 -0
  10. data/cookbooks/bluepill/recipes/rsyslog.rb +28 -0
  11. data/cookbooks/bluepill/resources/service.rb +27 -0
  12. data/cookbooks/bluepill/templates/default/bluepill_init.fedora.erb +34 -0
  13. data/cookbooks/bluepill/templates/default/bluepill_init.freebsd.erb +32 -0
  14. data/cookbooks/bluepill/templates/default/bluepill_init.lsb.erb +37 -0
  15. data/cookbooks/bluepill/templates/default/bluepill_init.rhel.erb +34 -0
  16. data/cookbooks/bluepill/templates/default/bluepill_rsyslog.conf.erb +1 -0
  17. data/cookbooks/nginx/CHANGELOG.md +435 -0
  18. data/cookbooks/nginx/README.md +521 -0
  19. data/cookbooks/nginx/attributes/auth_request.rb +23 -0
  20. data/cookbooks/nginx/attributes/default.rb +131 -0
  21. data/cookbooks/nginx/attributes/devel.rb +24 -0
  22. data/cookbooks/nginx/attributes/echo.rb +24 -0
  23. data/cookbooks/nginx/attributes/geoip.rb +31 -0
  24. data/cookbooks/nginx/attributes/headers_more.rb +24 -0
  25. data/cookbooks/nginx/attributes/lua.rb +28 -0
  26. data/cookbooks/nginx/attributes/naxsi.rb +24 -0
  27. data/cookbooks/nginx/attributes/openssl_source.rb +23 -0
  28. data/cookbooks/nginx/attributes/pagespeed.rb +9 -0
  29. data/cookbooks/nginx/attributes/passenger.rb +58 -0
  30. data/cookbooks/nginx/attributes/rate_limiting.rb +23 -0
  31. data/cookbooks/nginx/attributes/repo.rb +35 -0
  32. data/cookbooks/nginx/attributes/set_misc.rb +8 -0
  33. data/cookbooks/nginx/attributes/socketproxy.rb +13 -0
  34. data/cookbooks/nginx/attributes/source.rb +42 -0
  35. data/cookbooks/nginx/attributes/status.rb +22 -0
  36. data/cookbooks/nginx/attributes/syslog.rb +24 -0
  37. data/cookbooks/nginx/attributes/upload_progress.rb +26 -0
  38. data/cookbooks/nginx/definitions/nginx_site.rb +50 -0
  39. data/cookbooks/nginx/files/default/mime.types +78 -0
  40. data/cookbooks/nginx/files/default/naxsi_core.rules +82 -0
  41. data/cookbooks/nginx/libraries/matchers.rb +20 -0
  42. data/cookbooks/nginx/metadata.json +351 -0
  43. data/cookbooks/nginx/recipes/authorized_ips.rb +32 -0
  44. data/cookbooks/nginx/recipes/commons.rb +24 -0
  45. data/cookbooks/nginx/recipes/commons_conf.rb +42 -0
  46. data/cookbooks/nginx/recipes/commons_dir.rb +57 -0
  47. data/cookbooks/nginx/recipes/commons_script.rb +29 -0
  48. data/cookbooks/nginx/recipes/default.rb +31 -0
  49. data/cookbooks/nginx/recipes/headers_more_module.rb +50 -0
  50. data/cookbooks/nginx/recipes/http_auth_request_module.rb +52 -0
  51. data/cookbooks/nginx/recipes/http_echo_module.rb +46 -0
  52. data/cookbooks/nginx/recipes/http_geoip_module.rb +113 -0
  53. data/cookbooks/nginx/recipes/http_gzip_static_module.rb +30 -0
  54. data/cookbooks/nginx/recipes/http_mp4_module.rb +2 -0
  55. data/cookbooks/nginx/recipes/http_perl_module.rb +23 -0
  56. data/cookbooks/nginx/recipes/http_realip_module.rb +38 -0
  57. data/cookbooks/nginx/recipes/http_spdy_module.rb +23 -0
  58. data/cookbooks/nginx/recipes/http_ssl_module.rb +23 -0
  59. data/cookbooks/nginx/recipes/http_stub_status_module.rb +36 -0
  60. data/cookbooks/nginx/recipes/ipv6.rb +23 -0
  61. data/cookbooks/nginx/recipes/lua.rb +47 -0
  62. data/cookbooks/nginx/recipes/naxsi_module.rb +52 -0
  63. data/cookbooks/nginx/recipes/ngx_devel_module.rb +44 -0
  64. data/cookbooks/nginx/recipes/ngx_lua_module.rb +47 -0
  65. data/cookbooks/nginx/recipes/ohai_plugin.rb +35 -0
  66. data/cookbooks/nginx/recipes/openssl_source.rb +45 -0
  67. data/cookbooks/nginx/recipes/package.rb +52 -0
  68. data/cookbooks/nginx/recipes/pagespeed_module.rb +62 -0
  69. data/cookbooks/nginx/recipes/passenger.rb +56 -0
  70. data/cookbooks/nginx/recipes/repo.rb +41 -0
  71. data/cookbooks/nginx/recipes/repo_passenger.rb +39 -0
  72. data/cookbooks/nginx/recipes/set_misc.rb +30 -0
  73. data/cookbooks/nginx/recipes/socketproxy.rb +26 -0
  74. data/cookbooks/nginx/recipes/source.rb +205 -0
  75. data/cookbooks/nginx/recipes/syslog_module.rb +69 -0
  76. data/cookbooks/nginx/recipes/upload_progress_module.rb +53 -0
  77. data/cookbooks/nginx/templates/debian/nginx.init.erb +97 -0
  78. data/cookbooks/nginx/templates/default/default-site.erb +11 -0
  79. data/cookbooks/nginx/templates/default/modules/authorized_ip.erb +6 -0
  80. data/cookbooks/nginx/templates/default/modules/http_geoip.conf.erb +4 -0
  81. data/cookbooks/nginx/templates/default/modules/http_gzip_static.conf.erb +1 -0
  82. data/cookbooks/nginx/templates/default/modules/http_realip.conf.erb +7 -0
  83. data/cookbooks/nginx/templates/default/modules/nginx_status.erb +14 -0
  84. data/cookbooks/nginx/templates/default/modules/passenger.conf.erb +13 -0
  85. data/cookbooks/nginx/templates/default/modules/socketproxy.conf.erb +89 -0
  86. data/cookbooks/nginx/templates/default/modules/upload_progress.erb +4 -0
  87. data/cookbooks/nginx/templates/default/nginx-upstart.conf.erb +39 -0
  88. data/cookbooks/nginx/templates/default/nginx.conf.erb +103 -0
  89. data/cookbooks/nginx/templates/default/nginx.init.erb +111 -0
  90. data/cookbooks/nginx/templates/default/nginx.pill.erb +15 -0
  91. data/cookbooks/nginx/templates/default/nginx.sysconfig.erb +1 -0
  92. data/cookbooks/nginx/templates/default/nxdissite.erb +29 -0
  93. data/cookbooks/nginx/templates/default/nxensite.erb +38 -0
  94. data/cookbooks/nginx/templates/default/plugins/nginx.rb.erb +66 -0
  95. data/cookbooks/nginx/templates/default/sv-nginx-log-run.erb +2 -0
  96. data/cookbooks/nginx/templates/default/sv-nginx-run.erb +4 -0
  97. data/cookbooks/nginx/templates/gentoo/nginx.init.erb +87 -0
  98. data/cookbooks/nginx/templates/suse/nginx.init.erb +115 -0
  99. data/cookbooks/nginx/templates/ubuntu/nginx.init.erb +97 -0
  100. data/cookbooks/ohai/CHANGELOG.md +69 -0
  101. data/cookbooks/ohai/README.md +89 -0
  102. data/cookbooks/ohai/attributes/default.rb +31 -0
  103. data/cookbooks/ohai/files/default/plugins/README +1 -0
  104. data/cookbooks/ohai/libraries/matchers.rb +14 -0
  105. data/cookbooks/ohai/metadata.json +1 -0
  106. data/cookbooks/ohai/providers/hint.rb +38 -0
  107. data/cookbooks/ohai/recipes/default.rb +52 -0
  108. data/cookbooks/ohai/resources/hint.rb +5 -0
  109. data/cookbooks/packagecloud/CHANGELOG.md +12 -0
  110. data/cookbooks/packagecloud/README.md +80 -0
  111. data/cookbooks/packagecloud/attributes/default.rb +8 -0
  112. data/cookbooks/packagecloud/libraries/helper.rb +43 -0
  113. data/cookbooks/packagecloud/libraries/matcher.rb +7 -0
  114. data/cookbooks/packagecloud/metadata.json +1 -0
  115. data/cookbooks/packagecloud/providers/repo.rb +212 -0
  116. data/cookbooks/packagecloud/resources/repo.rb +10 -0
  117. data/cookbooks/packagecloud/templates/.kitchen/logs/kitchen.log +29 -0
  118. data/cookbooks/packagecloud/templates/default/apt.erb +2 -0
  119. data/cookbooks/packagecloud/templates/default/yum.erb +15 -0
  120. data/cookbooks/rsyslog/CHANGELOG.md +193 -0
  121. data/cookbooks/rsyslog/README.md +276 -0
  122. data/cookbooks/rsyslog/attributes/default.rb +131 -0
  123. data/cookbooks/rsyslog/libraries/helpers.rb +25 -0
  124. data/cookbooks/rsyslog/metadata.json +1 -0
  125. data/cookbooks/rsyslog/providers/file_input.rb +44 -0
  126. data/cookbooks/rsyslog/recipes/client.rb +87 -0
  127. data/cookbooks/rsyslog/recipes/default.rb +89 -0
  128. data/cookbooks/rsyslog/recipes/server.rb +44 -0
  129. data/cookbooks/rsyslog/resources/file_input.rb +28 -0
  130. data/cookbooks/rsyslog/templates/default/35-server-per-host.conf.erb +62 -0
  131. data/cookbooks/rsyslog/templates/default/49-relp.conf.erb +10 -0
  132. data/cookbooks/rsyslog/templates/default/49-remote.conf.erb +30 -0
  133. data/cookbooks/rsyslog/templates/default/50-default.conf.erb +6 -0
  134. data/cookbooks/rsyslog/templates/default/file-input.conf.erb +15 -0
  135. data/cookbooks/rsyslog/templates/default/omnios-manifest.xml.erb +30 -0
  136. data/cookbooks/rsyslog/templates/default/rsyslog.conf.erb +117 -0
  137. data/cookbooks/rsyslog/templates/smartos/50-default.conf.erb +18 -0
  138. data/cookbooks/runit/.kitchen.cloud.yml +103 -0
  139. data/cookbooks/runit/.kitchen.yml +38 -0
  140. data/cookbooks/runit/.rspec +3 -0
  141. data/cookbooks/runit/.rubocop.yml +45 -0
  142. data/cookbooks/runit/Berksfile.disabled +11 -0
  143. data/cookbooks/runit/CHANGELOG.md +226 -0
  144. data/cookbooks/runit/CONTRIBUTING.md +266 -0
  145. data/cookbooks/runit/Cheffile +11 -0
  146. data/cookbooks/runit/Gemfile +17 -0
  147. data/cookbooks/runit/LICENSE +201 -0
  148. data/cookbooks/runit/README.md +435 -0
  149. data/cookbooks/runit/Rakefile +23 -0
  150. data/cookbooks/runit/TESTING.md +26 -0
  151. data/cookbooks/runit/attributes/default.rb +62 -0
  152. data/cookbooks/runit/files/default/runit.seed +1 -0
  153. data/cookbooks/runit/files/default/runsvdir +0 -0
  154. data/cookbooks/runit/files/ubuntu-6.10/runsvdir +6 -0
  155. data/cookbooks/runit/files/ubuntu-7.04/runsvdir +7 -0
  156. data/cookbooks/runit/files/ubuntu-7.10/runsvdir +7 -0
  157. data/cookbooks/runit/files/ubuntu-8.04/runsvdir +7 -0
  158. data/cookbooks/runit/libraries/default.rb +0 -0
  159. data/cookbooks/runit/libraries/helpers.rb +190 -0
  160. data/cookbooks/runit/libraries/matchers.rb +69 -0
  161. data/cookbooks/runit/libraries/provider_runit_service.rb +326 -0
  162. data/cookbooks/runit/libraries/resource_runit_service.rb +267 -0
  163. data/cookbooks/runit/metadata.json +50 -0
  164. data/cookbooks/runit/recipes/default.rb +91 -0
  165. data/cookbooks/runit/templates/debian/init.d.erb +66 -0
  166. data/cookbooks/runit/templates/default/log-config.erb +24 -0
  167. data/cookbooks/runit/templates/gentoo/runit-start.sh.erb +32 -0
  168. data/cookbooks/scratchify/Berksfile +2 -1
  169. data/cookbooks/scratchify/Berksfile.lock +20 -1
  170. data/cookbooks/scratchify/lib/from-scratch.rb +1 -4
  171. data/cookbooks/scratchify/lib/from-scratch/version.rb +1 -1
  172. data/cookbooks/scratchify/metadata.json +5 -2
  173. data/cookbooks/scratchify/recipes/default.rb +15 -1
  174. data/cookbooks/scratchify/recipes/nginx_site.rb +4 -0
  175. data/cookbooks/scratchify/recipes/pre_rvm.rb +5 -0
  176. data/cookbooks/scratchify/templates/nginx.erb +31 -0
  177. data/cookbooks/scratchify/templates/node.json.erb +21 -6
  178. data/cookbooks/yum-epel/CHANGELOG.md +84 -0
  179. data/cookbooks/yum-epel/README.md +172 -0
  180. data/cookbooks/yum-epel/attributes/default.rb +1 -0
  181. data/cookbooks/yum-epel/attributes/epel-debuginfo.rb +28 -0
  182. data/cookbooks/yum-epel/attributes/epel-source.rb +28 -0
  183. data/cookbooks/yum-epel/attributes/epel-testing-debuginfo.rb +28 -0
  184. data/cookbooks/yum-epel/attributes/epel-testing-source.rb +28 -0
  185. data/cookbooks/yum-epel/attributes/epel-testing.rb +28 -0
  186. data/cookbooks/yum-epel/attributes/epel.rb +28 -0
  187. data/cookbooks/yum-epel/metadata.json +1 -0
  188. data/cookbooks/yum-epel/recipes/default.rb +61 -0
  189. data/cookbooks/yum/CHANGELOG.md +294 -0
  190. data/cookbooks/yum/README.md +285 -0
  191. data/cookbooks/yum/attributes/main.rb +100 -0
  192. data/cookbooks/yum/libraries/matchers.rb +27 -0
  193. data/cookbooks/yum/metadata.json +1 -0
  194. data/cookbooks/yum/providers/globalconfig.rb +41 -0
  195. data/cookbooks/yum/providers/repository.rb +106 -0
  196. data/cookbooks/yum/recipes/default.rb +26 -0
  197. data/cookbooks/yum/resources/globalconfig.rb +109 -0
  198. data/cookbooks/yum/resources/repository.rb +69 -0
  199. data/cookbooks/yum/templates/default/main.erb +276 -0
  200. data/cookbooks/yum/templates/default/repo.erb +125 -0
  201. data/lib/from-scratch.rb +1 -0
  202. data/lib/from-scratch/version.rb +1 -1
  203. data/metadata.rb +5 -1
  204. data/recipes/default.rb +15 -1
  205. data/recipes/nginx_site.rb +4 -0
  206. data/recipes/pre_rvm.rb +5 -0
  207. data/templates/nginx.erb +31 -0
  208. data/templates/node.json.erb +21 -6
  209. metadata +194 -1
@@ -0,0 +1,48 @@
1
+ #
2
+ # Cookbook Name:: bluepill
3
+ # Recipe:: default
4
+ #
5
+ # Copyright 2010-2015, Chef Software, Inc.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ gem_package 'i18n' do
21
+ action :install
22
+ end
23
+
24
+ gem_package 'bluepill' do
25
+ version node['bluepill']['version'] if node['bluepill']['version']
26
+ action :install
27
+ end
28
+
29
+ [
30
+ node['bluepill']['conf_dir'],
31
+ node['bluepill']['pid_dir'],
32
+ node['bluepill']['state_dir']
33
+ ].each do |dir|
34
+ directory dir do
35
+ recursive true
36
+ owner 'root'
37
+ group node['bluepill']['group']
38
+ end
39
+ end
40
+
41
+ file node['bluepill']['logfile'] do
42
+ owner 'root'
43
+ group node['bluepill']['group']
44
+ mode '0755'
45
+ action :create_if_missing
46
+ end
47
+
48
+ include_recipe 'bluepill::rsyslog' if node['bluepill']['use_rsyslog']
@@ -0,0 +1,28 @@
1
+ #
2
+ # Cookbook Name:: bluepill
3
+ # Recipe:: rsyslog
4
+ #
5
+ # Copyright 2010-2015, Chef Software, Inc.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ include_recipe 'rsyslog'
21
+
22
+ template '/etc/rsyslog.d/bluepill.conf' do
23
+ owner 'root'
24
+ group 'root'
25
+ mode '0644'
26
+ source 'bluepill_rsyslog.conf.erb'
27
+ notifies :restart, 'service[rsyslog]'
28
+ end
@@ -0,0 +1,27 @@
1
+ #
2
+ # Cookbook Name:: bluepill
3
+ # Resource:: service
4
+ #
5
+ # Copyright 2010-2015, Chef Software, Inc.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ actions :start, :stop, :enable, :disable, :load, :restart, :reload
21
+ default_action :start
22
+
23
+ attribute :service_name, name_attribute: true
24
+ attribute :enabled, default: false
25
+ attribute :running, default: false
26
+ attribute :variables, kind_of: Hash
27
+ attribute :supports, default: { restart: true, status: true }
@@ -0,0 +1,34 @@
1
+ #!/bin/sh
2
+ #
3
+ # Author: Jamie Winsor (<jamie@vialstudios.com>)
4
+ #
5
+ # chkconfig: 345 99 1
6
+ # Description: Bluepill loader for <%= @service_name %>
7
+ # Provides: <%= @service_name %>
8
+ # Default-Start: 3 4 5
9
+ # Default-Stop: 0 1 2 6
10
+
11
+ BLUEPILL_BIN=<%= node['bluepill']['bin'] %>
12
+ BLUEPILL_CONFIG=<%= @config_file %>
13
+ SERVICE_NAME=<%= @service_name %>
14
+
15
+ [ -r <%= node['bluepill']['defaults_dir'] %>/$SERVICE_NAME ] && . <%= node['bluepill']['defaults_dir'] %>/$SERVICE_NAME
16
+
17
+ case "$1" in
18
+ start)
19
+ echo "Loading bluepill configuration for $SERVICE_NAME "
20
+ $BLUEPILL_BIN load $BLUEPILL_CONFIG
21
+ ;;
22
+ stop)
23
+ $BLUEPILL_BIN $SERVICE_NAME stop
24
+ $BLUEPILL_BIN $SERVICE_NAME quit
25
+ ;;
26
+ restart)
27
+ $0 stop
28
+ $0 start
29
+ ;;
30
+ *)
31
+ echo "Usage: $0 {start|stop|restart}"
32
+ exit 1
33
+ ;;
34
+ esac
@@ -0,0 +1,32 @@
1
+ #!/bin/sh
2
+ ##
3
+ # PROVIDE: named
4
+ # REQUIRE: SERVERS cleanvar
5
+ # KEYWORD: shutdown
6
+ #
7
+
8
+ . /etc/rc.subr
9
+
10
+ name="<%= @service_name %>"
11
+ rcvar=`set_rcvar`
12
+
13
+ # Set some defaults
14
+ <%= @service_name %>_enable=${<%= @service_name %>_enable:-"NO"}
15
+
16
+ pidfile="/var/run/<%= @service_name %>.pid"
17
+ command="/usr/local/bin/bluepill"
18
+
19
+ start_precmd="${command} load <%= node['bluepill']['conf_dir'] %>/<%= @service_name %>.pill"
20
+ start_cmd="${command} ${name} start"
21
+
22
+ status_cmd="${command} ${name} status"
23
+
24
+ stop_cmd="${command} ${name} stop"
25
+ stop_postcmd="${command} ${name} quit"
26
+
27
+ [ -r <%= node['bluepill']['defaults_dir'] %>/$name ] && . <%= node['bluepill']['defaults_dir'] %>/$name
28
+ load_rc_config ${name}
29
+
30
+ PATH="${PATH}:/usr/local/bin"
31
+
32
+ run_rc_command "$1"
@@ -0,0 +1,37 @@
1
+ #!/bin/sh
2
+ #
3
+ ### BEGIN INIT INFO
4
+ # Provides: <%= @service_name %>
5
+ # Required-Start:
6
+ # Required-Stop:
7
+ # Defalt-Start: 2 3 4 5
8
+ # Default-Stop: 0 1 2 6
9
+ # Description: Bluepill loader for <%= @service_name %>
10
+ ### END INIT INFO
11
+
12
+ BLUEPILL_BIN=<%= node['bluepill']['bin'] %>
13
+ BLUEPILL_CONFIG=<%= @config_file %>
14
+ SERVICE_NAME=<%= @service_name %>
15
+
16
+ [ -r <%= node['bluepill']['defaults_dir'] %>/$SERVICE_NAME ] && . <%= node['bluepill']['defaults_dir'] %>/$SERVICE_NAME
17
+
18
+ case "$1" in
19
+ start)
20
+ echo "Loading bluepill configuration for $SERVICE_NAME "
21
+ $BLUEPILL_BIN load $BLUEPILL_CONFIG
22
+ ;;
23
+ stop)
24
+ $BLUEPILL_BIN $SERVICE_NAME stop
25
+ $BLUEPILL_BIN $SERVICE_NAME quit
26
+ ;;
27
+ restart)
28
+ $BLUEPILL_BIN $SERVICE_NAME restart
29
+ ;;
30
+ status)
31
+ $BLUEPILL_BIN $SERVICE_NAME status
32
+ ;;
33
+ *)
34
+ echo "Usage: $0 {start|stop|restart}"
35
+ exit 1
36
+ ;;
37
+ esac
@@ -0,0 +1,34 @@
1
+ #!/bin/sh
2
+ #
3
+ # Author: Jamie Winsor (<jamie@vialstudios.com>)
4
+ #
5
+ # chkconfig: 345 99 1
6
+ # Description: Bluepill loader for <%= @service_name %>
7
+ # Provides: <%= @service_name %>
8
+ # Default-Start: 3 4 5
9
+ # Default-Stop: 0 1 2 6
10
+
11
+ BLUEPILL_BIN=<%= node['bluepill']['bin'] %>
12
+ BLUEPILL_CONFIG=<%= @config_file %>
13
+ SERVICE_NAME=<%= @service_name %>
14
+
15
+ [ -r <%= node['bluepill']['defaults_dir'] %>/$SERVICE_NAME ] && . <%= node['bluepill']['defaults_dir'] %>/$SERVICE_NAME
16
+
17
+ case "$1" in
18
+ start)
19
+ echo "Loading bluepill configuration for $SERVICE_NAME "
20
+ $BLUEPILL_BIN load $BLUEPILL_CONFIG
21
+ ;;
22
+ stop)
23
+ $BLUEPILL_BIN $SERVICE_NAME stop
24
+ $BLUEPILL_BIN $SERVICE_NAME quit
25
+ ;;
26
+ restart)
27
+ $0 stop
28
+ $0 start
29
+ ;;
30
+ *)
31
+ echo "Usage: $0 {start|stop|restart}"
32
+ exit 1
33
+ ;;
34
+ esac
@@ -0,0 +1 @@
1
+ local6.* <%= node["bluepill"]["logfile"] %>
@@ -0,0 +1,435 @@
1
+ nginx Cookbook CHANGELOG
2
+ ========================
3
+ This file is used to list changes made in each version of the nginx cookbook.
4
+
5
+ v2.7.6 / 2015-03-17
6
+ ==================
7
+
8
+ * Bugfix sites do not need a .conf suffix anymore, [#338][] [@runningman84][]
9
+
10
+ v2.7.5 (2015-03-17)
11
+ -------------------
12
+ **NOTE** As of this release, this cookbook in its current format is deprecated,
13
+ and only critical bugs and fixes will be added.
14
+ A complete rewrite is in progress, so we appreciate your patience while we sort things out.
15
+ The amount of change included here
16
+
17
+ * Fix nginx 1.4.4 archive checksum to prevent redownload, [#305][] [@irontoby][]
18
+ * Allow setting an empty string to prevent additional repos, [#243][] [@miketheman][]
19
+ * Use correct `mime.types` for javascript, [#259][] [@dwradcliffe][]
20
+ * Fix `headers_more` module for source installs, [#279][], [@josh-padnick][] & [@miketheman][]
21
+ * Remove `libtool` from `geoip` and update download paths & checksums, [@miketheman][]
22
+ * Fix unquoted URL with params failing geoip module build (and tests!), [#294][] [@karsten-bruckmann][] & [@miketheman][]
23
+ * Fix typo in `source.rb`, [#205][] [@gregkare][]
24
+ * Test updates: ChefSpec, test-kitchen. Lots of help by [@jujugrrr][]
25
+ * Toolchain updates for testing
26
+ * Adds support for `tcp_nopush`, `tcp_nodelay` [@shtouff][]
27
+
28
+ After merging a ton of pull requests, here's a brief changelog. Click each to read more.
29
+
30
+ * Merge pull request [#335][] from [@stevenolen][]
31
+ * Merge pull request [#332][] from [@monsterstrike][]
32
+ * Merge pull request [#331][] from [@jalberto][]
33
+ * Merge pull request [#327][] from [@nkadel-skyhook][]
34
+ * Merge pull request [#326][] from [@bchrobot][]
35
+ * Merge pull request [#325][] from [@CanOfSpam3bug324][]
36
+ * Merge pull request [#321][] from [@jalberto][]
37
+ * Merge pull request [#318][] from [@evertrue][]
38
+ * Merge pull request [#314][] from [@bkw][]
39
+ * Merge pull request [#312][] from [@thomasmeeus][]
40
+ * Merge pull request [#310][] from [@morr][]
41
+ * Merge pull request [#305][] from [@irontoby][]
42
+ * Merge pull request [#302][] from [@auth0][]
43
+ * Merge pull request [#298][] from [@Mytho][]
44
+ * Merge pull request [#269][] from [@yveslaroche][]
45
+ * Merge pull request [#259][] from [@dwradcliffe][]
46
+ * Merge pull request [#254][] from [@evertrue][]
47
+ * Merge pull request [#252][] from [@gkra][]
48
+ * Merge pull request [#249][] from [@whatcould][]
49
+ * Merge pull request [#240][] from [@jcoleman][]
50
+ * Merge pull request [#236][] from [@adepue][]
51
+ * Merge pull request [#230][] from [@n1koo][]
52
+ * Merge pull request [#225][] from [@thommay][]
53
+ * Merge pull request [#223][] from [@firmhouse][]
54
+ * Merge pull request [#220][] from [@evertrue][]
55
+ * Merge pull request [#219][] from [@evertrue][]
56
+ * Merge pull request [#204][] from [@usertesting][]
57
+ * Merge pull request [#200][] from [@ffuenf][]
58
+ * Merge pull request [#188][] from [@larkin][]
59
+ * Merge pull request [#184][] from [@tvdinner][]
60
+ * Merge pull request [#183][] from [@jenssegers][]
61
+ * Merge pull request [#174][] from [@9minutesnooze][]
62
+
63
+ https://github.com/miketheman/nginx/compare/v2.7.4...v2.7.5
64
+
65
+ v2.7.4 (2014-06-06)
66
+ -------------------
67
+ * [COOK-4703] Default openssl version to 1.0.1h to address CVE-2014-0224
68
+
69
+
70
+ v2.7.2 (2014-05-27)
71
+ -------------------
72
+
73
+ - [COOK-4658] - Nginx::socketproxy if the context is blank or nonexistent, the location in the config file has a double slash at the beginning
74
+ - [COOK-4644] - add support to nginx::repo for Amazon Linux
75
+ - Allow .kitchen.cloud.yml to use an environment variable for the EC2 Availability Zone
76
+
77
+
78
+ v2.7.0 (2014-05-15)
79
+ -------------------
80
+ - [COOK-4643] - Update metadata lock on ohai
81
+ - [COOK-4588] - Give more love to FreeBSD
82
+ - [COOK-4601] - Add proxy type: Socket
83
+
84
+
85
+ v2.6.2 (2014-04-09)
86
+ -------------------
87
+ [COOK-4527] - set default openssl source version to 1.0.1g to address CVE-2014-0160 aka Heartbleed
88
+
89
+
90
+ v2.6.0 (2014-04-08)
91
+ -------------------
92
+ - Reverting COOK-4323
93
+
94
+
95
+ v2.5.0 (2014-03-27)
96
+ -------------------
97
+ - [COOK-4323] - Need a resource to easily configure available sites (vhosts)
98
+
99
+
100
+ v2.4.4 (2014-03-13)
101
+ -------------------
102
+ - Updating for build-essential 2.0
103
+
104
+
105
+ v2.4.2 (2014-02-28)
106
+ -------------------
107
+ Fixing bad commit from COOK-4330
108
+
109
+
110
+ v2.4.1 (2014-02-27)
111
+ -------------------
112
+ - [COOK-4345] - nginx default recipe include install type recipe directly
113
+
114
+
115
+ v2.4.0 (2014-02-27)
116
+ -------------------
117
+ - [COOK-4380] - kitchen.yml platform listings for ubuntu-10.04 and ubuntu-12.04 are missing the dot
118
+ - [COOK-4330] - Bump nginx version for security issues (CVE-2013-0337, CVE-2013-4547)
119
+
120
+
121
+ v2.3.0 (2014-02-25)
122
+ -------------------
123
+ - **[COOK-4293](https://tickets.chef.io/browse/COOK-4293)** - Update testing Gems in nginx and fix a rubocop warnings
124
+ - **[COOK-4237] - Nginx version incorrectly parsed on Ubuntu 13
125
+ - **[COOK-3866] - Nginx default site folder
126
+
127
+
128
+ v2.2.2 (2014-01-23)
129
+ -------------------
130
+ [COOK-3672] - Add gzip_static option
131
+
132
+
133
+ v2.2.0
134
+ ------
135
+ No changes. Version bump for toolchain
136
+
137
+
138
+ v2.1.0
139
+ ------
140
+ [COOK-3923] - Enable the list of packages installed by nginx::passenger to be configurable
141
+ [COOK-3672] - Nginx should support the gzip_static option
142
+ Updating for yum ~> 3.0
143
+ Fixing up style for rubocop
144
+ Updating test-kitchen harness
145
+
146
+
147
+ v2.0.8
148
+ ------
149
+ fixing metadata version error. locking to 3.0
150
+
151
+
152
+ v2.0.6
153
+ ------
154
+ Locking yum dependency to '< 3'
155
+
156
+
157
+ v2.0.4
158
+ ------
159
+ ### Bug
160
+ - **[COOK-3808](https://tickets.chef.io/browse/COOK-3808)** - nginx::passenger run fails because of broken installation of package dependencies
161
+ - **[COOK-3779](https://tickets.chef.io/browse/COOK-3779)** - Build in master fails due to rubocop error
162
+
163
+
164
+ v2.0.2
165
+ ------
166
+ ### Bug
167
+ - **[COOK-3808](https://tickets.chef.io/browse/COOK-3808)** - nginx::passenger run fails because of broken installation of package dependencies
168
+ - **[COOK-3779](https://tickets.chef.io/browse/COOK-3779)** - Build in master fails due to rubocop error
169
+
170
+
171
+ v2.0.0
172
+ ------
173
+ ### Improvement
174
+ - **[COOK-3733](https://tickets.chef.io/browse/COOK-3733)** - Add RPM key names and GPG checking
175
+ - **[COOK-3687](https://tickets.chef.io/browse/COOK-3687)** - Add support for `http_perl`
176
+ - **[COOK-3603](https://tickets.chef.io/browse/COOK-3603)** - Add a recipe for using custom openssl
177
+ - **[COOK-3602](https://tickets.chef.io/browse/COOK-3602)** - Use an attribute for the status module port
178
+ - **[COOK-3549](https://tickets.chef.io/browse/COOK-3549)** - Refactor custom modules support
179
+ - **[COOK-3521](https://tickets.chef.io/browse/COOK-3521)** - Add support for `http_auth_request`
180
+ - **[COOK-3520](https://tickets.chef.io/browse/COOK-3520)** - Add support for `spdy`
181
+ - **[COOK-3185](https://tickets.chef.io/browse/COOK-3185)** - Add `gzip_*` attributes
182
+ - **[COOK-2712](https://tickets.chef.io/browse/COOK-2712)** - Update `upload_progress` version to 0.9.0
183
+
184
+ ### Bug
185
+ - **[COOK-3686](https://tickets.chef.io/browse/COOK-3686)** - Remove deprecated 'passenger_use_global_queue' directive
186
+ - **[COOK-3626](https://tickets.chef.io/browse/COOK-3626)** - Parameterize hardcoded path to helper scripts
187
+ - **[COOK-3571](https://tickets.chef.io/browse/COOK-3571)** - Reloda ohai plugin after installation
188
+ - **[COOK-3428](https://tickets.chef.io/browse/COOK-3428)** - Fix an issue where access logs are not disabled when the `disable_access_log` attribute is set to `true`
189
+ - **[COOK-3322](https://tickets.chef.io/browse/COOK-3322)** - Fix an issue where `nginx::ohai_plugin` fails when using source recipe
190
+ - **[COOK-3241](https://tickets.chef.io/browse/COOK-3241)** - Fix an issue where`nginx::ohai_plugin` fails unless using source recipe
191
+
192
+ ### New Feature
193
+ - **[COOK-3605](https://tickets.chef.io/browse/COOK-3605)** - Add Lua module
194
+
195
+
196
+ v1.8.0
197
+ ------
198
+ ### Bug
199
+ - **[COOK-3397](https://tickets.chef.io/browse/COOK-3397)** - Fix user from nginx package on Gentoo
200
+ - **[COOK-2968](https://tickets.chef.io/browse/COOK-2968)** - Fix foodcritic failure
201
+ - **[COOK-2723](https://tickets.chef.io/browse/COOK-2723)** - Remove duplicate passenger `max_pool_size`
202
+
203
+ ### Improvement
204
+ - **[COOK-3186](https://tickets.chef.io/browse/COOK-3186)** - Add `client_body_buffer_size` and `server_tokens attributes`
205
+ - **[COOK-3080](https://tickets.chef.io/browse/COOK-3080)** - Add rate-limiting support
206
+ - **[COOK-2927](https://tickets.chef.io/browse/COOK-2927)** - Add support for `real_ip_recursive` directive
207
+ - **[COOK-2925](https://tickets.chef.io/browse/COOK-2925)** - Fix ChefSpec converge
208
+ - **[COOK-2724](https://tickets.chef.io/browse/COOK-2724)** - Automatically create directory for PID file
209
+ - **[COOK-2472](https://tickets.chef.io/browse/COOK-2472)** - Bump nginx version to 1.2.9
210
+ - **[COOK-2312](https://tickets.chef.io/browse/COOK-2312)** - Add additional `mine_types` to the `gzip_types` value
211
+
212
+ ### New Feature
213
+ - **[COOK-3183](https://tickets.chef.io/browse/COOK-3183)** - Allow inclusion in extra-cookbook modules
214
+
215
+ v1.7.0
216
+ ------
217
+ ### Improvement
218
+ - [COOK-3030]: The repo_source attribute should allow you to not add any additional repositories to your node
219
+
220
+ ### Sub-task
221
+ - [COOK-2738]: move nginx::passenger attributes to `nginx/attributes/passenger.rb`
222
+
223
+ v1.6.0
224
+ ------
225
+ ### Task
226
+ - [COOK-2409]: update nginx::source recipe for new `runit_service` resource
227
+ - [COOK-2877]: update nginx cookbook test-kitchen support to 1.0 (alpha)
228
+
229
+ ### Improvement
230
+ - [COOK-1976]: nginx source should be able to configure binary path
231
+ - [COOK-2622]: nginx: add upstart support
232
+ - [COOK-2725]: add "configtest" subcommand in initscript
233
+
234
+ ### Bug
235
+ - [COOK-2398]: nginx_site definition cannot be used to manage the default site
236
+ - [COOK-2493]: Resources in nginx::source recipe always use 1.2.6 version, even overriding version attribute
237
+ - [COOK-2531]: Remove usage of non-existant attribute "description" for `apt_repository`
238
+ - [COOK-2665]: nginx::source install with custom sbin_path breaks ohai data
239
+
240
+ v1.4.0
241
+ ------
242
+ - [COOK-2183] - Install nginx package from nginxyum repo
243
+ - [COOK-2311] - headers-more should be updated to the latest version
244
+ - [COOK-2455] - Support sendfile option (nginx.conf)
245
+
246
+ v1.3.0
247
+ ------
248
+ - [COOK-1979] - Passenger module requires curl-dev(el)
249
+ - [COOK-2219] - Support `proxy_read_timeout` (in nginx.conf)
250
+ - [COOK-2220] - Support `client_max_body_size` (in nginx.conf)
251
+ - [COOK-2280] - Allow custom timing of nginx_site's reload notification
252
+ - [COOK-2304] - nginx cookbook should install 1.2.6 not 1.2.3 for source installs
253
+ - [COOK-2309] - checksums for geoip files need to be updated in nginx
254
+ - [COOK-2310] - Checksum in the `nginx::upload_progress` recipe is not correct
255
+ - [COOK-2314] - nginx::passenger: Install the latest version of passenger
256
+ - [COOK-2327] - nginx: passenger recipe should find ruby via Ohai
257
+ - [COOK-2328] - nginx: Update mime.types file to the latest
258
+ - [COOK-2329] - nginx: Update naxsi rules to the current
259
+
260
+ v1.2.0
261
+ ------
262
+ - [COOK-1752] - Add headers more module to the nginx cookbook
263
+ - [COOK-2209] - nginx source recipe should create web user before creating directories
264
+ - [COOK-2221] - make nginx::source compatible with gentoo
265
+ - [COOK-2267] - add version for runit recommends
266
+
267
+ v1.1.4
268
+ ------
269
+ - [COOK-2168] - specify package name as an attribute
270
+
271
+ v1.1.2
272
+ ------
273
+ - [COOK-1766] - Nginx Source Recipe Rebuilding Source at Every Run
274
+ - [COOK-1910] - Add IPv6 module
275
+ - [COOK-1966] - nginx cookbook should let you set `gzip_vary` and `gzip_buffers` in nginx.conf
276
+ - [COOK-1969]- - nginx::passenger module not included due to use of symbolized `:nginx_configure_flags`
277
+ - [COOK-1971] - Template passenger.conf.erb configures key `passenger_max_pool_size` 2 times
278
+ - [COOK-1972] - nginx::source compile_nginx_source reports success in spite of failed compilation
279
+ - [COOK-1975] - nginx::passenger requires rake gem
280
+ - [COOK-1979] - Passenger module requires curl-dev(el)
281
+ - [COOK-2080] - Restart nginx on source compilation
282
+
283
+ v1.1.0
284
+ ------
285
+ - [COOK-1263] - Nginx log (and possibly other) directory creations should be recursive
286
+ - [COOK-1515] - move creation of `node['nginx']['dir']` out of commons.rb
287
+ - [COOK-1523] - nginx `http_geoip_module` requires libtoolize
288
+ - [COOK-1524] - nginx checksums are md5
289
+ - [COOK-1641] - add "use", "`multi_accept`" and "`worker_rlimit_nofile`" to nginx cookbook
290
+ - [COOK-1683] - Nginx fails Windows nodes just by being required in metadata
291
+ - [COOK-1735] - Support Amazon Linux in nginx::source recipe
292
+ - [COOK-1753] - Add ability for nginx::passenger recipe to configure more Passenger global settings
293
+ - [COOK-1754] - Allow group to be set in nginx.conf file
294
+ - [COOK-1770] - nginx cookbook fails on servers that don't have a "cpu" attribute
295
+ - [COOK-1781] - Use 'sv' to reload nginx when using runit
296
+ - [COOK-1789] - stop depending on bluepill, runit and yum. they are not required by nginx cookbook
297
+ - [COOK-1791] - add name attribute to metadata
298
+ - [COOK-1837] - nginx::passenger doesn't work on debian family
299
+ - [COOK-1956] - update naxsi version due to incompatibility with newer nginx
300
+
301
+ v1.0.2
302
+ ------
303
+ - [COOK-1636] - relax the version constraint on ohai
304
+
305
+ v1.0.0
306
+ ------
307
+ - [COOK-913] - defaults for gzip cause warning on service restart
308
+ - [COOK-1020] - duplicate MIME type
309
+ - [COOK-1269] - add passenger module support through new recipe
310
+ - [COOK-1306] - increment nginx version to 1.2 (now 1.2.3)
311
+ - [COOK-1316] - default site should not always be enabled
312
+ - [COOK-1417] - resolve errors preventing build from source
313
+ - [COOK-1483] - source prefix attribute has no effect
314
+ - [COOK-1484] - source relies on /etc/sysconfig
315
+ - [COOK-1511] - add support for naxsi module
316
+ - [COOK-1525] - nginx source is downloaded every time
317
+ - [COOK-1526] - nginx_site does not remove sites
318
+ - [COOK-1527] - add `http_echo_module` recipe
319
+
320
+ v0.101.6
321
+ --------
322
+ Erroneous cookbook upload due to timeout.
323
+
324
+ Version #'s are cheap.
325
+
326
+ v0.101.4
327
+ --------
328
+ - [COOK-1280] - Improve RHEL family support and fix ohai_plugins recipe bug
329
+ - [COOK-1194] - allow installation method via attribute
330
+ - [COOK-458] - fix duplicate nginx processes
331
+
332
+ v0.101.2
333
+ --------
334
+ * [COOK-1211] - include the default attributes explicitly so version is available.
335
+
336
+ v0.101.0
337
+ --------
338
+ **Attribute Change**: `node['nginx']['url']` -> `node['nginx']['source']['url']`; see the README.md.
339
+
340
+ - [COOK-1115] - daemonize when using init script
341
+ - [COOK-477] - module compilation support in nginx::source
342
+
343
+ v0.100.4
344
+ --------
345
+ - [COOK-1126] - source version bump to 1.0.14
346
+
347
+ v0.100.2
348
+ --------
349
+ - [COOK-1053] - Add :url attribute to nginx cookbook
350
+
351
+ v0.100.0
352
+ --------
353
+ - [COOK-818] - add "application/json" per RFC.
354
+ - [COOK-870] - bluepill init style support
355
+ - [COOK-957] - Compress application/javascript.
356
+ - [COOK-981] - Add reload support to NGINX service
357
+
358
+ v0.99.2
359
+ -------
360
+ - [COOK-809] - attribute to disable access logging
361
+ - [COOK-772] - update nginx download source location
362
+
363
+ <!--- The following link definition list is generated by PimpMyChangelog --->
364
+ [#174]: https://github.com/miketheman/nginx/issues/174
365
+ [#183]: https://github.com/miketheman/nginx/issues/183
366
+ [#184]: https://github.com/miketheman/nginx/issues/184
367
+ [#188]: https://github.com/miketheman/nginx/issues/188
368
+ [#200]: https://github.com/miketheman/nginx/issues/200
369
+ [#204]: https://github.com/miketheman/nginx/issues/204
370
+ [#205]: https://github.com/miketheman/nginx/issues/205
371
+ [#219]: https://github.com/miketheman/nginx/issues/219
372
+ [#220]: https://github.com/miketheman/nginx/issues/220
373
+ [#223]: https://github.com/miketheman/nginx/issues/223
374
+ [#225]: https://github.com/miketheman/nginx/issues/225
375
+ [#230]: https://github.com/miketheman/nginx/issues/230
376
+ [#236]: https://github.com/miketheman/nginx/issues/236
377
+ [#240]: https://github.com/miketheman/nginx/issues/240
378
+ [#243]: https://github.com/miketheman/nginx/issues/243
379
+ [#249]: https://github.com/miketheman/nginx/issues/249
380
+ [#252]: https://github.com/miketheman/nginx/issues/252
381
+ [#254]: https://github.com/miketheman/nginx/issues/254
382
+ [#259]: https://github.com/miketheman/nginx/issues/259
383
+ [#269]: https://github.com/miketheman/nginx/issues/269
384
+ [#279]: https://github.com/miketheman/nginx/issues/279
385
+ [#294]: https://github.com/miketheman/nginx/issues/294
386
+ [#298]: https://github.com/miketheman/nginx/issues/298
387
+ [#302]: https://github.com/miketheman/nginx/issues/302
388
+ [#305]: https://github.com/miketheman/nginx/issues/305
389
+ [#310]: https://github.com/miketheman/nginx/issues/310
390
+ [#312]: https://github.com/miketheman/nginx/issues/312
391
+ [#314]: https://github.com/miketheman/nginx/issues/314
392
+ [#318]: https://github.com/miketheman/nginx/issues/318
393
+ [#321]: https://github.com/miketheman/nginx/issues/321
394
+ [#325]: https://github.com/miketheman/nginx/issues/325
395
+ [#326]: https://github.com/miketheman/nginx/issues/326
396
+ [#327]: https://github.com/miketheman/nginx/issues/327
397
+ [#331]: https://github.com/miketheman/nginx/issues/331
398
+ [#332]: https://github.com/miketheman/nginx/issues/332
399
+ [#335]: https://github.com/miketheman/nginx/issues/335
400
+ [#338]: https://github.com/miketheman/nginx/issues/338
401
+ [@9minutesnooze]: https://github.com/9minutesnooze
402
+ [@CanOfSpam3bug324]: https://github.com/CanOfSpam3bug324
403
+ [@Mytho]: https://github.com/Mytho
404
+ [@adepue]: https://github.com/adepue
405
+ [@auth0]: https://github.com/auth0
406
+ [@bchrobot]: https://github.com/bchrobot
407
+ [@bkw]: https://github.com/bkw
408
+ [@dwradcliffe]: https://github.com/dwradcliffe
409
+ [@evertrue]: https://github.com/evertrue
410
+ [@ffuenf]: https://github.com/ffuenf
411
+ [@firmhouse]: https://github.com/firmhouse
412
+ [@gkra]: https://github.com/gkra
413
+ [@gregkare]: https://github.com/gregkare
414
+ [@irontoby]: https://github.com/irontoby
415
+ [@jalberto]: https://github.com/jalberto
416
+ [@jcoleman]: https://github.com/jcoleman
417
+ [@jenssegers]: https://github.com/jenssegers
418
+ [@josh-padnick]: https://github.com/josh-padnick
419
+ [@jujugrrr]: https://github.com/jujugrrr
420
+ [@karsten-bruckmann]: https://github.com/karsten-bruckmann
421
+ [@larkin]: https://github.com/larkin
422
+ [@miketheman]: https://github.com/miketheman
423
+ [@monsterstrike]: https://github.com/monsterstrike
424
+ [@morr]: https://github.com/morr
425
+ [@n1koo]: https://github.com/n1koo
426
+ [@nkadel-skyhook]: https://github.com/nkadel-skyhook
427
+ [@runningman84]: https://github.com/runningman84
428
+ [@shtouff]: https://github.com/shtouff
429
+ [@stevenolen]: https://github.com/stevenolen
430
+ [@thomasmeeus]: https://github.com/thomasmeeus
431
+ [@thommay]: https://github.com/thommay
432
+ [@tvdinner]: https://github.com/tvdinner
433
+ [@usertesting]: https://github.com/usertesting
434
+ [@whatcould]: https://github.com/whatcould
435
+ [@yveslaroche]: https://github.com/yveslaroche