rails_pwnerer 0.6.64 → 0.6.65
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/LICENSE +0 -0
- data/Manifest +51 -49
- data/README +0 -0
- data/RUBYFORGE +0 -0
- data/Rakefile +7 -11
- data/ext/rpwn_setup_notice/extconf.rb +24 -16
- data/lib/{pwnage → rails_pwnerer}/app/cluster_config.rb +17 -17
- data/lib/{pwnage → rails_pwnerer}/app/config.rb +14 -14
- data/lib/{pwnage → rails_pwnerer}/app/db/mysql.rb +9 -9
- data/lib/{pwnage → rails_pwnerer}/app/files.rb +13 -13
- data/lib/{pwnage → rails_pwnerer}/app/gems.rb +3 -3
- data/lib/{pwnage → rails_pwnerer}/app/main.rb +4 -4
- data/lib/{pwnage → rails_pwnerer}/app/nginx_config.rb +7 -7
- data/lib/{pwnage → rails_pwnerer}/app/scripts.rb +4 -4
- data/lib/{pwnage → rails_pwnerer}/app/vcs/git.rb +9 -9
- data/lib/{pwnage → rails_pwnerer}/app/vcs/perforce.rb +11 -11
- data/lib/{pwnage → rails_pwnerer}/app/vcs/svn.rb +9 -9
- data/lib/{pwnage → rails_pwnerer}/base/atomics.rb +1 -1
- data/lib/{pwnage → rails_pwnerer}/base/cpus.rb +1 -1
- data/lib/{pwnage → rails_pwnerer}/base/dirs.rb +1 -1
- data/lib/{pwnage → rails_pwnerer}/base/gems.rb +2 -2
- data/lib/{pwnage → rails_pwnerer}/base/hostname.rb +1 -1
- data/lib/{pwnage → rails_pwnerer}/base/input.rb +1 -1
- data/lib/rails_pwnerer/base/packages.rb +272 -0
- data/lib/{pwnage → rails_pwnerer}/base/process.rb +1 -1
- data/lib/{pwnage → rails_pwnerer}/base/rails.rb +1 -1
- data/lib/{pwnage → rails_pwnerer}/base/startup.rb +1 -1
- data/lib/{pwnage → rails_pwnerer}/base.rb +1 -1
- data/lib/{pwnage → rails_pwnerer}/config/app.rb +1 -1
- data/lib/{pwnage → rails_pwnerer}/config/frontends.rb +1 -1
- data/lib/rails_pwnerer/config/main.rb +3 -0
- data/lib/{pwnage → rails_pwnerer}/config/paths.rb +1 -1
- data/lib/{pwnage → rails_pwnerer}/config/ports.rb +1 -1
- data/lib/{pwnage → rails_pwnerer}/config/repository.rb +7 -7
- data/lib/rails_pwnerer/ctl_executor.rb +19 -0
- data/lib/{pwnage → rails_pwnerer}/dev_executor.rb +2 -2
- data/lib/{pwnage → rails_pwnerer}/executor.rb +17 -17
- data/lib/{pwnage → rails_pwnerer}/scaffolds/config.rb +7 -7
- data/lib/{pwnage → rails_pwnerer}/scaffolds/dir_permissions.rb +4 -4
- data/lib/{pwnage → rails_pwnerer}/scaffolds/dirs.rb +3 -3
- data/lib/{pwnage → rails_pwnerer}/scaffolds/gems.rb +2 -2
- data/lib/{pwnage → rails_pwnerer}/scaffolds/hook_daemon.rb +2 -2
- data/lib/{pwnage → rails_pwnerer}/scaffolds/hook_dyndns.rb +3 -3
- data/lib/{pwnage → rails_pwnerer}/scaffolds/mysql_config.rb +2 -2
- data/lib/rails_pwnerer/scaffolds/packages.rb +118 -0
- data/lib/{pwnage → rails_pwnerer}/scaffolds/rubygems.rb +2 -2
- data/lib/{pwnage → rails_pwnerer}/scaffolds/sshd.rb +2 -2
- data/lib/{pwnage → rails_pwnerer}/util/kill_process_set.rb +1 -1
- data/lib/rails_pwnerer/util/main.rb +5 -0
- data/lib/rails_pwnerer.rb +52 -52
- data/rails_pwnerer.gemspec +17 -7
- data/test/base_package_test.rb +126 -0
- data/test/helper.rb +25 -0
- metadata +151 -107
- data/lib/pwnage/base/packages.rb +0 -159
- data/lib/pwnage/config/main.rb +0 -3
- data/lib/pwnage/ctl_executor.rb +0 -19
- data/lib/pwnage/scaffolds/packages.rb +0 -110
- data/lib/pwnage/util/main.rb +0 -5
@@ -1,8 +1,8 @@
|
|
1
1
|
# implements the configuration repository
|
2
2
|
|
3
|
-
module
|
3
|
+
module RailsPwnerer::Config
|
4
4
|
class << self
|
5
|
-
include
|
5
|
+
include RailsPwnerer::Base
|
6
6
|
end
|
7
7
|
|
8
8
|
# maps each database name to its contents
|
@@ -26,7 +26,7 @@ module RailsPwnage::Config
|
|
26
26
|
end
|
27
27
|
def []=(key, value)
|
28
28
|
super(key.to_s, value)
|
29
|
-
|
29
|
+
RailsPwnerer::Config.mark_db_dirty @db_name
|
30
30
|
end
|
31
31
|
def has_key?(key)
|
32
32
|
super(key.to_s)
|
@@ -59,7 +59,7 @@ module RailsPwnage::Config
|
|
59
59
|
def self.get_db(db_name)
|
60
60
|
db_name = db_name.to_s
|
61
61
|
unless @@db_cache.has_key? db_name
|
62
|
-
db_path =
|
62
|
+
db_path = RailsPwnerer::Config.path_to :config
|
63
63
|
db_contents = atomic_read(db_path, db_name)
|
64
64
|
|
65
65
|
if db_contents.nil?
|
@@ -77,7 +77,7 @@ module RailsPwnage::Config
|
|
77
77
|
def self.flush_db(db_name)
|
78
78
|
db_name = db_name.to_s
|
79
79
|
return unless @@db_dirty[db_name]
|
80
|
-
db_path =
|
80
|
+
db_path = RailsPwnerer::Config.path_to :config
|
81
81
|
if @@db_cache[db_name].nil?
|
82
82
|
atomic_erase db_path, db_name
|
83
83
|
else
|
@@ -107,7 +107,7 @@ module RailsPwnage::Config
|
|
107
107
|
end
|
108
108
|
|
109
109
|
def self.databases()
|
110
|
-
entries = Dir.entries
|
110
|
+
entries = Dir.entries RailsPwnerer::Config.path_to(:config)
|
111
111
|
databases = []
|
112
112
|
entries.each do |entry|
|
113
113
|
next unless entry =~ /\.yml(2)?$/
|
@@ -117,5 +117,5 @@ module RailsPwnage::Config
|
|
117
117
|
end
|
118
118
|
|
119
119
|
# ensures all databases are flushed when the script exits
|
120
|
-
Kernel.at_exit {
|
120
|
+
Kernel.at_exit { RailsPwnerer::Config.flush_db_cache }
|
121
121
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
class RailsPwnerer::CtlExecutor
|
2
|
+
# standalone runner
|
3
|
+
def run(args)
|
4
|
+
case args[0]
|
5
|
+
when 'start'
|
6
|
+
RailsPwnerer::App::ClusterConfig.new.control_all :start
|
7
|
+
when 'stop'
|
8
|
+
RailsPwnerer::App::ClusterConfig.new.control_all :stop
|
9
|
+
when 'restart'
|
10
|
+
RailsPwnerer::App::ClusterConfig.new.control_all :stop
|
11
|
+
RailsPwnerer::App::ClusterConfig.new.control_all :start
|
12
|
+
when 'reload'
|
13
|
+
RailsPwnerer::App::ClusterConfig.new.control_all :stop
|
14
|
+
RailsPwnerer::App::ClusterConfig.new.control_all :start
|
15
|
+
else
|
16
|
+
print "Unrecognized command #{args[0]}\n"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'pp'
|
2
2
|
|
3
|
-
class
|
4
|
-
include
|
3
|
+
class RailsPwnerer::Executor
|
4
|
+
include RailsPwnerer::Scaffolds
|
5
5
|
|
6
6
|
# standalone runner
|
7
7
|
def run(args)
|
@@ -51,24 +51,24 @@ class RailsPwnage::Executor
|
|
51
51
|
when 'install', 'micro'
|
52
52
|
svn_path = args[1]
|
53
53
|
instance_name = args[2] || '.'
|
54
|
-
|
54
|
+
RailsPwnerer::App.install svn_path, instance_name
|
55
55
|
|
56
56
|
when 'update', 'ubermicro'
|
57
57
|
app_name = args[1]
|
58
58
|
instance_name = args[2] || '.'
|
59
|
-
|
59
|
+
RailsPwnerer::App.update app_name, instance_name
|
60
60
|
|
61
61
|
when 'uninstall', 'remove'
|
62
62
|
app_name = args[1]
|
63
63
|
instance_name = args[2] || '.'
|
64
|
-
|
64
|
+
RailsPwnerer::App.remove app_name, instance_name
|
65
65
|
|
66
66
|
when 'go'
|
67
67
|
case args[1]
|
68
68
|
when 'live', 'pwn'
|
69
|
-
|
69
|
+
RailsPwnerer::App.control_all :start
|
70
70
|
when 'down', 'panic'
|
71
|
-
|
71
|
+
RailsPwnerer::App.control_all :stop
|
72
72
|
else
|
73
73
|
print "Unrecognized go command #{args[1]}\n"
|
74
74
|
end
|
@@ -76,41 +76,41 @@ class RailsPwnage::Executor
|
|
76
76
|
when 'backup', 'checkpoint', 'save'
|
77
77
|
app_name = args[1]
|
78
78
|
instance_name = args[2] || '.'
|
79
|
-
|
79
|
+
RailsPwnerer::App.manage app_name, instance_name, :checkpoint
|
80
80
|
when 'restore', 'rollback'
|
81
81
|
app_name = args[1]
|
82
82
|
instance_name = args[2] || '.'
|
83
|
-
|
83
|
+
RailsPwnerer::App.manage app_name, instance_name, :rollback
|
84
84
|
when 'restoredb', 'rollbackdb', 'restore_db', 'rollback_db'
|
85
85
|
app_name = args[1]
|
86
86
|
instance_name = args[2] || '.'
|
87
|
-
|
87
|
+
RailsPwnerer::App.manage app_name, instance_name, :rollback_db
|
88
88
|
when 'console'
|
89
89
|
app_name = args[1]
|
90
90
|
instance_name = args[2] || '.'
|
91
|
-
|
91
|
+
RailsPwnerer::App.manage app_name, instance_name, :console
|
92
92
|
when 'dbconsole', 'db_console'
|
93
93
|
app_name = args[1]
|
94
94
|
instance_name = args[2] || '.'
|
95
|
-
|
95
|
+
RailsPwnerer::App.manage app_name, instance_name, :db_console
|
96
96
|
when 'dbreset', 'db_reset', 'resetdb', 'reset_db'
|
97
97
|
app_name = args[1]
|
98
98
|
instance_name = args[2] || '.'
|
99
|
-
|
99
|
+
RailsPwnerer::App.manage app_name, instance_name, :db_reset
|
100
100
|
when 'rekey'
|
101
101
|
app_name = args[1]
|
102
102
|
instance_name = args[2] || '.'
|
103
|
-
|
103
|
+
RailsPwnerer::App.manage app_name, instance_name, :rekey
|
104
104
|
|
105
105
|
when 'showconfig', 'configshow', 'show_config', 'config_show', 'showconf'
|
106
106
|
if args.length < 2
|
107
107
|
# dump all databases
|
108
|
-
|
108
|
+
RailsPwnerer::Config.databases.each do |db|
|
109
109
|
print "Database: #{db}\n"
|
110
|
-
pp
|
110
|
+
pp RailsPwnerer::Config[db]
|
111
111
|
end
|
112
112
|
else
|
113
|
-
pp
|
113
|
+
pp RailsPwnerer::Config[args[1]]
|
114
114
|
end
|
115
115
|
else
|
116
116
|
print "Unrecognized command #{args[0]}\n"
|
@@ -1,20 +1,20 @@
|
|
1
1
|
# sets up the configuration repository
|
2
2
|
|
3
|
-
class
|
4
|
-
include
|
3
|
+
class RailsPwnerer::Scaffolds::Config
|
4
|
+
include RailsPwnerer::Base
|
5
5
|
|
6
6
|
# runner
|
7
7
|
def run
|
8
8
|
# paths
|
9
|
-
paths_db =
|
9
|
+
paths_db = RailsPwnerer::Config.create_db :paths
|
10
10
|
# the directory containing the nginx config files
|
11
11
|
paths_db[:nginx_configs] = '/etc/nginx/sites-enabled'
|
12
12
|
# the directory containing the ddclient configuration
|
13
13
|
paths_db[:ddclient_config] = '/etc/ddclient.conf'
|
14
|
-
|
14
|
+
RailsPwnerer::Config.flush_db :paths
|
15
15
|
|
16
16
|
# host info
|
17
|
-
host_info =
|
17
|
+
host_info = RailsPwnerer::Config.create_db :host
|
18
18
|
# the default instance name -- DNS names have dashes, but mySQL hates that
|
19
19
|
host_info[:instance] = Socket.gethostname().split('.').first.gsub('-', '_')
|
20
20
|
# the computer's name (if we ever do status reports)
|
@@ -26,10 +26,10 @@ class RailsPwnage::Scaffolds::Config
|
|
26
26
|
# the user owning the /prod subtrees
|
27
27
|
host_info[:pwnerer_user] = current_user
|
28
28
|
|
29
|
-
|
29
|
+
RailsPwnerer::Config.flush_db :host
|
30
30
|
|
31
31
|
# the free port list
|
32
|
-
|
32
|
+
RailsPwnerer::Config.init_ports
|
33
33
|
end
|
34
34
|
|
35
35
|
# standalone runner
|
@@ -2,14 +2,14 @@
|
|
2
2
|
|
3
3
|
require 'fileutils'
|
4
4
|
|
5
|
-
class
|
6
|
-
include
|
5
|
+
class RailsPwnerer::Scaffolds::DirPermissions
|
6
|
+
include RailsPwnerer::Base
|
7
7
|
|
8
8
|
# runner
|
9
9
|
def run
|
10
|
-
pwnerer_uid = uid_for_username(
|
10
|
+
pwnerer_uid = uid_for_username(RailsPwnerer::Config[:host][:pwnerer_user])
|
11
11
|
Dir.chdir('/') do
|
12
|
-
[:config, :apps, :backups].map { |k|
|
12
|
+
[:config, :apps, :backups].map { |k| RailsPwnerer::Config.path_to k }.each do |path|
|
13
13
|
FileUtils.mkpath path
|
14
14
|
File.chown(pwnerer_uid, nil, path)
|
15
15
|
end
|
@@ -2,13 +2,13 @@
|
|
2
2
|
|
3
3
|
require 'fileutils'
|
4
4
|
|
5
|
-
class
|
6
|
-
include
|
5
|
+
class RailsPwnerer::Scaffolds::Dirs
|
6
|
+
include RailsPwnerer::Base
|
7
7
|
|
8
8
|
# runner
|
9
9
|
def run
|
10
10
|
Dir.chdir('/') do
|
11
|
-
[:config, :apps, :backups].map { |k|
|
11
|
+
[:config, :apps, :backups].map { |k| RailsPwnerer::Config.path_to k }.each do |path|
|
12
12
|
FileUtils.mkpath path
|
13
13
|
end
|
14
14
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# hooks up the dynamic dns service
|
2
2
|
|
3
|
-
class
|
4
|
-
include
|
3
|
+
class RailsPwnerer::Scaffolds::HookDyndns
|
4
|
+
include RailsPwnerer::Base
|
5
5
|
|
6
6
|
# patches the ddclient boot script and configuration to enable the daemon
|
7
7
|
def enable_daemon
|
@@ -16,7 +16,7 @@ class RailsPwnage::Scaffolds::HookDyndns
|
|
16
16
|
|
17
17
|
# configures ddclient
|
18
18
|
def configure(ddns_hostname, ddns_username, ddns_password)
|
19
|
-
File.open(
|
19
|
+
File.open(RailsPwnerer::Config.path_to(:ddclient_config), 'w') do |f|
|
20
20
|
f << <<END_CONFIG
|
21
21
|
pid=/var/run/ddclient.pid
|
22
22
|
use=web, web=checkip.dyndns.com/, web-skip='IP Address'
|
@@ -0,0 +1,118 @@
|
|
1
|
+
# installs the required OS (read: Ubuntu / Debian) packages
|
2
|
+
|
3
|
+
class RailsPwnerer::Scaffolds::Packages
|
4
|
+
include RailsPwnerer::Base
|
5
|
+
|
6
|
+
# Packages needed to manage the server remotely and install applications.
|
7
|
+
def install_management
|
8
|
+
# Needed to play with the configuration database.
|
9
|
+
package 'debconf'
|
10
|
+
package 'debconf-utils'
|
11
|
+
|
12
|
+
package 'dpkg-dev' # Builds packages from source.
|
13
|
+
package 'openssh-server' # SSH into the box.
|
14
|
+
|
15
|
+
# For gems with native extensions.
|
16
|
+
package 'build-essential'
|
17
|
+
package 'g++'
|
18
|
+
|
19
|
+
# Pull code from version control.
|
20
|
+
package 'subversion'
|
21
|
+
package 'git-core'
|
22
|
+
|
23
|
+
package 'avahi-daemon' # mDNS, a.k.a. Bonjour
|
24
|
+
package 'ddclient' # dynamic DNS
|
25
|
+
end
|
26
|
+
|
27
|
+
# Packages needed by popular gems.
|
28
|
+
def install_tools
|
29
|
+
# For rmagick (image processing).
|
30
|
+
package 'libmagickwand-dev', /^libmagick\d*-dev$/
|
31
|
+
|
32
|
+
# For HTML/XML parsers (nokogiri, hpricot).
|
33
|
+
package 'libxml2-dev'
|
34
|
+
package 'libxslt1-dev'
|
35
|
+
|
36
|
+
# For HTTP fetchers (curb).
|
37
|
+
package 'libcurl-dev', 'libcurl-openssl-dev', /^libcurl\d*-dev$/,
|
38
|
+
/^libcurl\d*-openssl-dev$/
|
39
|
+
|
40
|
+
# needed for solr and other java-based services
|
41
|
+
package 'openjdk-6-jdk'
|
42
|
+
|
43
|
+
# useful to be able to work with compressed data
|
44
|
+
package 'bzip2'
|
45
|
+
package 'gzip'
|
46
|
+
package 'tar'
|
47
|
+
package 'zip'
|
48
|
+
end
|
49
|
+
|
50
|
+
# Packages for all the database servers we could need.
|
51
|
+
def install_databases
|
52
|
+
package 'sqlite3'
|
53
|
+
package 'libsqlite3-dev'
|
54
|
+
|
55
|
+
package 'mysql-client'
|
56
|
+
package 'mysql-server'
|
57
|
+
package 'libmysql-dev', 'libmysqlclient-dev', /^libmysqlclient\d*-dev$/
|
58
|
+
|
59
|
+
package 'postgresql-client'
|
60
|
+
package 'libpq-dev'
|
61
|
+
|
62
|
+
# TODO: NoSQL stores.
|
63
|
+
end
|
64
|
+
|
65
|
+
# The ruby environment (ruby, irb, rubygems).
|
66
|
+
def install_ruby
|
67
|
+
package 'ruby', 'ruby1.8'
|
68
|
+
|
69
|
+
# Extensions that don't come in the ruby package, but should.
|
70
|
+
package 'libdbm-ruby', 'libdbm-ruby1.8'
|
71
|
+
package 'libgdm-ruby', 'libgdbm-ruby1.8'
|
72
|
+
package 'libopenssl-ruby', 'libopenssl-ruby1.8'
|
73
|
+
package 'libreadline-ruby', 'libreadline-ruby1.8'
|
74
|
+
package 'libsetup-ruby', 'libsetup-ruby1.8'
|
75
|
+
|
76
|
+
# Ecosystem command-line tools.
|
77
|
+
package 'irb', 'irb1.8'
|
78
|
+
package 'ruby-dev', 'ruby1.8-dev'
|
79
|
+
package 'rubygems', 'rubygems1.8'
|
80
|
+
|
81
|
+
# Debian package tool. Might be helpful if we decide to auto-convert
|
82
|
+
# gems into debian packages.
|
83
|
+
package 'ruby-pkg-tools'
|
84
|
+
end
|
85
|
+
|
86
|
+
# Package for front-end servers.
|
87
|
+
def install_frontends
|
88
|
+
package 'nginx'
|
89
|
+
package 'varnish'
|
90
|
+
end
|
91
|
+
|
92
|
+
# Implementation of the super-simple package DSL.
|
93
|
+
def package(*patterns)
|
94
|
+
install_package_matching patterns
|
95
|
+
end
|
96
|
+
|
97
|
+
|
98
|
+
# Runner.
|
99
|
+
def run
|
100
|
+
sid_source = 'http://debian.mirrors.tds.net/debian/'
|
101
|
+
sid_repos = %w(unstable main non-free contrib)
|
102
|
+
|
103
|
+
update_package_metadata
|
104
|
+
update_all_packages
|
105
|
+
install_management
|
106
|
+
with_package_source sid_source, sid_repos do
|
107
|
+
install_tools
|
108
|
+
install_databases
|
109
|
+
install_ruby
|
110
|
+
install_frontends
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
# Standalone runner.
|
115
|
+
def self.go
|
116
|
+
self.new.run
|
117
|
+
end
|
118
|
+
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
require 'fileutils'
|
2
2
|
require 'net/http'
|
3
3
|
|
4
|
-
class
|
5
|
-
include
|
4
|
+
class RailsPwnerer::Scaffolds::RubyGems
|
5
|
+
include RailsPwnerer::Base
|
6
6
|
|
7
7
|
# retrieves the URI for a Google "I'm Feeling Lucky" search
|
8
8
|
def google_lucky_uri(query)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
module
|
1
|
+
module RailsPwnerer::Util
|
2
2
|
# Complex procedure for killing a process or a bunch of process replicas
|
3
3
|
# kill_command is the script that's supposed to kill the process / processes (tried first)
|
4
4
|
# pid_patters are globs identifying PID files (a file can match any of the patterns)
|
data/lib/rails_pwnerer.rb
CHANGED
@@ -1,61 +1,61 @@
|
|
1
|
-
module
|
1
|
+
module RailsPwnerer
|
2
2
|
end
|
3
3
|
|
4
|
-
module
|
4
|
+
module RailsPwnerer::App
|
5
5
|
end
|
6
6
|
|
7
|
-
module
|
7
|
+
module RailsPwnerer::Config
|
8
8
|
end
|
9
9
|
|
10
|
-
module
|
10
|
+
module RailsPwnerer::Scaffolds
|
11
11
|
end
|
12
12
|
|
13
13
|
|
14
|
-
require '
|
15
|
-
require '
|
16
|
-
require '
|
17
|
-
require '
|
18
|
-
require '
|
19
|
-
require '
|
20
|
-
require '
|
21
|
-
require '
|
22
|
-
require '
|
23
|
-
require '
|
24
|
-
require '
|
25
|
-
|
26
|
-
require '
|
27
|
-
require '
|
28
|
-
|
29
|
-
require '
|
30
|
-
require '
|
31
|
-
require '
|
32
|
-
require '
|
33
|
-
require '
|
34
|
-
require '
|
35
|
-
|
36
|
-
require '
|
37
|
-
require '
|
38
|
-
require '
|
39
|
-
require '
|
40
|
-
require '
|
41
|
-
require '
|
42
|
-
require '
|
43
|
-
require '
|
44
|
-
require '
|
45
|
-
require '
|
46
|
-
|
47
|
-
require '
|
48
|
-
require '
|
49
|
-
require '
|
50
|
-
require '
|
51
|
-
require '
|
52
|
-
require '
|
53
|
-
require '
|
54
|
-
require '
|
55
|
-
require '
|
56
|
-
require '
|
57
|
-
require '
|
58
|
-
|
59
|
-
require '
|
60
|
-
require '
|
61
|
-
require '
|
14
|
+
require 'rails_pwnerer/base.rb'
|
15
|
+
require 'rails_pwnerer/base/atomics.rb'
|
16
|
+
require 'rails_pwnerer/base/cpus.rb'
|
17
|
+
require 'rails_pwnerer/base/dirs.rb'
|
18
|
+
require 'rails_pwnerer/base/gems.rb'
|
19
|
+
require 'rails_pwnerer/base/hostname.rb'
|
20
|
+
require 'rails_pwnerer/base/input.rb'
|
21
|
+
require 'rails_pwnerer/base/packages.rb'
|
22
|
+
require 'rails_pwnerer/base/process.rb'
|
23
|
+
require 'rails_pwnerer/base/rails.rb'
|
24
|
+
require 'rails_pwnerer/base/startup.rb'
|
25
|
+
|
26
|
+
require 'rails_pwnerer/util/main.rb'
|
27
|
+
require 'rails_pwnerer/util/kill_process_set.rb'
|
28
|
+
|
29
|
+
require 'rails_pwnerer/config/app.rb'
|
30
|
+
require 'rails_pwnerer/config/frontends.rb'
|
31
|
+
require 'rails_pwnerer/config/main.rb'
|
32
|
+
require 'rails_pwnerer/config/paths.rb'
|
33
|
+
require 'rails_pwnerer/config/ports.rb'
|
34
|
+
require 'rails_pwnerer/config/repository.rb'
|
35
|
+
|
36
|
+
require 'rails_pwnerer/scaffolds/config.rb'
|
37
|
+
require 'rails_pwnerer/scaffolds/dirs.rb'
|
38
|
+
require 'rails_pwnerer/scaffolds/dir_permissions.rb'
|
39
|
+
require 'rails_pwnerer/scaffolds/gems.rb'
|
40
|
+
require 'rails_pwnerer/scaffolds/hook_daemon.rb'
|
41
|
+
require 'rails_pwnerer/scaffolds/hook_dyndns.rb'
|
42
|
+
require 'rails_pwnerer/scaffolds/mysql_config.rb'
|
43
|
+
require 'rails_pwnerer/scaffolds/packages.rb'
|
44
|
+
require 'rails_pwnerer/scaffolds/rubygems.rb'
|
45
|
+
require 'rails_pwnerer/scaffolds/sshd.rb'
|
46
|
+
|
47
|
+
require 'rails_pwnerer/app/main.rb'
|
48
|
+
require 'rails_pwnerer/app/config.rb'
|
49
|
+
require 'rails_pwnerer/app/cluster_config.rb'
|
50
|
+
require 'rails_pwnerer/app/files.rb'
|
51
|
+
require 'rails_pwnerer/app/gems.rb'
|
52
|
+
require 'rails_pwnerer/app/nginx_config.rb'
|
53
|
+
require 'rails_pwnerer/app/scripts.rb'
|
54
|
+
require 'rails_pwnerer/app/db/mysql.rb'
|
55
|
+
require 'rails_pwnerer/app/vcs/git.rb'
|
56
|
+
require 'rails_pwnerer/app/vcs/perforce.rb'
|
57
|
+
require 'rails_pwnerer/app/vcs/svn.rb'
|
58
|
+
|
59
|
+
require 'rails_pwnerer/ctl_executor.rb'
|
60
|
+
require 'rails_pwnerer/dev_executor.rb'
|
61
|
+
require 'rails_pwnerer/executor.rb'
|
data/rails_pwnerer.gemspec
CHANGED
@@ -2,32 +2,42 @@
|
|
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.65"
|
6
6
|
|
7
|
-
s.required_rubygems_version = Gem::Requirement.new(">=
|
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{2010-
|
9
|
+
s.date = %q{2010-06-10}
|
10
10
|
s.default_executable = %q{bin/rpwn}
|
11
|
-
s.description = %q{Rails deployment
|
11
|
+
s.description = %q{Rails deployment 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", "
|
16
|
-
s.files = ["bin/rpwn", "bin/rpwnctl", "bin/rpwndev", "
|
15
|
+
s.extra_rdoc_files = ["CHANGELOG", "LICENSE", "README", "bin/rpwn", "bin/rpwnctl", "bin/rpwndev", "ext/rpwn_setup_notice/extconf.rb", "lib/rails_pwnerer.rb", "lib/rails_pwnerer/app/cluster_config.rb", "lib/rails_pwnerer/app/config.rb", "lib/rails_pwnerer/app/db/mysql.rb", "lib/rails_pwnerer/app/files.rb", "lib/rails_pwnerer/app/gems.rb", "lib/rails_pwnerer/app/main.rb", "lib/rails_pwnerer/app/nginx_config.rb", "lib/rails_pwnerer/app/scripts.rb", "lib/rails_pwnerer/app/vcs/git.rb", "lib/rails_pwnerer/app/vcs/perforce.rb", "lib/rails_pwnerer/app/vcs/svn.rb", "lib/rails_pwnerer/base.rb", "lib/rails_pwnerer/base/atomics.rb", "lib/rails_pwnerer/base/cpus.rb", "lib/rails_pwnerer/base/dirs.rb", "lib/rails_pwnerer/base/gems.rb", "lib/rails_pwnerer/base/hostname.rb", "lib/rails_pwnerer/base/input.rb", "lib/rails_pwnerer/base/packages.rb", "lib/rails_pwnerer/base/process.rb", "lib/rails_pwnerer/base/rails.rb", "lib/rails_pwnerer/base/startup.rb", "lib/rails_pwnerer/config/app.rb", "lib/rails_pwnerer/config/frontends.rb", "lib/rails_pwnerer/config/main.rb", "lib/rails_pwnerer/config/paths.rb", "lib/rails_pwnerer/config/ports.rb", "lib/rails_pwnerer/config/repository.rb", "lib/rails_pwnerer/ctl_executor.rb", "lib/rails_pwnerer/dev_executor.rb", "lib/rails_pwnerer/executor.rb", "lib/rails_pwnerer/scaffolds/config.rb", "lib/rails_pwnerer/scaffolds/dir_permissions.rb", "lib/rails_pwnerer/scaffolds/dirs.rb", "lib/rails_pwnerer/scaffolds/gems.rb", "lib/rails_pwnerer/scaffolds/hook_daemon.rb", "lib/rails_pwnerer/scaffolds/hook_dyndns.rb", "lib/rails_pwnerer/scaffolds/mysql_config.rb", "lib/rails_pwnerer/scaffolds/packages.rb", "lib/rails_pwnerer/scaffolds/rubygems.rb", "lib/rails_pwnerer/scaffolds/sshd.rb", "lib/rails_pwnerer/util/kill_process_set.rb", "lib/rails_pwnerer/util/main.rb"]
|
16
|
+
s.files = ["CHANGELOG", "LICENSE", "Manifest", "README", "RUBYFORGE", "Rakefile", "bin/rpwn", "bin/rpwnctl", "bin/rpwndev", "ext/rpwn_setup_notice/extconf.rb", "lib/rails_pwnerer.rb", "lib/rails_pwnerer/app/cluster_config.rb", "lib/rails_pwnerer/app/config.rb", "lib/rails_pwnerer/app/db/mysql.rb", "lib/rails_pwnerer/app/files.rb", "lib/rails_pwnerer/app/gems.rb", "lib/rails_pwnerer/app/main.rb", "lib/rails_pwnerer/app/nginx_config.rb", "lib/rails_pwnerer/app/scripts.rb", "lib/rails_pwnerer/app/vcs/git.rb", "lib/rails_pwnerer/app/vcs/perforce.rb", "lib/rails_pwnerer/app/vcs/svn.rb", "lib/rails_pwnerer/base.rb", "lib/rails_pwnerer/base/atomics.rb", "lib/rails_pwnerer/base/cpus.rb", "lib/rails_pwnerer/base/dirs.rb", "lib/rails_pwnerer/base/gems.rb", "lib/rails_pwnerer/base/hostname.rb", "lib/rails_pwnerer/base/input.rb", "lib/rails_pwnerer/base/packages.rb", "lib/rails_pwnerer/base/process.rb", "lib/rails_pwnerer/base/rails.rb", "lib/rails_pwnerer/base/startup.rb", "lib/rails_pwnerer/config/app.rb", "lib/rails_pwnerer/config/frontends.rb", "lib/rails_pwnerer/config/main.rb", "lib/rails_pwnerer/config/paths.rb", "lib/rails_pwnerer/config/ports.rb", "lib/rails_pwnerer/config/repository.rb", "lib/rails_pwnerer/ctl_executor.rb", "lib/rails_pwnerer/dev_executor.rb", "lib/rails_pwnerer/executor.rb", "lib/rails_pwnerer/scaffolds/config.rb", "lib/rails_pwnerer/scaffolds/dir_permissions.rb", "lib/rails_pwnerer/scaffolds/dirs.rb", "lib/rails_pwnerer/scaffolds/gems.rb", "lib/rails_pwnerer/scaffolds/hook_daemon.rb", "lib/rails_pwnerer/scaffolds/hook_dyndns.rb", "lib/rails_pwnerer/scaffolds/mysql_config.rb", "lib/rails_pwnerer/scaffolds/packages.rb", "lib/rails_pwnerer/scaffolds/rubygems.rb", "lib/rails_pwnerer/scaffolds/sshd.rb", "lib/rails_pwnerer/util/kill_process_set.rb", "lib/rails_pwnerer/util/main.rb", "test/base_package_test.rb", "test/helper.rb", "rails_pwnerer.gemspec"]
|
17
17
|
s.homepage = %q{http://www.costan.us/rails_pwnage}
|
18
18
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Rails_pwnerer", "--main", "README"]
|
19
19
|
s.require_paths = ["lib", "ext"]
|
20
20
|
s.rubyforge_project = %q{rails-pwnage}
|
21
21
|
s.rubygems_version = %q{1.3.7}
|
22
|
-
s.summary = %q{Rails deployment
|
22
|
+
s.summary = %q{Rails deployment hack.}
|
23
|
+
s.test_files = ["test/base_package_test.rb"]
|
23
24
|
|
24
25
|
if s.respond_to? :specification_version then
|
25
26
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
26
27
|
s.specification_version = 3
|
27
28
|
|
28
29
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
30
|
+
s.add_development_dependency(%q<echoe>, [">= 0"])
|
31
|
+
s.add_development_dependency(%q<fakefs>, [">= 0"])
|
32
|
+
s.add_development_dependency(%q<flexmock>, [">= 0"])
|
29
33
|
else
|
34
|
+
s.add_dependency(%q<echoe>, [">= 0"])
|
35
|
+
s.add_dependency(%q<fakefs>, [">= 0"])
|
36
|
+
s.add_dependency(%q<flexmock>, [">= 0"])
|
30
37
|
end
|
31
38
|
else
|
39
|
+
s.add_dependency(%q<echoe>, [">= 0"])
|
40
|
+
s.add_dependency(%q<fakefs>, [">= 0"])
|
41
|
+
s.add_dependency(%q<flexmock>, [">= 0"])
|
32
42
|
end
|
33
43
|
end
|