pgchief 0.5.0 → 0.5.2

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: adccab6ee77468761bf0d05d12954f7b0360547b95f5295797b911ed80f731e2
4
- data.tar.gz: 2a4ae39f43e0da9913f252e70e0583d0e21dd45e48931e94a62c309298d287f8
3
+ metadata.gz: 613ce14b91c64d69a6fa16449f8ea8aa2a3dfcab054684efaefe978eaae0f564
4
+ data.tar.gz: 7116499bc9a4ea6e30b850bbe07e953e7068b7c2b8c03b32daef87dde6fe0061
5
5
  SHA512:
6
- metadata.gz: 7dea359e077b5c473c7df21e53067954dee0c426df76b8a375a026a3976593dbdd4024c6582650a2fbe1404a34affb1030fe0065842065ad594119cd3f757ace
7
- data.tar.gz: 3b16494cea09736f6b2c16e55d2c5054898a6f023bf06b8862585313617104dc858e98750397baf6b606126aaf2f5bb109f9f02fbf11699b281bdeefd6c41c38
6
+ metadata.gz: 3725ab140a34f5e8c41fb13e9c737835a96ca440d2519ee377991921af672109321984e8d089813be6042af732642a4c94127da2d8873d1214f32c0073583299
7
+ data.tar.gz: f560244827039f3258151f2e8e573b5d4584847cd5ddccf84e085b00104f21b45fa77af1c6a85df54d8ee2ace45a5915d4240ef06ee24ae5714625072eb5ec46
data/CHANGELOG.md CHANGED
@@ -13,18 +13,39 @@ and this project will try its best to adhere to [Semantic Versioning](https://se
13
13
 
14
14
  ### Fixes
15
15
 
16
+ ## [0.5.2]
17
+
18
+ ### Changes
19
+
20
+ * Change S3 config option `s3_path_prefix` to `s3_objects_path`.
21
+ * Above change retains backwards compatibility with the old `s3_path_prefix` option.
22
+
23
+ ### Fixes
24
+
25
+ * Fix S3 regex to allow `-` in the path.
26
+
27
+ ## [0.5.1]
28
+
29
+ ### Changes
30
+
31
+ * Update README to note that libpq-dev is a required dependency in order to build.
32
+
33
+ ### Fixes
34
+
35
+ * Remove `pry` from being required.
36
+
16
37
  ## [0.5.0]
17
38
 
18
39
  ### Additions
19
40
 
20
- * Restore database from local file(s)
21
- * Restore database from s3
41
+ * Restore database from local file(s).
42
+ * Restore database from s3.
22
43
 
23
44
  ## [0.4.0]
24
45
 
25
46
  ### Changes
26
47
 
27
- * Clean up the config object
48
+ * Clean up the config object.
28
49
 
29
50
  ### Additions
30
51
 
@@ -33,7 +54,7 @@ and this project will try its best to adhere to [Semantic Versioning](https://se
33
54
  ### Fixes
34
55
 
35
56
  * Capture error where the config file does not exist and provide some guidance.
36
- * Make a `PG::ConnectionBad` error a little less scary(?)
57
+ * Make a `PG::ConnectionBad` error a little less scary(?).
37
58
  * Do not inherit the base `Command` class in `ConfigCreate`. It doesn't need to connect to the DB.
38
59
 
39
60
  ## [0.3.1]
@@ -53,24 +74,24 @@ and this project will try its best to adhere to [Semantic Versioning](https://se
53
74
 
54
75
  ### Additions
55
76
 
56
- - Refactor `exe/pgchief` to utilize `TTY::Option` for kicking off config initialization
57
- - `pgchief --init` now creates a toml config file in your `$HOME`
77
+ - Refactor `exe/pgchief` to utilize `TTY::Option` for kicking off config initialization.
78
+ - `pgchief --init` now creates a toml config file in your `$HOME`.
58
79
  - Added ability to store credentials if your config sets `credentials_file`
59
- when db's and users are created
80
+ when db's and users are created.
60
81
  - Added `ConnectionString` class that abstracts the base db connection,
61
- allowing for additions of users and db's
62
- - Load everything in the config file to the Config attributes
82
+ allowing for additions of users and db's.
83
+ - Load everything in the config file to the Config attributes.
63
84
 
64
85
  ### Changes
65
86
 
66
- - Default location of config changed from `~/.pgchief.toml` to `~/.config/pgchief/config.toml`
67
- - Automatically require 'pry' in the test suite
87
+ - Default location of config changed from `~/.pgchief.toml` to `~/.config/pgchief/config.toml`.
88
+ - Automatically require 'pry' in the test suite.
68
89
 
69
90
  ### Fixes
70
91
 
71
92
  - When dropping user, ignore whenever a database has no privileges for the
72
- selected user
73
- - Retroactive addition of tests to cover any regressions
93
+ selected user.
94
+ - Retroactive addition of tests to cover any regressions.
74
95
 
75
96
  ## [0.2.0] - 2024-08-30
76
97
 
@@ -98,7 +119,10 @@ and this project will try its best to adhere to [Semantic Versioning](https://se
98
119
  - Drop user ✅
99
120
  - List databases ✅
100
121
 
101
- [Unreleased]: https://github.com/jayroh/pgchief/compare/v0.4.0...HEAD
122
+ [Unreleased]: https://github.com/jayroh/pgchief/compare/v0.5.2...HEAD
123
+ [0.5.2]: https://github.com/jayroh/pgchief/releases/tag/v0.5.2
124
+ [0.5.1]: https://github.com/jayroh/pgchief/releases/tag/v0.5.1
125
+ [0.5.0]: https://github.com/jayroh/pgchief/releases/tag/v0.5.0
102
126
  [0.4.0]: https://github.com/jayroh/pgchief/releases/tag/v0.4.0
103
127
  [0.3.1]: https://github.com/jayroh/pgchief/releases/tag/v0.3.1
104
128
  [0.3.0]: https://github.com/jayroh/pgchief/releases/tag/v0.3.0
data/README.md CHANGED
@@ -24,6 +24,7 @@ below for the feature check-list and current progress.
24
24
  ## Usage
25
25
 
26
26
  ```sh
27
+ # System dependency `libpq-dev` must be installed
27
28
  gem install pgchief
28
29
 
29
30
  # To initialize the config file at `~/.config/pgchief/config.toml`:
@@ -136,3 +137,5 @@ Give "rando-username" access to database(s):
136
137
  * [x] Restore remote database @ S3
137
138
  * [ ] Quickly back up via command line option
138
139
  * [ ] Quickly restore via command line option
140
+ * [ ] Task for inclusion in a Rakefile
141
+ * [ ] Support environment variables in config
data/config/pgchief.toml CHANGED
@@ -13,4 +13,4 @@ backup_dir = "~/.config/pgchief/backups"
13
13
  # s3_key = ""
14
14
  # s3_secret = ""
15
15
  # s3_region = "us-east-1"
16
- # s3_path_prefix = "s3://bucket-name/database-backups/"
16
+ # s3_objects_path = "s3://bucket-name/database-backups/"
@@ -13,9 +13,9 @@ module Pgchief
13
13
  :s3_key,
14
14
  :s3_secret,
15
15
  :s3_region,
16
- :s3_path_prefix
16
+ :s3_objects_path
17
17
 
18
- PREFIX_REGEX = %r{\As3://(?<bucket>(\w|-)*)/(?<path>(\w|/)*/)\z}
18
+ PREFIX_REGEX = %r{\As3://(?<bucket>(\w|-)*)/(?<path>(\w|/|-)*/)\z}
19
19
 
20
20
  attr_reader :config
21
21
 
@@ -44,14 +44,14 @@ module Pgchief
44
44
  s3_key,
45
45
  s3_secret,
46
46
  s3_region,
47
- s3_path_prefix
47
+ s3_objects_path
48
48
  ].none?(&:nil?)
49
49
  end
50
50
 
51
51
  private
52
52
 
53
53
  def s3_match
54
- @s3_match ||= s3_path_prefix.match(PREFIX_REGEX)
54
+ @s3_match ||= s3_objects_path.match(PREFIX_REGEX)
55
55
  end
56
56
  end
57
57
  end
@@ -14,7 +14,7 @@ module Pgchief
14
14
  attr_writer :pgurl
15
15
 
16
16
  attr_reader \
17
- :s3_path_prefix,
17
+ :s3_objects_path,
18
18
  :backup_dir,
19
19
  :credentials_file
20
20
 
@@ -26,7 +26,7 @@ module Pgchief
26
26
  self.s3_key = config[:s3_key]
27
27
  self.s3_secret = config[:s3_secret]
28
28
  self.s3_region = config[:s3_region]
29
- self.s3_path_prefix = config[:s3_path_prefix]
29
+ self.s3_objects_path = config[:s3_objects_path] || config[:s3_path_prefix]
30
30
  rescue Errno::ENOENT
31
31
  puts config_missing_error(toml_file)
32
32
  end
@@ -43,8 +43,8 @@ module Pgchief
43
43
  @backup_dir = value ? "#{value.chomp("/")}/".gsub("~", Dir.home) : "/tmp/"
44
44
  end
45
45
 
46
- def s3_path_prefix=(value)
47
- @s3_path_prefix = value ? "#{value.chomp("/")}/" : nil
46
+ def s3_objects_path=(value)
47
+ @s3_objects_path = value ? "#{value.chomp("/")}/" : nil
48
48
  end
49
49
 
50
50
  def credentials_file=(value)
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "forwardable"
4
- require "pry"
5
4
 
6
5
  module Pgchief
7
6
  class Database
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Pgchief
4
- VERSION = "0.5.0"
4
+ VERSION = "0.5.2"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pgchief
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joel Oliveira
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-11-28 00:00:00.000000000 Z
11
+ date: 2024-12-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-s3
@@ -160,7 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
160
  - !ruby/object:Gem::Version
161
161
  version: '0'
162
162
  requirements: []
163
- rubygems_version: 3.5.21
163
+ rubygems_version: 3.5.23
164
164
  signing_key:
165
165
  specification_version: 4
166
166
  summary: A simple ruby script to manage postgresql databases and users