infrataster 0.1.0 → 0.1.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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/{example/.rspec → .rspec} +0 -0
  3. data/CHANGELOG.md +10 -0
  4. data/README.md +27 -1
  5. data/Rakefile +52 -0
  6. data/infrataster.gemspec +5 -1
  7. data/lib/infrataster/contexts/base_context.rb +3 -3
  8. data/lib/infrataster/contexts/capybara_context.rb +2 -2
  9. data/lib/infrataster/contexts/http_context.rb +18 -6
  10. data/lib/infrataster/contexts/mysql_query_context.rb +1 -1
  11. data/lib/infrataster/contexts.rb +7 -7
  12. data/lib/infrataster/helpers/resource_helper.rb +24 -0
  13. data/lib/infrataster/helpers.rb +1 -1
  14. data/lib/infrataster/{types/base_type.rb → resources/base_resource.rb} +3 -3
  15. data/lib/infrataster/{types/capybara_type.rb → resources/capybara_resource.rb} +3 -3
  16. data/lib/infrataster/resources/http_resource.rb +42 -0
  17. data/lib/infrataster/{types/mysql_query_type.rb → resources/mysql_query_resource.rb} +3 -3
  18. data/lib/infrataster/{types/server_type.rb → resources/server_resource.rb} +2 -2
  19. data/lib/infrataster/resources.rb +5 -0
  20. data/lib/infrataster/rspec.rb +1 -1
  21. data/lib/infrataster/server.rb +26 -15
  22. data/lib/infrataster/version.rb +1 -1
  23. data/lib/infrataster.rb +6 -2
  24. data/spec/integration/http_spec.rb +44 -0
  25. data/{example/spec → spec/integration}/spec_helper.rb +3 -10
  26. data/spec/integration/vm/.gitignore +3 -0
  27. data/spec/integration/vm/Berksfile +2 -0
  28. data/spec/integration/vm/Vagrantfile +38 -0
  29. data/{example/sinatra_app → spec/integration/vm/app}/Gemfile +0 -1
  30. data/spec/integration/vm/app/app.rb +39 -0
  31. data/{example/sinatra_app → spec/integration/vm/app}/config.ru +0 -0
  32. data/spec/integration/vm/cookbooks/app/files/default/rackup.conf +3 -0
  33. data/spec/integration/vm/cookbooks/app/recipes/default.rb +35 -0
  34. data/spec/integration/vm/cookbooks/apt-mirror/recipes/default.rb +4 -0
  35. data/spec/integration/vm/cookbooks/proxy/files/default/index.html +1 -0
  36. data/spec/integration/vm/cookbooks/proxy/recipes/default.rb +22 -0
  37. data/spec/integration/vm/cookbooks/proxy/templates/default/integration-test.erb +65 -0
  38. data/spec/unit/lib/infrataster/server_spec.rb +49 -0
  39. data/spec/unit/spec_helper.rb +23 -0
  40. metadata +72 -29
  41. data/example/.gitignore +0 -4
  42. data/example/Berksfile +0 -2
  43. data/example/Gemfile +0 -8
  44. data/example/README.md +0 -13
  45. data/example/Vagrantfile +0 -81
  46. data/example/cookbooks/app/recipes/default.rb +0 -36
  47. data/example/cookbooks/db/files/default/my.cnf +0 -127
  48. data/example/cookbooks/db/recipes/default.rb +0 -14
  49. data/example/cookbooks/proxy/metadata.rb +0 -1
  50. data/example/cookbooks/proxy/recipes/default.rb +0 -26
  51. data/example/cookbooks/proxy/templates/default/app.erb +0 -13
  52. data/example/cookbooks/proxy/templates/default/static.erb +0 -14
  53. data/example/sinatra_app/.gitignore +0 -1
  54. data/example/sinatra_app/app.rb +0 -6
  55. data/example/spec/web_spec.rb +0 -64
  56. data/lib/infrataster/helpers/type_helper.rb +0 -24
  57. data/lib/infrataster/types/http_type.rb +0 -24
  58. data/lib/infrataster/types.rb +0 -5
