mina-stack 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 (53) 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 +62 -0
  6. data/Rakefile +1 -0
  7. data/lib/generators/mina/stack/install_generator.rb +43 -0
  8. data/lib/generators/mina/templates/deploy.rb +74 -0
  9. data/lib/generators/mina/templates/production.rb +13 -0
  10. data/lib/mina-stack/base.rb +30 -0
  11. data/lib/mina-stack/defaults.rb +108 -0
  12. data/lib/mina-stack/setup.rb +50 -0
  13. data/lib/mina-stack/version.rb +5 -0
  14. data/lib/mina-stack.rb +9 -0
  15. data/lib/recipes/bower.rb +43 -0
  16. data/lib/recipes/elastic_search.rb +31 -0
  17. data/lib/recipes/imagemagick.rb +11 -0
  18. data/lib/recipes/libs.rb +14 -0
  19. data/lib/recipes/memcached.rb +21 -0
  20. data/lib/recipes/monit.rb +54 -0
  21. data/lib/recipes/nginx.rb +49 -0
  22. data/lib/recipes/node.rb +12 -0
  23. data/lib/recipes/postgresql.rb +58 -0
  24. data/lib/recipes/private_pub.rb +35 -0
  25. data/lib/recipes/puma.rb +31 -0
  26. data/lib/recipes/rails.rb +22 -0
  27. data/lib/recipes/rbenv.rb +28 -0
  28. data/lib/recipes/redis.rb +23 -0
  29. data/lib/recipes/sidekiq.rb +42 -0
  30. data/lib/recipes/unicorn.rb +21 -0
  31. data/lib/templates/application.yml.erb +4 -0
  32. data/lib/templates/database.yml.erb +8 -0
  33. data/lib/templates/memcached.conf.erb +16 -0
  34. data/lib/templates/monit/memcached.erb +8 -0
  35. data/lib/templates/monit/monitrc.erb +21 -0
  36. data/lib/templates/monit/nginx.erb +5 -0
  37. data/lib/templates/monit/postgresql.erb +5 -0
  38. data/lib/templates/monit/private_pub.erb +6 -0
  39. data/lib/templates/monit/puma.erb +7 -0
  40. data/lib/templates/monit/redis.erb +4 -0
  41. data/lib/templates/monit/sidekiq.erb +6 -0
  42. data/lib/templates/monit/unicorn.erb +14 -0
  43. data/lib/templates/nginx.conf.erb +43 -0
  44. data/lib/templates/private_pub.yml.erb +4 -0
  45. data/lib/templates/puma.rb.erb +17 -0
  46. data/lib/templates/sidekiq.yml.erb +9 -0
  47. data/lib/templates/unicorn.rb.erb +41 -0
  48. data/lib/templates/unicorn_init.erb +86 -0
  49. data/lib/templates/upstart/puma.conf.erb +46 -0
  50. data/lib/templates/upstart/sidekiq.conf.erb +44 -0
  51. data/mina-stack.gemspec +25 -0
  52. data/mina-stack.rb +7 -0
  53. metadata +151 -0
