stratocumulus 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.coveralls.yml +1 -0
- data/README.md +32 -1
- data/bin/stratocumulus +0 -12
- data/lib/stratocumulus/cli.rb +12 -0
- data/lib/stratocumulus/version.rb +1 -1
- data/lib/stratocumulus.rb +1 -0
- data/spec/spec_helper.rb +11 -0
- data/spec/unit/cli_spec.rb +17 -0
- data/stratocumulus.gemspec +3 -0
- metadata +55 -3
data/.coveralls.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
service_name: travis-ci
|
data/README.md
CHANGED
@@ -1,4 +1,9 @@
|
|
1
1
|
# Stratocumulus
|
2
|
+
[![Build Status](https://travis-ci.org/reevoo/stratocumulus.svg?branch=master)](https://travis-ci.org/reevoo/stratocumulus)
|
3
|
+
[![Coverage Status](https://coveralls.io/repos/reevoo/stratocumulus/badge.png)](https://coveralls.io/r/reevoo/stratocumulus)
|
4
|
+
[![Code Climate](https://codeclimate.com/github/reevoo/stratocumulus.png)](https://codeclimate.com/github/reevoo/stratocumulus)
|
5
|
+
[![Gem Version](https://badge.fury.io/rb/stratocumulus.svg)](http://badge.fury.io/rb/stratocumulus)
|
6
|
+
|
2
7
|
|
3
8
|
Stratocumulus is for backing up databases to cloud storage
|
4
9
|
|
@@ -8,7 +13,33 @@ Stratocumulus is for backing up databases to cloud storage
|
|
8
13
|
|
9
14
|
## Usage
|
10
15
|
|
11
|
-
|
16
|
+
$ stratocumulus backup /path/to/config.yml
|
17
|
+
|
18
|
+
```YAML
|
19
|
+
s3:
|
20
|
+
access_key_id: KEY_ID
|
21
|
+
secret_access_key: SECRET_KEY
|
22
|
+
bucket: database-backups
|
23
|
+
region: eu-west-1 # defaults to us-east-1
|
24
|
+
databases:
|
25
|
+
-
|
26
|
+
type: mysql
|
27
|
+
name: database_name
|
28
|
+
storage: s3
|
29
|
+
username: database_user # defaults to root
|
30
|
+
password: database_pass # defaults to no password
|
31
|
+
host: db1.example.com # defaults to localhost
|
32
|
+
port: 3306 # defaults to 3306
|
33
|
+
-
|
34
|
+
type: mysql
|
35
|
+
name: some_other_database
|
36
|
+
storage: s3
|
37
|
+
```
|
38
|
+
## Dependencies
|
39
|
+
|
40
|
+
* mysqldump
|
41
|
+
* gzip
|
42
|
+
* Ruby, (tested on mri 1.9.3, 2.0.0 and 2.1.2)
|
12
43
|
|
13
44
|
## Contributing
|
14
45
|
|
data/bin/stratocumulus
CHANGED
@@ -1,17 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
# encoding: UTF-8
|
3
|
-
|
4
|
-
require 'thor'
|
5
3
|
require 'stratocumulus'
|
6
4
|
|
7
|
-
module Stratocumulus
|
8
|
-
class Cli < Thor
|
9
|
-
desc 'backup CONFIG',
|
10
|
-
'runs a stratocumulus backup as specified in the config file'
|
11
|
-
def backup(config)
|
12
|
-
Stratocumulus::Runner.new(config).run
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
5
|
Stratocumulus::Cli.start
|
data/lib/stratocumulus.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -1,4 +1,15 @@
|
|
1
1
|
# encoding: UTF-8
|
2
|
+
require 'simplecov'
|
3
|
+
require 'coveralls'
|
4
|
+
|
5
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
6
|
+
SimpleCov::Formatter::HTMLFormatter,
|
7
|
+
Coveralls::SimpleCov::Formatter
|
8
|
+
]
|
9
|
+
|
10
|
+
SimpleCov.start do
|
11
|
+
minimum_coverage 100
|
12
|
+
end
|
2
13
|
|
3
14
|
require 'bundler/setup'
|
4
15
|
Bundler.setup
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Stratocumulus::Cli do
|
5
|
+
describe '#backups' do
|
6
|
+
let(:runner) { double }
|
7
|
+
|
8
|
+
it 'calls the runner with the path' do
|
9
|
+
expect(Stratocumulus::Runner).to receive(:new)
|
10
|
+
.with('/path/to/config.yml').and_return(runner)
|
11
|
+
|
12
|
+
expect(runner).to receive(:run)
|
13
|
+
|
14
|
+
subject.backup '/path/to/config.yml'
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/stratocumulus.gemspec
CHANGED
@@ -19,8 +19,11 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
|
21
21
|
spec.add_dependency 'fog', '~> 1.22'
|
22
|
+
spec.add_dependency 'thor', '~> 0.19.1'
|
22
23
|
spec.add_development_dependency 'bundler', '~> 1.5'
|
23
24
|
spec.add_development_dependency 'rake'
|
24
25
|
spec.add_development_dependency 'rubocop'
|
25
26
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
27
|
+
spec.add_development_dependency 'coveralls'
|
28
|
+
spec.add_development_dependency 'simplecov'
|
26
29
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stratocumulus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -27,6 +27,22 @@ dependencies:
|
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '1.22'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: thor
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 0.19.1
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.19.1
|
30
46
|
- !ruby/object:Gem::Dependency
|
31
47
|
name: bundler
|
32
48
|
requirement: !ruby/object:Gem::Requirement
|
@@ -91,6 +107,38 @@ dependencies:
|
|
91
107
|
- - ~>
|
92
108
|
- !ruby/object:Gem::Version
|
93
109
|
version: '3.0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: coveralls
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: simplecov
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
134
|
+
type: :development
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
94
142
|
description: Backup Databases to Cloud Storage
|
95
143
|
email:
|
96
144
|
- ed.robinson@reevoo.com
|
@@ -99,6 +147,7 @@ executables:
|
|
99
147
|
extensions: []
|
100
148
|
extra_rdoc_files: []
|
101
149
|
files:
|
150
|
+
- .coveralls.yml
|
102
151
|
- .gitignore
|
103
152
|
- .rspec
|
104
153
|
- .rubocop.yml
|
@@ -109,6 +158,7 @@ files:
|
|
109
158
|
- Rakefile
|
110
159
|
- bin/stratocumulus
|
111
160
|
- lib/stratocumulus.rb
|
161
|
+
- lib/stratocumulus/cli.rb
|
112
162
|
- lib/stratocumulus/database.rb
|
113
163
|
- lib/stratocumulus/ext/io.rb
|
114
164
|
- lib/stratocumulus/runner.rb
|
@@ -119,6 +169,7 @@ files:
|
|
119
169
|
- spec/spec_helper.rb
|
120
170
|
- spec/support/test.sql
|
121
171
|
- spec/support/test_config_file.yml
|
172
|
+
- spec/unit/cli_spec.rb
|
122
173
|
- spec/unit/database_spec.rb
|
123
174
|
- spec/unit/runner_spec.rb
|
124
175
|
- spec/unit/storage_spec.rb
|
@@ -138,7 +189,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
138
189
|
version: '0'
|
139
190
|
segments:
|
140
191
|
- 0
|
141
|
-
hash:
|
192
|
+
hash: -3829672677026677809
|
142
193
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
143
194
|
none: false
|
144
195
|
requirements:
|
@@ -147,7 +198,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
147
198
|
version: '0'
|
148
199
|
segments:
|
149
200
|
- 0
|
150
|
-
hash:
|
201
|
+
hash: -3829672677026677809
|
151
202
|
requirements: []
|
152
203
|
rubyforge_project:
|
153
204
|
rubygems_version: 1.8.25
|
@@ -160,6 +211,7 @@ test_files:
|
|
160
211
|
- spec/spec_helper.rb
|
161
212
|
- spec/support/test.sql
|
162
213
|
- spec/support/test_config_file.yml
|
214
|
+
- spec/unit/cli_spec.rb
|
163
215
|
- spec/unit/database_spec.rb
|
164
216
|
- spec/unit/runner_spec.rb
|
165
217
|
- spec/unit/storage_spec.rb
|