@@ -0,0 +1,39 @@
1
+ require 'sinatra'
2
+ require 'json'
3
+
4
+ get '/' do
5
+ result = {
6
+ 'app' => 'sinatra',
7
+ 'method' => 'GET',
8
+ 'params' => params,
9
+ 'headers' => RequestWrapper.new(request).headers,
10
+ }
11
+
12
+ result.to_json
13
+ end
14
+
15
+ post '/' do
16
+ result = {
17
+ 'app' => 'sinatra',
18
+ 'method' => 'POST',
19
+ 'params' => params,
20
+ 'headers' => RequestWrapper.new(request).headers,
21
+ }
22
+
23
+ result.to_json
24
+ end
25
+
26
+ class RequestWrapper
27
+ def initialize(request)
28
+ @request = request
29
+ end
30
+
31
+ def headers
32
+ headers = @request.env.select do |k, v|
33
+ k.start_with?('HTTP_')
34
+ end.map do |k, v|
35
+ [k[5..-1], v]
36
+ end
37
+ Hash[headers]
38
+ end
39
+ end
@@ -0,0 +1,3 @@
1
+ [program:rackup]
2
+ directory=/vagrant/app
3
+ command=rackup -p 80 config.ru
@@ -0,0 +1,35 @@
1
+ # install ruby and so on
2
+ package 'python-software-properties'
3
+
4
+ execute 'apt-add-repository ppa:brightbox/ruby-ng && apt-get update' do
5
+ not_if 'test -e /etc/apt/sources.list.d/brightbox-ruby-ng-precise.list'
6
+ end
7
+
8
+ package 'build-essential'
9
+
10
+ package 'ruby2.1'
11
+
12
+ package 'ruby2.1-dev'
13
+
14
+ execute 'gem install bundler' do
15
+ not_if "gem list | grep -q 'bundler '"
16
+ end
17
+
18
+ execute 'bundle install' do
19
+ cwd '/vagrant/app'
20
+ end
21
+
22
+ # supervisor
23
+ package 'supervisor'
24
+
25
+ execute 'reload supervisor' do
26
+ command 'supervisorctl reload'
27
+ action :nothing
28
+ end
29
+
30
+ cookbook_file '/etc/supervisor/conf.d/rackup.conf' do
31
+ notifies :run, 'execute[reload supervisor]'
32
+ end
33
+
34
+ execute 'supervisorctl restart rackup'
35
+
@@ -0,0 +1,4 @@
1
+ execute "sed -i -e 's| \\(http[^ ]\\+\\)| mirror://mirrors.ubuntu.com/mirrors.txt|g' /etc/apt/sources.list"
2
+
3
+ include_recipe 'apt'
4
+
@@ -0,0 +1 @@
1
+ This is static site.
@@ -0,0 +1,22 @@
1
+ package 'nginx'
2
+
3
+ service 'nginx' do
4
+ action :start
5
+ supports :restart => true
6
+ end
7
+
8
+ file '/etc/nginx/sites-enabled/default' do
9
+ action :delete
10
+ end
11
+
12
+ template '/etc/nginx/sites-available/integration-test'
13
+
14
+ link '/etc/nginx/sites-enabled/integration-test' do
15
+ to '/etc/nginx/sites-available/integration-test'
16
+ notifies :restart, 'service[nginx]'
17
+ end
18
+
19
+ cookbook_file '/usr/share/nginx/www/index.html' do
20
+ mode '0644'
21
+ end
22
+
@@ -0,0 +1,65 @@
1
+ server {
2
+ listen 80;
3
+
4
+ root /usr/share/nginx/www;
5
+ index index.html index.htm;
6
+
7
+ server_name static.example.com;
8
+
9
+ location / {
10
+ try_files $uri $uri/ /index.html;
11
+ }
12
+ }
13
+
14
+ server {
15
+ listen 80;
16
+
17
+ root /usr/share/nginx/www;
18
+ index index.html index.htm;
19
+
20
+ server_name app.example.com;
21
+
22
+ location / {
23
+ proxy_pass http://<%= node['addresses']['app'] %>;
24
+ }
25
+ }
26
+
27
+
28
+ # another virtual host using mix of IP-, name-, and port-based configuration
29
+ #
30
+ #server {
31
+ # listen 8000;
32
+ # listen somename:8080;
33
+ # server_name somename alias another.alias;
34
+ # root html;
35
+ # index index.html index.htm;
36
+ #
37
+ # location / {
38
+ # try_files $uri $uri/ /index.html;
39
+ # }
40
+ #}
41
+
42
+
43
+ # HTTPS server
44
+ #
45
+ #server {
46
+ # listen 443;
47
+ # server_name localhost;
48
+ #
49
+ # root html;
50
+ # index index.html index.htm;
51
+ #
52
+ # ssl on;
53
+ # ssl_certificate cert.pem;
54
+ # ssl_certificate_key cert.key;
55
+ #
56
+ # ssl_session_timeout 5m;
57
+ #
58
+ # ssl_protocols SSLv3 TLSv1;
59
+ # ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
60
+ # ssl_prefer_server_ciphers on;
61
+ #
62
+ # location / {
63
+ # try_files $uri $uri/ /index.html;
64
+ # }
65
+ #}
@@ -0,0 +1,49 @@
1
+ require 'unit/spec_helper'
2
+
3
+ module Infrataster
4
+ describe Server do
5
+ describe "self.define" do
6
+ it "adds a Server instance to defined_servers" do
7
+ described_class.define('name', 'address', {})
8
+ servers = described_class.defined_servers
9
+ expect(servers.size).to eq(1)
10
+ expect(servers[0].name).to eq('name')
11
+ expect(servers[0].address).to eq('address')
12
+ expect(servers[0].options).to eq({})
13
+ end
14
+ end
15
+
16
+ describe "self.find_by_name" do
17
+ it "finds a server by name" do
18
+ described_class.define('name', 'address', {})
19
+ server = described_class.find_by_name('name')
20
+ expect(server.name).to eq('name')
21
+ expect(server.address).to eq('address')
22
+ expect(server.options).to eq({})
23
+ end
24
+ end
25
+
26
+ describe "#from" do
27
+ it "returns 'from' server instance" do
28
+ described_class.define('proxy', 'address', {})
29
+ described_class.define('app', 'address', from: 'proxy')
30
+ app_server = described_class.find_by_name('app')
31
+ expect(app_server.from.name).to eq('proxy')
32
+ end
33
+ end
34
+
35
+ describe "#ssh_gateway" do
36
+ it "returns gateway instance and proc for finalizing" do
37
+ server = Server.new('name', 'address', ssh: {host: 'host', user: 'user'})
38
+
39
+ gateway_mock = double
40
+ expect(gateway_mock).to receive(:shutdown!)
41
+ expect(Net::SSH::Gateway).to receive(:new).and_return(gateway_mock)
42
+ gateway, finalize_proc = server.ssh_gateway
43
+ finalize_proc.call
44
+ expect(gateway).to eq(gateway_mock)
45
+ end
46
+ end
47
+ end
48
+ end
49
+
@@ -0,0 +1,23 @@
1
+ require 'infrataster'
2
+
3
+ # This file was generated by the `rspec --init` command. Conventionally, all
4
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
5
+ # Require this file using `require "spec_helper"` to ensure that it is only
6
+ # loaded once.
7
+ #
8
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
9
+ RSpec.configure do |config|
10
+ config.treat_symbols_as_metadata_keys_with_true_values = true
11
+ config.run_all_when_everything_filtered = true
12
+ config.filter_run :focus
13
+
14
+ # Run specs in random order to surface order dependencies. If you find an
15
+ # order dependency and want to debug it, you can fix the order by providing
16
+ # the seed, which is printed after each run.
17
+ # --seed 1234
18
+ config.order = 'random'
19
+
20
+ config.before(:each) do
21
+ Infrataster::Server.clear_defined_servers
22
+ end
23
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: infrataster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryota Arai
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-19 00:00:00.000000000 Z
11
+ date: 2014-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
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'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: bundler
113
127
  requirement: !ruby/object:Gem::Requirement
