rails_pwnerer 0.6.24 → 0.6.25
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +2 -0
- data/Manifest +1 -0
- data/lib/pwnage/app/cluster_config.rb +6 -18
- data/lib/pwnage/app/git.rb +1 -0
- data/lib/pwnage/app/nginx_config.rb +4 -3
- data/lib/pwnage/app/svn.rb +1 -0
- data/lib/pwnage/config/frontends.rb +15 -0
- data/lib/pwnage/scaffolds/packages.rb +3 -0
- data/lib/rails_pwnerer.rb +1 -0
- data/rails_pwnerer.gemspec +4 -4
- metadata +4 -2
data/CHANGELOG
CHANGED
data/Manifest
CHANGED
@@ -23,22 +23,10 @@ class RailsPwnage::App::ClusterConfig
|
|
23
23
|
end
|
24
24
|
end
|
25
25
|
end
|
26
|
-
|
27
|
-
# computes the number of frontends to bring up / down
|
28
|
-
def num_frontends(app_name, instance_name)
|
29
|
-
app_config = RailsPwnage::Config[app_name, instance_name]
|
30
|
-
return nil unless app_config and fixed_frontends = app_config[:frontends]
|
31
|
-
|
32
|
-
if app_config[:frontends_per_core]
|
33
|
-
cores_frontends = app_config[:frontends_per_core] * app_config[:detected_cores]
|
34
|
-
return cores_frontends unless cores_frontends == 0
|
35
|
-
end
|
36
|
-
return fixed_frontends
|
37
|
-
end
|
38
|
-
|
26
|
+
|
39
27
|
def manage_ports(app_name, instance_name, action)
|
40
28
|
app_config = RailsPwnage::Config[app_name, instance_name]
|
41
|
-
return unless frontends =
|
29
|
+
return unless frontends = RailsPwnage::Config.app_frontends(app_name, instance_name)
|
42
30
|
|
43
31
|
case action
|
44
32
|
when :alloc
|
@@ -56,8 +44,8 @@ class RailsPwnage::App::ClusterConfig
|
|
56
44
|
# silently die if the app was completely busted
|
57
45
|
return unless app_config and File.exists? app_config[:app_path]
|
58
46
|
|
59
|
-
app_path = app_config[:app_path]
|
60
|
-
frontends
|
47
|
+
app_path, first_port = app_config[:app_path], app_config[:port0]
|
48
|
+
frontends = RailsPwnage::Config.app_frontends(app_name, instance_name)
|
61
49
|
|
62
50
|
cmdline_patterns = ['thin', nil]
|
63
51
|
|
@@ -81,8 +69,8 @@ class RailsPwnage::App::ClusterConfig
|
|
81
69
|
|
82
70
|
app_path, pwnerer_user = app_config[:app_path], app_config[:pwnerer_user]
|
83
71
|
pwnerer_group = group_for_username(pwnerer_user)
|
84
|
-
frontends
|
85
|
-
environment = app_config[:environment]
|
72
|
+
frontends = RailsPwnage::Config.app_frontends(app_name, instance_name)
|
73
|
+
first_port, environment = app_config[:port0], app_config[:environment]
|
86
74
|
|
87
75
|
stop app_name, instance_name
|
88
76
|
|
data/lib/pwnage/app/git.rb
CHANGED
@@ -13,6 +13,7 @@ class RailsPwnage::App::Git
|
|
13
13
|
|
14
14
|
# clean up the application directory by removing caches
|
15
15
|
def cleanup_app_caches(app_name, instance_name, app_name_is_dir = false)
|
16
|
+
# TODO: this is almost-duplicated in git.rb -- pull up somewhere
|
16
17
|
app_path = app_name_is_dir ? app_name : RailsPwnage::Config[app_name, instance_name][:app_path]
|
17
18
|
return unless File.exists?(File.join(app_path, '.git'))
|
18
19
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
class RailsPwnage::App::NginxConfig
|
4
4
|
include RailsPwnage::Base
|
5
|
-
|
5
|
+
|
6
6
|
# writes the nginx configuration for this server
|
7
7
|
def config_nginx(app_name, instance_name)
|
8
8
|
app_config = RailsPwnage::Config[app_name, instance_name]
|
@@ -10,11 +10,12 @@ class RailsPwnage::App::NginxConfig
|
|
10
10
|
dns_name = app_config[:dns_name]
|
11
11
|
app_port = app_config[:port] || 80
|
12
12
|
|
13
|
-
nginx_config = File.join(RailsPwnage::Config.path_to(:nginx_configs),
|
13
|
+
nginx_config = File.join(RailsPwnage::Config.path_to(:nginx_configs),
|
14
|
+
app_name + '.' + instance_name)
|
14
15
|
File.open(nginx_config, 'w') do |f|
|
15
16
|
# link to the frontends
|
16
17
|
f << " upstream #{app_name}_#{instance_name} {\n"
|
17
|
-
|
18
|
+
RailsPwnage::Config.app_frontends(app_name, instance_name).times do |instance|
|
18
19
|
f << " server 127.0.0.1:#{first_port + instance};\n"
|
19
20
|
end
|
20
21
|
f << " }\n\n"
|
data/lib/pwnage/app/svn.rb
CHANGED
@@ -26,6 +26,7 @@ class RailsPwnage::App::Svn
|
|
26
26
|
|
27
27
|
# clean up the application directory by removing caches
|
28
28
|
def cleanup_app_caches(app_name, instance_name, app_name_is_dir = false)
|
29
|
+
# TODO: this is almost-duplicated in git.rb -- pull up somewhere
|
29
30
|
app_path = app_name_is_dir ? app_name : RailsPwnage::Config[app_name, instance_name][:app_path]
|
30
31
|
return unless File.exists?(File.join(app_path, '.svn'))
|
31
32
|
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# computes the number of frontends to be used in an application
|
2
|
+
|
3
|
+
module RailsPwnage::Config
|
4
|
+
# the number of frontends for an application
|
5
|
+
def self.app_frontends(app_name, instance_name)
|
6
|
+
# TODO: this is duplicated in cluster_config.rb -- pull up somewhere
|
7
|
+
app_config = self[app_name, instance_name]
|
8
|
+
return nil unless app_config and fixed_frontends = app_config[:frontends]
|
9
|
+
|
10
|
+
frontends_per_core = app_config[:frontends_per_core] || 0
|
11
|
+
detected_cores = app_config[:detected_cores] || 0
|
12
|
+
cores_frontends = frontends_per_core * detected_cores
|
13
|
+
return (cores_frontends != 0) ? cores_frontends : fixed_frontends
|
14
|
+
end
|
15
|
+
end
|
@@ -28,6 +28,9 @@ class RailsPwnage::Scaffolds::Packages
|
|
28
28
|
# needed by rmagick which does image processing
|
29
29
|
install_packages %w(libmagick9-dev), :source => true
|
30
30
|
|
31
|
+
# needed by xml parsers
|
32
|
+
install_packages %w(libxml2-dev libxslt1-dev)
|
33
|
+
|
31
34
|
# needed by sqlite-3 ruby gem in tools
|
32
35
|
install_packages %w(libsqlite3-0 libsqlite3-dev sqlite3), :source => true
|
33
36
|
|
data/lib/rails_pwnerer.rb
CHANGED
data/rails_pwnerer.gemspec
CHANGED
@@ -2,18 +2,18 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{rails_pwnerer}
|
5
|
-
s.version = "0.6.
|
5
|
+
s.version = "0.6.25"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Victor Costan"]
|
9
|
-
s.date = %q{
|
9
|
+
s.date = %q{2009-01-02}
|
10
10
|
s.default_executable = %q{bin/rpwn}
|
11
11
|
s.description = %q{Rails deployment tool/hack.}
|
12
12
|
s.email = %q{victor@costan.us}
|
13
13
|
s.executables = ["rpwn", "rpwnctl", "rpwndev"]
|
14
14
|
s.extensions = ["ext/rpwn_setup_notice/extconf.rb"]
|
15
|
-
s.extra_rdoc_files = ["bin/rpwn", "bin/rpwnctl", "bin/rpwndev", "CHANGELOG", "ext/rpwn_setup_notice/extconf.rb", "lib/pwnage/app/cluster_config.rb", "lib/pwnage/app/config.rb", "lib/pwnage/app/database.rb", "lib/pwnage/app/files.rb", "lib/pwnage/app/gems.rb", "lib/pwnage/app/git.rb", "lib/pwnage/app/main.rb", "lib/pwnage/app/nginx_config.rb", "lib/pwnage/app/scripts.rb", "lib/pwnage/app/svn.rb", "lib/pwnage/base/atomics.rb", "lib/pwnage/base/cpus.rb", "lib/pwnage/base/dirs.rb", "lib/pwnage/base/gems.rb", "lib/pwnage/base/hostname.rb", "lib/pwnage/base/packages.rb", "lib/pwnage/base/process.rb", "lib/pwnage/base/rails.rb", "lib/pwnage/base/startup.rb", "lib/pwnage/base.rb", "lib/pwnage/config/app.rb", "lib/pwnage/config/main.rb", "lib/pwnage/config/paths.rb", "lib/pwnage/config/ports.rb", "lib/pwnage/config/repository.rb", "lib/pwnage/ctl_executor.rb", "lib/pwnage/dev_executor.rb", "lib/pwnage/executor.rb", "lib/pwnage/scaffolds/config.rb", "lib/pwnage/scaffolds/dir_permissions.rb", "lib/pwnage/scaffolds/dirs.rb", "lib/pwnage/scaffolds/gems.rb", "lib/pwnage/scaffolds/hook_daemon.rb", "lib/pwnage/scaffolds/hook_dyndns.rb", "lib/pwnage/scaffolds/mysql_config.rb", "lib/pwnage/scaffolds/packages.rb", "lib/pwnage/scaffolds/rubygems.rb", "lib/pwnage/scaffolds/sshd.rb", "lib/pwnage/util/kill_process_set.rb", "lib/pwnage/util/main.rb", "lib/rails_pwnerer.rb", "LICENSE", "README"]
|
16
|
-
s.files = ["bin/rpwn", "bin/rpwnctl", "bin/rpwndev", "CHANGELOG", "ext/rpwn_setup_notice/extconf.rb", "lib/pwnage/app/cluster_config.rb", "lib/pwnage/app/config.rb", "lib/pwnage/app/database.rb", "lib/pwnage/app/files.rb", "lib/pwnage/app/gems.rb", "lib/pwnage/app/git.rb", "lib/pwnage/app/main.rb", "lib/pwnage/app/nginx_config.rb", "lib/pwnage/app/scripts.rb", "lib/pwnage/app/svn.rb", "lib/pwnage/base/atomics.rb", "lib/pwnage/base/cpus.rb", "lib/pwnage/base/dirs.rb", "lib/pwnage/base/gems.rb", "lib/pwnage/base/hostname.rb", "lib/pwnage/base/packages.rb", "lib/pwnage/base/process.rb", "lib/pwnage/base/rails.rb", "lib/pwnage/base/startup.rb", "lib/pwnage/base.rb", "lib/pwnage/config/app.rb", "lib/pwnage/config/main.rb", "lib/pwnage/config/paths.rb", "lib/pwnage/config/ports.rb", "lib/pwnage/config/repository.rb", "lib/pwnage/ctl_executor.rb", "lib/pwnage/dev_executor.rb", "lib/pwnage/executor.rb", "lib/pwnage/scaffolds/config.rb", "lib/pwnage/scaffolds/dir_permissions.rb", "lib/pwnage/scaffolds/dirs.rb", "lib/pwnage/scaffolds/gems.rb", "lib/pwnage/scaffolds/hook_daemon.rb", "lib/pwnage/scaffolds/hook_dyndns.rb", "lib/pwnage/scaffolds/mysql_config.rb", "lib/pwnage/scaffolds/packages.rb", "lib/pwnage/scaffolds/rubygems.rb", "lib/pwnage/scaffolds/sshd.rb", "lib/pwnage/util/kill_process_set.rb", "lib/pwnage/util/main.rb", "lib/rails_pwnerer.rb", "LICENSE", "Manifest", "Rakefile", "README", "RUBYFORGE", "rails_pwnerer.gemspec"]
|
15
|
+
s.extra_rdoc_files = ["bin/rpwn", "bin/rpwnctl", "bin/rpwndev", "CHANGELOG", "ext/rpwn_setup_notice/extconf.rb", "lib/pwnage/app/cluster_config.rb", "lib/pwnage/app/config.rb", "lib/pwnage/app/database.rb", "lib/pwnage/app/files.rb", "lib/pwnage/app/gems.rb", "lib/pwnage/app/git.rb", "lib/pwnage/app/main.rb", "lib/pwnage/app/nginx_config.rb", "lib/pwnage/app/scripts.rb", "lib/pwnage/app/svn.rb", "lib/pwnage/base/atomics.rb", "lib/pwnage/base/cpus.rb", "lib/pwnage/base/dirs.rb", "lib/pwnage/base/gems.rb", "lib/pwnage/base/hostname.rb", "lib/pwnage/base/packages.rb", "lib/pwnage/base/process.rb", "lib/pwnage/base/rails.rb", "lib/pwnage/base/startup.rb", "lib/pwnage/base.rb", "lib/pwnage/config/app.rb", "lib/pwnage/config/frontends.rb", "lib/pwnage/config/main.rb", "lib/pwnage/config/paths.rb", "lib/pwnage/config/ports.rb", "lib/pwnage/config/repository.rb", "lib/pwnage/ctl_executor.rb", "lib/pwnage/dev_executor.rb", "lib/pwnage/executor.rb", "lib/pwnage/scaffolds/config.rb", "lib/pwnage/scaffolds/dir_permissions.rb", "lib/pwnage/scaffolds/dirs.rb", "lib/pwnage/scaffolds/gems.rb", "lib/pwnage/scaffolds/hook_daemon.rb", "lib/pwnage/scaffolds/hook_dyndns.rb", "lib/pwnage/scaffolds/mysql_config.rb", "lib/pwnage/scaffolds/packages.rb", "lib/pwnage/scaffolds/rubygems.rb", "lib/pwnage/scaffolds/sshd.rb", "lib/pwnage/util/kill_process_set.rb", "lib/pwnage/util/main.rb", "lib/rails_pwnerer.rb", "LICENSE", "README"]
|
16
|
+
s.files = ["bin/rpwn", "bin/rpwnctl", "bin/rpwndev", "CHANGELOG", "ext/rpwn_setup_notice/extconf.rb", "lib/pwnage/app/cluster_config.rb", "lib/pwnage/app/config.rb", "lib/pwnage/app/database.rb", "lib/pwnage/app/files.rb", "lib/pwnage/app/gems.rb", "lib/pwnage/app/git.rb", "lib/pwnage/app/main.rb", "lib/pwnage/app/nginx_config.rb", "lib/pwnage/app/scripts.rb", "lib/pwnage/app/svn.rb", "lib/pwnage/base/atomics.rb", "lib/pwnage/base/cpus.rb", "lib/pwnage/base/dirs.rb", "lib/pwnage/base/gems.rb", "lib/pwnage/base/hostname.rb", "lib/pwnage/base/packages.rb", "lib/pwnage/base/process.rb", "lib/pwnage/base/rails.rb", "lib/pwnage/base/startup.rb", "lib/pwnage/base.rb", "lib/pwnage/config/app.rb", "lib/pwnage/config/frontends.rb", "lib/pwnage/config/main.rb", "lib/pwnage/config/paths.rb", "lib/pwnage/config/ports.rb", "lib/pwnage/config/repository.rb", "lib/pwnage/ctl_executor.rb", "lib/pwnage/dev_executor.rb", "lib/pwnage/executor.rb", "lib/pwnage/scaffolds/config.rb", "lib/pwnage/scaffolds/dir_permissions.rb", "lib/pwnage/scaffolds/dirs.rb", "lib/pwnage/scaffolds/gems.rb", "lib/pwnage/scaffolds/hook_daemon.rb", "lib/pwnage/scaffolds/hook_dyndns.rb", "lib/pwnage/scaffolds/mysql_config.rb", "lib/pwnage/scaffolds/packages.rb", "lib/pwnage/scaffolds/rubygems.rb", "lib/pwnage/scaffolds/sshd.rb", "lib/pwnage/util/kill_process_set.rb", "lib/pwnage/util/main.rb", "lib/rails_pwnerer.rb", "LICENSE", "Manifest", "Rakefile", "README", "RUBYFORGE", "rails_pwnerer.gemspec"]
|
17
17
|
s.has_rdoc = true
|
18
18
|
s.homepage = %q{http://www.costan.us/rails_pwnage}
|
19
19
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Rails_pwnerer", "--main", "README"]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_pwnerer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.25
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Victor Costan
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2009-01-02 00:00:00 -05:00
|
13
13
|
default_executable: bin/rpwn
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -57,6 +57,7 @@ extra_rdoc_files:
|
|
57
57
|
- lib/pwnage/base/startup.rb
|
58
58
|
- lib/pwnage/base.rb
|
59
59
|
- lib/pwnage/config/app.rb
|
60
|
+
- lib/pwnage/config/frontends.rb
|
60
61
|
- lib/pwnage/config/main.rb
|
61
62
|
- lib/pwnage/config/paths.rb
|
62
63
|
- lib/pwnage/config/ports.rb
|
@@ -106,6 +107,7 @@ files:
|
|
106
107
|
- lib/pwnage/base/startup.rb
|
107
108
|
- lib/pwnage/base.rb
|
108
109
|
- lib/pwnage/config/app.rb
|
110
|
+
- lib/pwnage/config/frontends.rb
|
109
111
|
- lib/pwnage/config/main.rb
|
110
112
|
- lib/pwnage/config/paths.rb
|
111
113
|
- lib/pwnage/config/ports.rb
|