archivault 0.2.0 → 0.2.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eaf47c3cfc367a25c1ea685a22229738230844f458187e7094bbb1892a80c67d
4
- data.tar.gz: ce10a4fa42f6c2e9b2a52938f11884e82828351ccfedb540bce4402b747334a3
3
+ metadata.gz: 2c3fafb7a999944ce6e513420f1e90a1f842a7460c6364d69b71a9d6158b8453
4
+ data.tar.gz: 325edbcd21420a5079857f8e317a292587787579d3580e819c6da8dc93cac5ce
5
5
  SHA512:
6
- metadata.gz: ca08c17fb2a4f21a0bc2e200fe9ea931b60b5057856b38e2725fe57b2de37f424a35f2cb181052f4dda613a1f45547fd10fc08ba04ce27d3135a02c5dd404109
7
- data.tar.gz: c1ab9e98d5b9ca7072d18cfe352f32d2074f6401c28b5c199cab83a9d9f076a8e186878ce63466ae823aaa87cd79142a75fcb464f358054349978403e1227e3e
6
+ metadata.gz: 7901b70a33e62c64bce142a02437a2ffbe520249b56ccc899403e2068f7e34fdb5c23189af5c9d65c9c0ba7e5844d04bcbf088a3b095bf28054b12d82edc709f
7
+ data.tar.gz: e6e05ca1b5671138ad04ab9a1f349cf4401912e7c22816b49826f0a740f63105be7178b0305275be7e3505086e9adda48c75bce2ee11683b5b20e931f2f7d511
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.2.1] - 2026-09-03
4
+
5
+ - Allow custom database backup filename prefixes
6
+
3
7
  ## [0.2.0] - 2026-04-10
4
8
 
5
9
  - Add PostgresqlBackup
data/README.md CHANGED
@@ -32,8 +32,9 @@ s3_setup = {
32
32
  bucket: "bucket"
33
33
  }
34
34
  ping_url = "https://example.com/ping" # optional parameter
35
+ filename = "production" # optional prefix; timestamp is appended
35
36
 
36
- Archivault::SqliteBackup.new(database_path:, gpg_passphrase:, s3_setup:, ping_url:).call
37
+ Archivault::SqliteBackup.new(database_path:, gpg_passphrase:, s3_setup:, ping_url:, filename:).call
37
38
  ```
38
39
 
39
40
  ### PostgreSQL database backup
@@ -48,8 +49,9 @@ s3_setup = {
48
49
  bucket: "bucket"
49
50
  }
50
51
  ping_url = "https://example.com/ping" # optional parameter
52
+ filename = "production" # optional prefix; timestamp is appended
51
53
 
52
- Archivault::PostgresqlBackup.new(database_url:, gpg_passphrase:, s3_setup:, ping_url:).call
54
+ Archivault::PostgresqlBackup.new(database_url:, gpg_passphrase:, s3_setup:, ping_url:, filename:).call
53
55
  ```
54
56
 
55
57
  ### Logs backup
@@ -86,7 +88,8 @@ Archivault::LogsBackup.new(log_path_or_paths:, gpg_passphrase:, s3_setup:, ping_
86
88
  # bucket: bucket
87
89
  params = {
88
90
  database_path: Rails.root.join("storage/production.sqlite3"),
89
- ping_url: "https://example.com/ping" # optional parameter
91
+ ping_url: "https://example.com/ping", # optional parameter
92
+ filename: "production" # optional prefix; timestamp is appended
90
93
  }.merge(Rails.application.credentials.archivault)
91
94
  Archivault::SqliteBackup.new(**params).call
92
95
  ```
@@ -104,7 +107,8 @@ Archivault::SqliteBackup.new(**params).call
104
107
  # bucket: bucket
105
108
  params = {
106
109
  database_url: ENV["DATABASE_URL"],
107
- ping_url: "https://example.com/ping" # optional parameter
110
+ ping_url: "https://example.com/ping", # optional parameter
111
+ filename: "production" # optional prefix; timestamp is appended
108
112
  }.merge(Rails.application.credentials.archivault)
109
113
  Archivault::PostgresqlBackup.new(**params).call
110
114
  ```
@@ -10,7 +10,8 @@ module Archivault
10
10
  # - access_key_id: AWS access key ID
11
11
  # - secret_access_key: AWS secret access key
12
12
  # - bucket: S3 bucket name
13
- def initialize(database_url:, gpg_passphrase:, s3_setup:, ping_url: nil)
13
+ # - filename: Filename prefix for the backup (defaults to database)
14
+ def initialize(database_url:, gpg_passphrase:, s3_setup:, ping_url: nil, filename: nil)
14
15
  @database_url = database_url.to_s
15
16
  @gpg_passphrase = gpg_passphrase.to_s
16
17
  @s3_setup = s3_setup
@@ -18,8 +19,9 @@ module Archivault
18
19
 
19
20
  @timestamp = Timestamp.new.timestamp
20
21
  @tmp_path = Tmp.new.path
21
- @backup_path = "#{@tmp_path}/database-#{@timestamp}.dump"
22
- @tar_path = "#{@tmp_path}/database-#{@timestamp}.tgz"
22
+ backup_filename = "#{filename || "database"}-#{@timestamp}"
23
+ @backup_path = "#{@tmp_path}/#{backup_filename}.dump"
24
+ @tar_path = "#{@tmp_path}/#{backup_filename}.tgz"
23
25
  @gpg_path = "#{@tar_path}.gpg"
24
26
  end
25
27
 
@@ -10,7 +10,8 @@ module Archivault
10
10
  # - access_key_id: AWS access key ID
11
11
  # - secret_access_key: AWS secret access key
12
12
  # - bucket: S3 bucket name
13
- def initialize(database_path:, gpg_passphrase:, s3_setup:, ping_url: nil)
13
+ # - filename: Filename prefix for the backup (defaults to database)
14
+ def initialize(database_path:, gpg_passphrase:, s3_setup:, ping_url: nil, filename: nil)
14
15
  @database_path = database_path.to_s
15
16
  @gpg_passphrase = gpg_passphrase.to_s
16
17
  @s3_setup = s3_setup
@@ -18,8 +19,9 @@ module Archivault
18
19
 
19
20
  @timestamp = Timestamp.new.timestamp
20
21
  @tmp_path = Tmp.new.path
21
- @backup_path = "#{@tmp_path}/database-#{@timestamp}.sqlite3"
22
- @tar_path = "#{@tmp_path}/database-#{@timestamp}.tgz"
22
+ backup_filename = "#{filename || "database"}-#{@timestamp}"
23
+ @backup_path = "#{@tmp_path}/#{backup_filename}.sqlite3"
24
+ @tar_path = "#{@tmp_path}/#{backup_filename}.tgz"
23
25
  @gpg_path = "#{@tar_path}.gpg"
24
26
  end
25
27
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Archivault
4
- VERSION = "0.2.0"
4
+ VERSION = "0.2.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: archivault
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Macuk