@@ -136,6 +150,20 @@ dependencies:
136
150
  - - ">="
137
151
  - !ruby/object:Gem::Version
138
152
  version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: berkshelf
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 3.1.1
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 3.1.1
139
167
  description:
140
168
  email:
141
169
  - ryota.arai@gmail.com
@@ -144,29 +172,12 @@ extensions: []
144
172
  extra_rdoc_files: []
145
173
  files:
146
174
  - ".gitignore"
175
+ - ".rspec"
176
+ - CHANGELOG.md
147
177
  - Gemfile
148
178
  - LICENSE.txt
149
179
  - README.md
150
180
  - Rakefile
151
- - example/.gitignore
152
- - example/.rspec
153
- - example/Berksfile
154
- - example/Gemfile
155
- - example/README.md
156
- - example/Vagrantfile
157
- - example/cookbooks/app/recipes/default.rb
158
- - example/cookbooks/db/files/default/my.cnf
159
- - example/cookbooks/db/recipes/default.rb
160
- - example/cookbooks/proxy/metadata.rb
161
- - example/cookbooks/proxy/recipes/default.rb
162
- - example/cookbooks/proxy/templates/default/app.erb
163
- - example/cookbooks/proxy/templates/default/static.erb
164
- - example/sinatra_app/.gitignore
165
- - example/sinatra_app/Gemfile
166
- - example/sinatra_app/app.rb
167
- - example/sinatra_app/config.ru
168
- - example/spec/spec_helper.rb
169
- - example/spec/web_spec.rb
170
181
  - infrataster.gemspec
