bard-backup 0.3.1 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/bard/backup/controller.rb +1 -1
- data/lib/bard/backup/s3_dir.rb +9 -3
- data/lib/bard/backup/version.rb +1 -1
- data/lib/bard/backup.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 452af7bfaa1d38372eb29a727e0b78200d479cb8f3eec98088aad4734bfae827
|
4
|
+
data.tar.gz: 7408415418eda357aceda59944720a63e50d19f10f34b29d43b2709ec713fd2e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c16a1f42236bfc41d42a68db41b1e7e806c737508a0b7b0aac5c87984107d5e77fd1446445b4daf1ba460c24e7ac6870eb62e612d49091febf74902325e3e22
|
7
|
+
data.tar.gz: cb10ae30ececa98bbf031ed4a6500cde3b73a5a1564891d39a517f4c7f252da27108432ba50cabf894160c81e489cbcf84d28c6fc592daf6f2d8cb21f7c4825d
|
data/README.md
CHANGED
@@ -9,7 +9,7 @@ Bard::Backup does 3 things in a bard project
|
|
9
9
|
|
10
10
|
## Usage
|
11
11
|
|
12
|
-
Run with `Bard::Backup.call s3_path, access_key: "...", secret_key: "..."`
|
12
|
+
Run with `Bard::Backup.call s3_path, access_key: "...", secret_key: "...", region: "..."`
|
13
13
|
|
14
14
|
Or just run via the `bard-rake` gem: `rake db:backup`, which wires up the above for you.
|
15
15
|
|
data/lib/bard/backup/s3_dir.rb
CHANGED
@@ -3,7 +3,7 @@ require "rexml"
|
|
3
3
|
|
4
4
|
module Bard
|
5
5
|
module Backup
|
6
|
-
class S3Dir < Data.define(:path, :access_key, :secret_key)
|
6
|
+
class S3Dir < Data.define(:path, :access_key, :secret_key, :region)
|
7
7
|
def keys
|
8
8
|
response = client.list_objects_v2({
|
9
9
|
bucket: bucket_name,
|
@@ -16,11 +16,16 @@ module Bard
|
|
16
16
|
def put file_path, body: File.read(file_path)
|
17
17
|
client.put_object({
|
18
18
|
bucket: bucket_name,
|
19
|
-
key:
|
19
|
+
key: [folder_prefix, File.basename(file_path)].compact.join("/"),
|
20
20
|
body: body,
|
21
21
|
})
|
22
22
|
end
|
23
23
|
|
24
|
+
def mv file_path, body: File.read(file_path)
|
25
|
+
put file_path, body: body
|
26
|
+
FileUtils.rm file_path
|
27
|
+
end
|
28
|
+
|
24
29
|
def delete keys
|
25
30
|
return if keys.empty?
|
26
31
|
objects_to_delete = Array(keys).map { |key| { key: key } }
|
@@ -44,6 +49,7 @@ module Bard
|
|
44
49
|
end
|
45
50
|
|
46
51
|
def folder_prefix
|
52
|
+
return nil if !path.include?("/")
|
47
53
|
path.split("/")[1..].join("/")
|
48
54
|
end
|
49
55
|
|
@@ -51,7 +57,7 @@ module Bard
|
|
51
57
|
|
52
58
|
def client
|
53
59
|
Aws::S3::Client.new({
|
54
|
-
region:
|
60
|
+
region: region,
|
55
61
|
access_key_id: access_key,
|
56
62
|
secret_access_key: secret_key,
|
57
63
|
})
|
data/lib/bard/backup/version.rb
CHANGED
data/lib/bard/backup.rb
CHANGED
@@ -5,9 +5,9 @@ require "backhoe"
|
|
5
5
|
|
6
6
|
module Bard
|
7
7
|
module Backup
|
8
|
-
def self.call s3_path, access_key:, secret_key:, now: Time.now.utc
|
8
|
+
def self.call s3_path, access_key:, secret_key:, region: "us-west-2", now: Time.now.utc
|
9
9
|
dumper = Backhoe
|
10
|
-
s3_dir = S3Dir.new(path: s3_path, access_key:, secret_key:)
|
10
|
+
s3_dir = S3Dir.new(path: s3_path, access_key:, secret_key:, region:)
|
11
11
|
Controller.new(dumper, s3_dir, now).call
|
12
12
|
Deleter.new(s3_dir, now).call
|
13
13
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bard-backup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Micah Geisel
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-08-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: backhoe
|