@@ -0,0 +1,46 @@
1
+ # /etc/init/puma.conf - Puma config
2
+
3
+ # This example config should work with Ubuntu 12.04+. It
4
+ # allows you to manage multiple Puma instances with
5
+ # Upstart, Ubuntu's native service management tool.
6
+
7
+ description "Puma Background Worker"
8
+
9
+ # no "start on", we don't want to automatically start
10
+
11
+
12
+ setuid <%= user %>
13
+ setgid <%= user %>
14
+
15
+ respawn
16
+ respawn limit 3 30
17
+
18
+ script
19
+ # this script runs in /bin/sh by default
20
+ # respawn as bash so we can source in rbenv/rvm
21
+ exec /bin/bash <<'EOT'
22
+ # set HOME to the setuid user's home, there doesn't seem to be a better, portable way
23
+ export HOME="$(eval echo ~$(id -un))"
24
+
25
+ cd <%= "#{deploy_to!}/#{current_path!}" %>
26
+
27
+ if [ -d "$HOME/.rbenv/bin" ]; then
28
+ export PATH="$HOME/.rbenv/bin:$HOME/.rbenv/shims:$PATH"
29
+ elif [ -f /etc/profile.d/rvm.sh ]; then
30
+ source /etc/profile.d/rvm.sh
31
+ elif [ -f /usr/local/rvm/scripts/rvm ]; then
32
+ source /etc/profile.d/rvm.sh
33
+ elif [ -f "$HOME/.rvm/scripts/rvm" ]; then
34
+ source "$HOME/.rvm/scripts/rvm"
35
+ elif [ -f /usr/local/share/chruby/chruby.sh ]; then
36
+ source /usr/local/share/chruby/chruby.sh
37
+ if [ -f /usr/local/share/chruby/auto.sh ]; then
38
+ source /usr/local/share/chruby/auto.sh
39
+ fi
40
+ # if you aren't using auto, set your version here
41
+ # chruby 2.0.0
42
+ fi
43
+
44
+ <%= puma_cmd %> -C <%= puma_config %>
45
+ EOT
46
+ end script
@@ -0,0 +1,44 @@
1
+ # /etc/init/sidekiq.conf - Sidekiq config
2
+
3
+ # This example config should work with Ubuntu 12.04+. It
4
+ # allows you to manage multiple Sidekiq instances with
5
+ # Upstart, Ubuntu's native service management tool.
6
+
7
+ description "Sidekiq Background Worker"
8
+
9
+ # no "start on", we don't want to automatically start
10
+ #stop on (stopping workers or runlevel [06])
11
+
12
+ setuid <%= user %>
13
+ setgid <%= user %>
14
+
15
+ respawn
16
+ respawn limit 3 30
17
+
18
+ script
19
+ # this script runs in /bin/sh by default
20
+ # respawn as bash so we can source in rbenv
21
+ exec /bin/bash <<'EOT'
22
+ # set HOME to the setuid user's home, there doesn't seem to be a better, portable way
23
+ export HOME="$(eval echo ~$(id -un))"
24
+
25
+ if [ -d "$HOME/.rbenv/bin" ]; then
26
+ export PATH="$HOME/.rbenv/bin:$HOME/.rbenv/shims:$PATH"
27
+ elif [ -f /etc/profile.d/rvm.sh ]; then
28
+ source /etc/profile.d/rvm.sh
29
+ elif [ -f /usr/local/rvm/scripts/rvm ]; then
30
+ source /etc/profile.d/rvm.sh
31
+ elif [ -f "$HOME/.rvm/scripts/rvm" ]; then
32
+ source "$HOME/.rvm/scripts/rvm"
33
+ elif [ -f /usr/local/share/chruby/chruby.sh ]; then
34
+ source /usr/local/share/chruby/chruby.sh
35
+ if [ -f /usr/local/share/chruby/auto.sh ]; then
36
+ source /usr/local/share/chruby/auto.sh
37
+ fi
38
+ # if you aren't using auto, set your version here
39
+ # chruby 2.0.0
40
+ fi
41
+ cd <%= "#{deploy_to!}/#{current_path!}" %>
42
+ <%= sidekiq_start %>
43
+ EOT
44
+ end script
@@ -0,0 +1,25 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'mina-stack/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "mina-stack"
8
+ spec.version = Mina::Stack::VERSION
9
+ spec.authors = ["Igor Davydov"]
10
+ spec.email = ["iskiche@gmail.com"]
11
+ spec.description = %q{Easy deploy of rails app stack with mina on ubuntu servers}
12
+ spec.summary = %q{Mina + stack}
13
+ spec.homepage = ""
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_dependency "rake"
22
+ spec.add_dependency "mina", '<= 0.3.0'
23
+ spec.add_dependency "highline"
24
+ spec.add_development_dependency "bundler", "~> 1.3"
25
+ end
data/mina-stack.rb ADDED
@@ -0,0 +1,7 @@
1
+ require "mina-stack/version"
2
+ require 'mina-stack/defaults'
3
+ require 'mina-stack/base'
4
+ require 'mina-stack/setup'
5
+
6
+ Dir['config/servers/*.rb'].each { |f| load f }
7
+ Dir[File.dirname(__FILE__) + '/recipes/*.rb'].each {|file| require file }
metadata ADDED
@@ -0,0 +1,151 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mina-stack
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Igor Davydov
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-11-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
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: mina
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "<="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.3.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.3.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: highline
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: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.3'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.3'
69
+ description: Easy deploy of rails app stack with mina on ubuntu servers
70
+ email:
71
+ - iskiche@gmail.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - ".gitignore"
77
+ - Gemfile
78
+ - LICENSE.txt
79
+ - README.md
80
+ - Rakefile
81
+ - lib/generators/mina/stack/install_generator.rb
82
+ - lib/generators/mina/templates/deploy.rb
83
+ - lib/generators/mina/templates/production.rb
84
+ - lib/mina-stack.rb
85
+ - lib/mina-stack/base.rb
86
+ - lib/mina-stack/defaults.rb
87
+ - lib/mina-stack/setup.rb
88
+ - lib/mina-stack/version.rb
89
+ - lib/recipes/bower.rb
90
+ - lib/recipes/elastic_search.rb
91
+ - lib/recipes/imagemagick.rb
92
+ - lib/recipes/libs.rb
93
+ - lib/recipes/memcached.rb
94
+ - lib/recipes/monit.rb
95
+ - lib/recipes/nginx.rb
96
+ - lib/recipes/node.rb
97
+ - lib/recipes/postgresql.rb
98
+ - lib/recipes/private_pub.rb
99
+ - lib/recipes/puma.rb
100
+ - lib/recipes/rails.rb
101
+ - lib/recipes/rbenv.rb
102
+ - lib/recipes/redis.rb
103
+ - lib/recipes/sidekiq.rb
104
+ - lib/recipes/unicorn.rb
105
+ - lib/templates/application.yml.erb
106
+ - lib/templates/database.yml.erb
107
+ - lib/templates/memcached.conf.erb
108
+ - lib/templates/monit/memcached.erb
109
+ - lib/templates/monit/monitrc.erb
110
+ - lib/templates/monit/nginx.erb
111
+ - lib/templates/monit/postgresql.erb
112
+ - lib/templates/monit/private_pub.erb
113
+ - lib/templates/monit/puma.erb
114
+ - lib/templates/monit/redis.erb
115
+ - lib/templates/monit/sidekiq.erb
116
+ - lib/templates/monit/unicorn.erb
117
+ - lib/templates/nginx.conf.erb
118
+ - lib/templates/private_pub.yml.erb
119
+ - lib/templates/puma.rb.erb
120
+ - lib/templates/sidekiq.yml.erb
121
+ - lib/templates/unicorn.rb.erb
122
+ - lib/templates/unicorn_init.erb
123
+ - lib/templates/upstart/puma.conf.erb
124
+ - lib/templates/upstart/sidekiq.conf.erb
125
+ - mina-stack.gemspec
126
+ - mina-stack.rb
127
+ homepage: ''
128
+ licenses:
129
+ - MIT
130
+ metadata: {}
131
+ post_install_message:
132
+ rdoc_options: []
133
+ require_paths:
134
+ - lib
135
+ required_ruby_version: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ required_rubygems_version: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ requirements: []
146
+ rubyforge_project:
147
+ rubygems_version: 2.2.2
148
+ signing_key:
149
+ specification_version: 4
150
+ summary: Mina + stack
151
+ test_files: []