rails_pwnerer 0.6.24 → 0.6.25
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.
- 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
|