rails_pwnerer 0.6.38 → 0.6.39
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/README +3 -0
- data/lib/pwnage/app/db/mysql.rb +3 -0
- data/lib/pwnage/app/files.rb +3 -0
- data/lib/pwnage/app/main.rb +7 -0
- data/lib/pwnage/app/vcs/git.rb +1 -0
- data/lib/pwnage/app/vcs/svn.rb +1 -0
- data/lib/pwnage/executor.rb +5 -1
- data/rails_pwnerer.gemspec +2 -2
- metadata +2 -2
data/CHANGELOG
CHANGED
data/README
CHANGED
@@ -70,6 +70,9 @@ sudo rpwn backup your_application
|
|
70
70
|
* Restore from the latest backup:
|
71
71
|
sudo rpwn restore your_application
|
72
72
|
|
73
|
+
* Restore the database (but not the application files) from the latest backup:
|
74
|
+
sudo rpwn restore_db your_application
|
75
|
+
|
73
76
|
* Poke around your application using the Rails console:
|
74
77
|
rpwn console your_application
|
75
78
|
|
data/lib/pwnage/app/db/mysql.rb
CHANGED
@@ -119,6 +119,9 @@ ENDSQL
|
|
119
119
|
Dir.chdir app_config[:backup_path] do
|
120
120
|
# find the latest dump and load it in
|
121
121
|
dump_file = Dir.glob("db/#{app_name}.#{instance_name}_*").max
|
122
|
+
unless dump_file
|
123
|
+
dump_file = Dir.glob("db/#{app_name}.*").max
|
124
|
+
end
|
122
125
|
Kernel.system "mysql -u#{db_user} -p#{db_pass} #{db_name} < #{dump_file}"
|
123
126
|
end
|
124
127
|
end
|
data/lib/pwnage/app/files.rb
CHANGED
@@ -61,6 +61,9 @@ class RailsPwnage::App::Files
|
|
61
61
|
app_path = RailsPwnage::Config[app_name, instance_name][:app_path]
|
62
62
|
|
63
63
|
dump_file = Dir.glob(File.join(backup_path, "files/#{app_name}.#{instance_name}_*")).max
|
64
|
+
unless dump_file
|
65
|
+
dump_file = Dir.glob(File.join(backup_path, "files/#{app_name}.*")).max
|
66
|
+
end
|
64
67
|
restore_path = Pathname.new(File.join(app_path, '..')).cleanpath.to_s
|
65
68
|
Dir.chdir restore_path do
|
66
69
|
# find the latest dump and load it in
|
data/lib/pwnage/app/main.rb
CHANGED
@@ -98,6 +98,13 @@ module RailsPwnage::App
|
|
98
98
|
mod.new.manage app, instance, action
|
99
99
|
end
|
100
100
|
end
|
101
|
+
when :rollback_db
|
102
|
+
self.update_app app, instance do
|
103
|
+
[Database, ClusterConfig].each do |mod|
|
104
|
+
mod.new.manage app, instance, :rollback
|
105
|
+
end
|
106
|
+
Database.new.manage app, instance, :update
|
107
|
+
end
|
101
108
|
when :rekey
|
102
109
|
self.update_app app, instance do
|
103
110
|
[Config, Database].each do |mod|
|
data/lib/pwnage/app/vcs/git.rb
CHANGED
@@ -68,6 +68,7 @@ class RailsPwnage::App::Git
|
|
68
68
|
app_path = RailsPwnage::Config[app_name, instance_name][:app_path]
|
69
69
|
|
70
70
|
FileUtils.rm_rf app_path
|
71
|
+
print "Doing Git clone, please enter your password if prompted...\n"
|
71
72
|
system "git clone #{git_repository} #{app_path}"
|
72
73
|
FileUtils.mkpath app_path unless File.exists? app_path
|
73
74
|
Dir.chdir app_path do
|
data/lib/pwnage/app/vcs/svn.rb
CHANGED
@@ -61,6 +61,7 @@ class RailsPwnage::App::Svn
|
|
61
61
|
app_path = RailsPwnage::Config[app_name, instance_name][:app_path]
|
62
62
|
return :next unless remote_path =~ /svn.*\:\/\//
|
63
63
|
|
64
|
+
print "Doing SVN checkout, please enter your password if prompted...\n"
|
64
65
|
system "svn co #{remote_path} #{app_path}"
|
65
66
|
|
66
67
|
# check that we really checked out a Rails app
|
data/lib/pwnage/executor.rb
CHANGED
@@ -77,10 +77,14 @@ class RailsPwnage::Executor
|
|
77
77
|
app_name = args[1]
|
78
78
|
instance_name = args[2] || '.'
|
79
79
|
RailsPwnage::App.manage app_name, instance_name, :checkpoint
|
80
|
-
when 'restore', '
|
80
|
+
when 'restore', 'rollback'
|
81
81
|
app_name = args[1]
|
82
82
|
instance_name = args[2] || '.'
|
83
83
|
RailsPwnage::App.manage app_name, instance_name, :rollback
|
84
|
+
when 'restoredb', 'rollbackdb', 'restore_db', 'rollback_db'
|
85
|
+
app_name = args[1]
|
86
|
+
instance_name = args[2] || '.'
|
87
|
+
RailsPwnage::App.manage app_name, instance_name, :rollback_db
|
84
88
|
when 'console'
|
85
89
|
app_name = args[1]
|
86
90
|
instance_name = args[2] || '.'
|
data/rails_pwnerer.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
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.39"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Victor Costan"]
|
9
|
-
s.date = %q{2009-03-
|
9
|
+
s.date = %q{2009-03-28}
|
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}
|
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.39
|
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: 2009-03-
|
12
|
+
date: 2009-03-28 00:00:00 -04:00
|
13
13
|
default_executable: bin/rpwn
|
14
14
|
dependencies: []
|
15
15
|
|