171
182
  - lib/infrataster.rb
172
183
  - lib/infrataster/browsermob_proxy.rb
@@ -176,17 +187,33 @@ files:
176
187
  - lib/infrataster/contexts/http_context.rb
177
188
  - lib/infrataster/contexts/mysql_query_context.rb
178
189
  - lib/infrataster/helpers.rb
190
+ - lib/infrataster/helpers/resource_helper.rb
179
191
  - lib/infrataster/helpers/rspec_helper.rb
180
- - lib/infrataster/helpers/type_helper.rb
192
+ - lib/infrataster/resources.rb
193
+ - lib/infrataster/resources/base_resource.rb
194
+ - lib/infrataster/resources/capybara_resource.rb
195
+ - lib/infrataster/resources/http_resource.rb
196
+ - lib/infrataster/resources/mysql_query_resource.rb
197
+ - lib/infrataster/resources/server_resource.rb
181
198
  - lib/infrataster/rspec.rb
182
199
  - lib/infrataster/server.rb
183
- - lib/infrataster/types.rb
184
- - lib/infrataster/types/base_type.rb
185
- - lib/infrataster/types/capybara_type.rb
186
- - lib/infrataster/types/http_type.rb
187
- - lib/infrataster/types/mysql_query_type.rb
188
- - lib/infrataster/types/server_type.rb
189
200
  - lib/infrataster/version.rb
201
+ - spec/integration/http_spec.rb
202
+ - spec/integration/spec_helper.rb
203
+ - spec/integration/vm/.gitignore
204
+ - spec/integration/vm/Berksfile
205
+ - spec/integration/vm/Vagrantfile
206
+ - spec/integration/vm/app/Gemfile
207
+ - spec/integration/vm/app/app.rb
208
+ - spec/integration/vm/app/config.ru
209
+ - spec/integration/vm/cookbooks/app/files/default/rackup.conf
210
+ - spec/integration/vm/cookbooks/app/recipes/default.rb
211
+ - spec/integration/vm/cookbooks/apt-mirror/recipes/default.rb
212
+ - spec/integration/vm/cookbooks/proxy/files/default/index.html
213
+ - spec/integration/vm/cookbooks/proxy/recipes/default.rb
214
+ - spec/integration/vm/cookbooks/proxy/templates/default/integration-test.erb
215
+ - spec/unit/lib/infrataster/server_spec.rb
216
+ - spec/unit/spec_helper.rb
190
217
  homepage: https://github.com/ryotarai/infrataster
