mongolly 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -12,7 +12,7 @@ module Mongolly
12
12
  super
13
13
  @config = read_config
14
14
  @db_name, @db_config = database_config
15
- # exit unless valid_config?
15
+ exit unless valid_config?
16
16
  end
17
17
 
18
18
  CONFIG_PATH = File.expand_path '~/.mongolly'
@@ -26,7 +26,7 @@ module Mongolly
26
26
  SnapshotManager.take_snapshots( db, @config["aws_access_key_id"], @config["aws_secret_access_key"], @db_config["region"], @db_config["volumes"] )
27
27
  end
28
28
 
29
- desc "clean", "removes snapshots older than the given date"
29
+ desc "clean", "removes snapshots older than the given data"
30
30
  method_option :maximum_age, aliases: '-a', required: true
31
31
  method_option :database, aliases: '-d'
32
32
  def clean
@@ -45,40 +45,6 @@ module Mongolly
45
45
  end
46
46
  end
47
47
 
48
-
49
- desc "restore", "starts a new instance a builds for restore"
50
- method_option :database, aliases: '-d'
51
- method_option :backup_key, aliases: '-k', required: true
52
- method_option :ssh_keypair, aliases: '-s', required: true
53
- def restore
54
- mongo_ami = {
55
- "us-east-1" => "ami-e565ba8c",
56
- "us-west-2" => "ami-3ac64a0a",
57
- "us-west-1" => "ami-e78cd4a2",
58
- "eu-west-1" => "ami-f9231b8d",
59
- "ap-southeast-1" => "ami-be3374ec",
60
- "ap-northeast-1" => "ami-e47acbe5",
61
- "sa-east-1" => "ami-a6855bbb"
62
- }
63
-
64
- ec2 = AWS::EC2.new(access_key_id: @config["aws_access_key_id"], secret_access_key: @config["aws_secret_access_key"]).regions[@db_config["region"]]
65
-
66
- snapshots = ec2.snapshots.with_owner(:self).tagged_values(options[:backup_key])
67
- raise RuntimeError.new("No snapshots found for backup_key #{options[:backup_key]}") if snapshots.count == 0
68
-
69
- snapshots = Hash[*snapshots.each_with_index.map { |snapshot, i| ["/dev/sdh#{i+1}", {snapshot_id: snapshot.id}] }.flatten]
70
-
71
- instance = ec2.instances.run(image_id: mongo_ami[@db_config["region"]],
72
- key_name: options[:ssh_keypair],
73
- block_device_mappings: snapshots
74
- )
75
- sleep 10 # Seems to be a race condition when creating the new instance
76
-
77
- sleep 5 while instance.status == :pending
78
- sleep 10 # Give the network interface time to come up
79
- puts "Instance Status: #{instance.status}. IP: #{instance.elastic_ip}"
80
- end
81
-
82
48
  private
83
49
  def seed_config
84
50
  return true if File.exists? CONFIG_PATH
@@ -1,3 +1,3 @@
1
1
  module Mongolly
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
@@ -18,8 +18,9 @@ Gem::Specification.new do |gem|
18
18
  gem.require_paths = ["lib"]
19
19
 
20
20
  gem.add_dependency("thor", ["~> 0.15.4"])
21
- gem.add_dependency("mongo", ["~> 1.7.0"])
22
- gem.add_dependency("bson_ext", ["~> 1.7.0"])
21
+ gem.add_dependency("mongo", ["~> 1.8.3"])
22
+ gem.add_dependency("bson_ext", ["~> 1.8.3"])
23
23
  gem.add_dependency("aws-sdk", ["~> 1.5.8"])
24
+ gem.add_dependency("debugger")
24
25
 
25
26
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongolly
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-11 00:00:00.000000000 Z
12
+ date: 2013-03-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor
@@ -34,7 +34,7 @@ dependencies:
34
34
  requirements:
35
35
  - - ~>
36
36
  - !ruby/object:Gem::Version
37
- version: 1.7.0
37
+ version: 1.8.3
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
@@ -42,7 +42,7 @@ dependencies:
42
42
  requirements:
43
43
  - - ~>
44
44
  - !ruby/object:Gem::Version
45
- version: 1.7.0
45
+ version: 1.8.3
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: bson_ext
48
48
  requirement: !ruby/object:Gem::Requirement
@@ -50,7 +50,7 @@ dependencies:
50
50
  requirements:
51
51
  - - ~>
52
52
  - !ruby/object:Gem::Version
53
- version: 1.7.0
53
+ version: 1.8.3
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
@@ -58,7 +58,7 @@ dependencies:
58
58
  requirements:
59
59
  - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: 1.7.0
61
+ version: 1.8.3
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: aws-sdk
64
64
  requirement: !ruby/object:Gem::Requirement
@@ -75,6 +75,22 @@ dependencies:
75
75
  - - ~>
76
76
  - !ruby/object:Gem::Version
77
77
  version: 1.5.8
78
+ - !ruby/object:Gem::Dependency
79
+ name: debugger
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
78
94
  description: Easy backups for EBS-based MongoDB Databases
79
95
  email:
80
96
  - m@saffitz.com
@@ -113,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
113
129
  version: '0'
114
130
  requirements: []
115
131
  rubyforge_project:
116
- rubygems_version: 1.8.24
132
+ rubygems_version: 1.8.23
117
133
  signing_key:
118
134
  specification_version: 3
119
135
  summary: Easy backups for EBS-based MongoDB Databases