191
218
  licenses:
192
219
  - MIT
@@ -211,4 +238,20 @@ rubygems_version: 2.2.2
211
238
  signing_key:
212
239
  specification_version: 4
213
240
  summary: Infrastructure Behavior Testing Framework
214
- test_files: []
241
+ test_files:
242
+ - spec/integration/http_spec.rb
243
+ - spec/integration/spec_helper.rb
244
+ - spec/integration/vm/.gitignore
245
+ - spec/integration/vm/Berksfile
246
+ - spec/integration/vm/Vagrantfile
247
+ - spec/integration/vm/app/Gemfile
248
+ - spec/integration/vm/app/app.rb
249
+ - spec/integration/vm/app/config.ru
250
+ - spec/integration/vm/cookbooks/app/files/default/rackup.conf
251
+ - spec/integration/vm/cookbooks/app/recipes/default.rb
252
+ - spec/integration/vm/cookbooks/apt-mirror/recipes/default.rb
253
+ - spec/integration/vm/cookbooks/proxy/files/default/index.html
254
+ - spec/integration/vm/cookbooks/proxy/recipes/default.rb
255
+ - spec/integration/vm/cookbooks/proxy/templates/default/integration-test.erb
256
+ - spec/unit/lib/infrataster/server_spec.rb
257
+ - spec/unit/spec_helper.rb
data/example/.gitignore DELETED
@@ -1,4 +0,0 @@
1
- /Gemfile.lock
2
- /Berksfile.lock
3
- /.vagrant
4
- /vendor
data/example/Berksfile DELETED
@@ -1,2 +0,0 @@
1
- site :opscode
2
- cookbook 'apt'
data/example/Gemfile DELETED
@@ -1,8 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'infrataster', path: '..'
4
- gem 'berkshelf', github: 'berkshelf/berkshelf'
5
-
6
- gem 'pry'
7
- gem 'pry-byebug'
8
- gem 'pry-rescue'
data/example/README.md DELETED
@@ -1,13 +0,0 @@
1
- # Infrataster Example
2
-
3
- ```
4
- $ cd example
5
- $ wget https://s3-us-west-1.amazonaws.com/lightbody-bmp/browsermob-proxy-2.0-beta-9-bin.zip
6
- $ unzip browsermob-proxy-2.0-beta-9-bin.zip
7
- $ mv browsermob-proxy-2.0-beta-9 vendor/browsermob
8
- $ bundle install
9
- $ bundle exec berks vendor vendor/cookbooks
10
- $ vagrant up
11
- $ bundle exec rspec
12
- ```
13
-
data/example/Vagrantfile DELETED
@@ -1,81 +0,0 @@
1
- # -*- mode: ruby -*-
2
- # vi: set ft=ruby :
3
-
4
- # Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
5
- VAGRANTFILE_API_VERSION = "2"
6
-
7
- COOKBOOK_PATH = ['./cookbooks', './vendor/cookbooks']
8
- APP_IP = "172.16.33.11"
9
-
10
- Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
11
- config.vm.box = "hashicorp/precise64"
12
-
13
- config.vm.define :proxy do |c|
14
- c.vm.network "private_network", ip: "192.168.33.10"
15
- c.vm.network "private_network", ip: "172.16.33.10", virtualbox__intnet: "infrataster-example"
16
-
17
- c.vm.provision "chef_solo" do |chef|
18
- chef.cookbooks_path = COOKBOOK_PATH
19
- chef.add_recipe "proxy"
20
- chef.json = {'app_ip' => APP_IP}
21
- end
22
- end
23
-
24
- config.vm.define :app do |c|
25
- c.vm.network "private_network", ip: APP_IP, virtualbox__intnet: "infrataster-example"
26
-
27
- c.vm.provision "chef_solo" do |chef|
28
- chef.cookbooks_path = COOKBOOK_PATH
29
- chef.add_recipe "app"
30
- chef.json = {}
31
- end
32
- end
33
-
34
- config.vm.define :db do |c|
35
- c.vm.network "private_network", ip: '172.16.33.12', virtualbox__intnet: "infrataster-example"
36
-
37
- c.vm.provision "chef_solo" do |chef|
38
- chef.cookbooks_path = COOKBOOK_PATH
39
- chef.add_recipe "db"
40
- chef.json = {'app_ip' => APP_IP}
41
- end
42
- end
43
-
44
- # Enable provisioning with chef solo, specifying a cookbooks path, roles
45
- # path, and data_bags path (all relative to this Vagrantfile), and adding
46
- # some recipes and/or roles.
47
- #
48
- # config.vm.provision "chef_solo" do |chef|
49
- # chef.cookbooks_path = "../my-recipes/cookbooks"
50
- # chef.roles_path = "../my-recipes/roles"
51
- # chef.data_bags_path = "../my-recipes/data_bags"
52
- # chef.add_recipe "mysql"
53
- # chef.add_role "web"
54
- #
55
- # # You may also specify custom JSON attributes:
56
- # chef.json = { :mysql_password => "foo" }
57
- # end
58
-
59
- # Enable provisioning with chef server, specifying the chef server URL,
60
- # and the path to the validation key (relative to this Vagrantfile).
61
- #
62
- # The Opscode Platform uses HTTPS. Substitute your organization for
63
- # ORGNAME in the URL and validation key.
64
- #
65
- # If you have your own Chef Server, use the appropriate URL, which may be
66
- # HTTP instead of HTTPS depending on your configuration. Also change the
67
- # validation key to validation.pem.
68
- #
69
- # config.vm.provision "chef_client" do |chef|
70
- # chef.chef_server_url = "https://api.opscode.com/organizations/ORGNAME"
71
- # chef.validation_key_path = "ORGNAME-validator.pem"
72
- # end
73
- #
74
- # If you're using the Opscode platform, your validator client is
75
- # ORGNAME-validator, replacing ORGNAME with your organization name.
76
- #
77
- # If you have your own Chef Server, the default validation client name is
78
- # chef-validator, unless you changed the configuration.
79
- #
80
- # chef.validation_client_name = "ORGNAME-validator"
81
- end
@@ -1,36 +0,0 @@
1
- include_recipe 'apt'
2
-
3
- package 'python-software-properties' do
4
- action :install
5
- end
6
-
7
- execute 'apt-add-repository ppa:brightbox/ruby-ng && apt-get update'
8
-
9
- package 'build-essential' do
10
- action :install
11
- end
12
-
13
- package 'ruby2.1' do
14
- action :install
15
- end
16
-
17
- package 'ruby2.1-dev' do
18
- action :install
19
- end
20
-
21
- execute 'gem install bundler' do
22
- not_if "gem list | grep -q 'bundler '"
23
- end
24
-
25
- execute 'bundle install' do
26
- cwd '/vagrant/sinatra_app'
27
- end
28
-
29
- execute "kill $(cat /tmp/thin.pid) && sleep 2" do
30
- only_if "test -e /tmp/thin.pid"
31
- end
32
-
33
- execute "bundle exec thin start --pid /tmp/thin.pid --daemonize --port 80" do
34
- cwd '/vagrant/sinatra_app'
35
- end
36
-
@@ -1,127 +0,0 @@
1
- #
2
- # The MySQL database server configuration file.
3
- #
4
- # You can copy this to one of:
5
- # - "/etc/mysql/my.cnf" to set global options,
6
- # - "~/.my.cnf" to set user-specific options.
7
- #
8
- # One can use all long options that the program supports.
9
- # Run program with --help to get a list of available options and with
10
- # --print-defaults to see which it would actually understand and use.
11
- #
12
- # For explanations see
13
- # http://dev.mysql.com/doc/mysql/en/server-system-variables.html
14
-
15
- # This will be passed to all mysql clients
16
- # It has been reported that passwords should be enclosed with ticks/quotes
17
- # escpecially if they contain "#" chars...
18
- # Remember to edit /etc/mysql/debian.cnf when changing the socket location.
19
- [client]
20
- port = 3306
21
- socket = /var/run/mysqld/mysqld.sock
22
-
23
- # Here is entries for some specific programs
24
- # The following values assume you have at least 32M ram
25
-
26
- # This was formally known as [safe_mysqld]. Both versions are currently parsed.
27
- [mysqld_safe]
28
- socket = /var/run/mysqld/mysqld.sock
29
- nice = 0
30
-
31
- [mysqld]
32
- #
33
- # * Basic Settings
34
- #
35
- user = mysql
36
- pid-file = /var/run/mysqld/mysqld.pid
37
- socket = /var/run/mysqld/mysqld.sock
38
- port = 3306
39
- basedir = /usr
40
- datadir = /var/lib/mysql
41
- tmpdir = /tmp
42
- lc-messages-dir = /usr/share/mysql
43
- skip-external-locking
44
- #
45
- # Instead of skip-networking the default is now to listen only on
46
- # localhost which is more compatible and is not less secure.
47
- bind-address = 0.0.0.0
48
- #
49
- # * Fine Tuning
50
- #
51
- key_buffer = 16M
52
- max_allowed_packet = 16M
53
- thread_stack = 192K
54
- thread_cache_size = 8
55
- # This replaces the startup script and checks MyISAM tables if needed
56
- # the first time they are touched
57
- myisam-recover = BACKUP
58
- #max_connections = 100
59
- #table_cache = 64
60
- #thread_concurrency = 10
61
- #
62
- # * Query Cache Configuration
63
- #
64
- query_cache_limit = 1M
65
- query_cache_size = 16M
66
- #
67
- # * Logging and Replication
68
- #
69
- # Both location gets rotated by the cronjob.
70
- # Be aware that this log type is a performance killer.
71
- # As of 5.1 you can enable the log at runtime!
72
- #general_log_file = /var/log/mysql/mysql.log
73
- #general_log = 1
74
- #
75
- # Error log - should be very few entries.
76
- #
77
- log_error = /var/log/mysql/error.log
78
- #
79
- # Here you can see queries with especially long duration
80
- #log_slow_queries = /var/log/mysql/mysql-slow.log
81
- #long_query_time = 2
82
- #log-queries-not-using-indexes
83
- #
84
- # The following can be used as easy to replay backup logs or for replication.
85
- # note: if you are setting up a replication slave, see README.Debian about
86
- # other settings you may need to change.
87
- #server-id = 1
88
- #log_bin = /var/log/mysql/mysql-bin.log
89
- expire_logs_days = 10
90
- max_binlog_size = 100M
91
- #binlog_do_db = include_database_name
92
- #binlog_ignore_db = include_database_name
93
- #
94
- # * InnoDB
95
- #
96
- # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
97
- # Read the manual for more InnoDB related options. There are many!
98
- #
99
- # * Security Features
100
- #
101
- # Read the manual, too, if you want chroot!
102
- # chroot = /var/lib/mysql/
103
- #
104
- # For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
105
- #
106
- # ssl-ca=/etc/mysql/cacert.pem
107
- # ssl-cert=/etc/mysql/server-cert.pem
108
- # ssl-key=/etc/mysql/server-key.pem
109
-
110
-
111
-
112
- [mysqldump]
113
- quick
114
- quote-names
115
- max_allowed_packet = 16M
116
-
117
- [mysql]
118
- #no-auto-rehash # faster start of mysql but no tab completition
119
-
120
- [isamchk]
121
- key_buffer = 16M
122
-
123
- #
124
- # * IMPORTANT: Additional settings that can override those from this file!
125
- # The files must end with '.cnf', otherwise they'll be ignored.
126
- #
127
- !includedir /etc/mysql/conf.d/