pg-aws_rds_iam 0.3.0 → 0.4.0
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 +4 -4
- data/.github/workflows/pull-request.yml +4 -4
- data/.rubocop.yml +4 -1
- data/.ruby-version +1 -1
- data/.yardopts +1 -0
- data/CHANGELOG.md +23 -1
- data/Gemfile +2 -1
- data/Gemfile.lock +39 -37
- data/README.md +1 -1
- data/bin/version-matrix +5 -5
- data/lib/pg/aws_rds_iam/connection.rb +20 -6
- data/lib/pg/aws_rds_iam/connection_info/uri.rb +1 -1
- data/lib/pg/aws_rds_iam/version.rb +1 -1
- data/pg-aws_rds_iam.gemspec +3 -1
- metadata +6 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7894b340911ed1dd4bf4ade1a3a93830f34a353107036f0bf974b098b332ad04
|
|
4
|
+
data.tar.gz: 7387170d637e6f5a57cb4e39146c03496595d7fd2bc785eae4dacd1dc7978a90
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7ed4c84823ac809c74ac63358df8a31aebaa8ba09572cd8a8343a47c41768f5bb226b6ce99fb8ec052e90c37575e296538680ba1a3ab03bb4d100120fc0e044d
|
|
7
|
+
data.tar.gz: 1575d6f6e008a311edd01fb62cd9d3bf4615a14b41d0ed2f5163812999661180da5010252cf8013c82abcfc46c4d680d6dc995a21e8c02d3164949f929887b14
|
|
@@ -17,7 +17,7 @@ jobs:
|
|
|
17
17
|
run: apk add git
|
|
18
18
|
|
|
19
19
|
- name: Check out source code
|
|
20
|
-
uses: actions/checkout@
|
|
20
|
+
uses: actions/checkout@v3
|
|
21
21
|
|
|
22
22
|
- name: Install Bundler
|
|
23
23
|
run: bin/install-bundler
|
|
@@ -40,7 +40,7 @@ jobs:
|
|
|
40
40
|
run: test -n "${{ secrets.AVAILABLE }}"
|
|
41
41
|
|
|
42
42
|
- name: Check out source code
|
|
43
|
-
uses: actions/checkout@
|
|
43
|
+
uses: actions/checkout@v3
|
|
44
44
|
|
|
45
45
|
- name: Generate version matrix
|
|
46
46
|
id: version-matrix
|
|
@@ -69,7 +69,7 @@ jobs:
|
|
|
69
69
|
run: apk add build-base git postgresql-dev tar
|
|
70
70
|
|
|
71
71
|
- name: Check out source code
|
|
72
|
-
uses: actions/checkout@
|
|
72
|
+
uses: actions/checkout@v3
|
|
73
73
|
|
|
74
74
|
- name: Install Bundler
|
|
75
75
|
run: bin/install-bundler
|
|
@@ -89,7 +89,7 @@ jobs:
|
|
|
89
89
|
"${postgresql_version}"
|
|
90
90
|
|
|
91
91
|
- name: Cache gems
|
|
92
|
-
uses: actions/cache@
|
|
92
|
+
uses: actions/cache@v3
|
|
93
93
|
with:
|
|
94
94
|
key: ${{ steps.cache-key.outputs.cache-key }}-gems-${{ hashFiles('Gemfile.lock') }}
|
|
95
95
|
path: vendor/bundle
|
data/.rubocop.yml
CHANGED
|
@@ -3,7 +3,7 @@ require:
|
|
|
3
3
|
- rubocop-rake
|
|
4
4
|
|
|
5
5
|
AllCops:
|
|
6
|
-
TargetRubyVersion: 2.
|
|
6
|
+
TargetRubyVersion: 2.7
|
|
7
7
|
NewCops: enable
|
|
8
8
|
Exclude:
|
|
9
9
|
- bin/bundle
|
|
@@ -26,6 +26,9 @@ Minitest/MultipleAssertions:
|
|
|
26
26
|
Naming/ClassAndModuleCamelCase:
|
|
27
27
|
Enabled: false
|
|
28
28
|
|
|
29
|
+
Naming/VariableNumber:
|
|
30
|
+
EnforcedStyle: snake_case
|
|
31
|
+
|
|
29
32
|
Style/Documentation:
|
|
30
33
|
Exclude:
|
|
31
34
|
- lib/pg/aws_rds_iam/auth_token_injector.rb
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
ruby-3.
|
|
1
|
+
ruby-3.1.2
|
data/.yardopts
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,25 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
|
8
8
|
|
|
9
9
|
No notable changes.
|
|
10
10
|
|
|
11
|
+
## [0.4.0] - 2022-06-22
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
* Test against Ruby 3.1 ([#305](https://github.com/haines/pg-aws_rds_iam/pull/305))
|
|
15
|
+
* Require Ruby ≥ 2.6 and Active Record ≥ 6.0 ([#360](https://github.com/haines/pg-aws_rds_iam/pull/360))
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
* Compatibility with `pg` ≥ 1.4 ([#356](https://github.com/haines/pg-aws_rds_iam/pull/356))
|
|
19
|
+
|
|
20
|
+
## [0.3.2] - 2021-11-15
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
* Require MFA to publish gem ([#278](https://github.com/haines/pg-aws_rds_iam/pull/278))
|
|
24
|
+
|
|
25
|
+
## [0.3.1] - 2021-11-10
|
|
26
|
+
|
|
27
|
+
### Fixed
|
|
28
|
+
* Make code snippets in README valid Ruby to fix syntax highlighting ([#274](https://github.com/haines/pg-aws_rds_iam/pull/274))
|
|
29
|
+
|
|
11
30
|
## [0.3.0] - 2021-11-10
|
|
12
31
|
|
|
13
32
|
### Changed
|
|
@@ -33,7 +52,10 @@ No notable changes.
|
|
|
33
52
|
* A plugin for the [`pg` gem](https://rubygems.org/gems/pg) that adds support for [IAM authentication](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) when connecting to PostgreSQL databases hosted in Amazon RDS. ([#1](https://github.com/haines/pg-aws_rds_iam/pull/1))
|
|
34
53
|
* ActiveRecord support. ([#3](https://github.com/haines/pg-aws_rds_iam/pull/3))
|
|
35
54
|
|
|
36
|
-
[Unreleased]: https://github.com/haines/pg-aws_rds_iam/compare/v0.
|
|
55
|
+
[Unreleased]: https://github.com/haines/pg-aws_rds_iam/compare/v0.4.0...HEAD
|
|
56
|
+
[0.4.0]: https://github.com/haines/pg-aws_rds_iam/compare/v0.3.2...v0.4.0
|
|
57
|
+
[0.3.2]: https://github.com/haines/pg-aws_rds_iam/compare/v0.3.1...v0.3.2
|
|
58
|
+
[0.3.1]: https://github.com/haines/pg-aws_rds_iam/compare/v0.3.0...v0.3.1
|
|
37
59
|
[0.3.0]: https://github.com/haines/pg-aws_rds_iam/compare/v0.2.0...v0.3.0
|
|
38
60
|
[0.2.0]: https://github.com/haines/pg-aws_rds_iam/compare/v0.1.1...v0.2.0
|
|
39
61
|
[0.1.1]: https://github.com/haines/pg-aws_rds_iam/compare/v0.1.0...v0.1.1
|
data/Gemfile
CHANGED
|
@@ -5,6 +5,7 @@ gemspec
|
|
|
5
5
|
|
|
6
6
|
gem "aws-sdk-ec2"
|
|
7
7
|
gem "bundler"
|
|
8
|
+
gem "commonmarker"
|
|
8
9
|
gem "minitest"
|
|
9
10
|
gem "minitest-reporters"
|
|
10
11
|
gem "pry"
|
|
@@ -16,5 +17,5 @@ gem "timecop"
|
|
|
16
17
|
gem "yard"
|
|
17
18
|
|
|
18
19
|
["activerecord", "pg"].each do |gem_name|
|
|
19
|
-
gem gem_name, *ENV["#{gem_name.upcase}_VERSION"]&.
|
|
20
|
+
gem gem_name, *ENV["#{gem_name.upcase}_VERSION"]&.then { |gem_version| "~> #{gem_version}.0" }
|
|
20
21
|
end
|
data/Gemfile.lock
CHANGED
|
@@ -1,87 +1,88 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
pg-aws_rds_iam (0.
|
|
4
|
+
pg-aws_rds_iam (0.4.0)
|
|
5
5
|
aws-sdk-rds (~> 1.0)
|
|
6
6
|
pg (>= 0.18, < 2.0)
|
|
7
7
|
|
|
8
8
|
GEM
|
|
9
9
|
remote: https://rubygems.org/
|
|
10
10
|
specs:
|
|
11
|
-
activemodel (
|
|
12
|
-
activesupport (=
|
|
13
|
-
activerecord (
|
|
14
|
-
activemodel (=
|
|
15
|
-
activesupport (=
|
|
16
|
-
activesupport (
|
|
11
|
+
activemodel (7.0.3)
|
|
12
|
+
activesupport (= 7.0.3)
|
|
13
|
+
activerecord (7.0.3)
|
|
14
|
+
activemodel (= 7.0.3)
|
|
15
|
+
activesupport (= 7.0.3)
|
|
16
|
+
activesupport (7.0.3)
|
|
17
17
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
18
18
|
i18n (>= 1.6, < 2)
|
|
19
19
|
minitest (>= 5.1)
|
|
20
20
|
tzinfo (~> 2.0)
|
|
21
|
-
zeitwerk (~> 2.3)
|
|
22
21
|
ansi (1.5.0)
|
|
23
22
|
ast (2.4.2)
|
|
24
23
|
aws-eventstream (1.2.0)
|
|
25
|
-
aws-partitions (1.
|
|
26
|
-
aws-sdk-core (3.
|
|
24
|
+
aws-partitions (1.600.0)
|
|
25
|
+
aws-sdk-core (3.131.2)
|
|
27
26
|
aws-eventstream (~> 1, >= 1.0.2)
|
|
28
27
|
aws-partitions (~> 1, >= 1.525.0)
|
|
29
28
|
aws-sigv4 (~> 1.1)
|
|
30
|
-
jmespath (~> 1.
|
|
31
|
-
aws-sdk-ec2 (1.
|
|
32
|
-
aws-sdk-core (~> 3, >= 3.
|
|
29
|
+
jmespath (~> 1, >= 1.6.1)
|
|
30
|
+
aws-sdk-ec2 (1.319.0)
|
|
31
|
+
aws-sdk-core (~> 3, >= 3.127.0)
|
|
33
32
|
aws-sigv4 (~> 1.1)
|
|
34
|
-
aws-sdk-rds (1.
|
|
35
|
-
aws-sdk-core (~> 3, >= 3.
|
|
33
|
+
aws-sdk-rds (1.146.0)
|
|
34
|
+
aws-sdk-core (~> 3, >= 3.127.0)
|
|
36
35
|
aws-sigv4 (~> 1.1)
|
|
37
|
-
aws-sigv4 (1.
|
|
36
|
+
aws-sigv4 (1.5.0)
|
|
38
37
|
aws-eventstream (~> 1, >= 1.0.2)
|
|
39
38
|
builder (3.2.4)
|
|
40
39
|
coderay (1.1.3)
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
commonmarker (0.23.5)
|
|
41
|
+
concurrent-ruby (1.1.10)
|
|
42
|
+
i18n (1.10.0)
|
|
43
43
|
concurrent-ruby (~> 1.0)
|
|
44
|
-
jmespath (1.
|
|
44
|
+
jmespath (1.6.1)
|
|
45
45
|
method_source (1.0.0)
|
|
46
|
-
minitest (5.
|
|
47
|
-
minitest-reporters (1.
|
|
46
|
+
minitest (5.16.1)
|
|
47
|
+
minitest-reporters (1.5.0)
|
|
48
48
|
ansi
|
|
49
49
|
builder
|
|
50
50
|
minitest (>= 5.0)
|
|
51
51
|
ruby-progressbar
|
|
52
|
-
parallel (1.
|
|
53
|
-
parser (3.
|
|
52
|
+
parallel (1.22.1)
|
|
53
|
+
parser (3.1.2.0)
|
|
54
54
|
ast (~> 2.4.1)
|
|
55
|
-
pg (1.
|
|
55
|
+
pg (1.4.0)
|
|
56
56
|
pry (0.14.1)
|
|
57
57
|
coderay (~> 1.1)
|
|
58
58
|
method_source (~> 1.0)
|
|
59
|
-
rainbow (3.
|
|
59
|
+
rainbow (3.1.1)
|
|
60
60
|
rake (13.0.6)
|
|
61
|
-
regexp_parser (2.
|
|
61
|
+
regexp_parser (2.5.0)
|
|
62
62
|
rexml (3.2.5)
|
|
63
|
-
rubocop (1.
|
|
63
|
+
rubocop (1.30.1)
|
|
64
64
|
parallel (~> 1.10)
|
|
65
|
-
parser (>= 3.
|
|
65
|
+
parser (>= 3.1.0.0)
|
|
66
66
|
rainbow (>= 2.2.2, < 4.0)
|
|
67
67
|
regexp_parser (>= 1.8, < 3.0)
|
|
68
|
-
rexml
|
|
69
|
-
rubocop-ast (>= 1.
|
|
68
|
+
rexml (>= 3.2.5, < 4.0)
|
|
69
|
+
rubocop-ast (>= 1.18.0, < 2.0)
|
|
70
70
|
ruby-progressbar (~> 1.7)
|
|
71
71
|
unicode-display_width (>= 1.4.0, < 3.0)
|
|
72
|
-
rubocop-ast (1.
|
|
73
|
-
parser (>= 3.
|
|
74
|
-
rubocop-minitest (0.
|
|
72
|
+
rubocop-ast (1.18.0)
|
|
73
|
+
parser (>= 3.1.1.0)
|
|
74
|
+
rubocop-minitest (0.20.1)
|
|
75
75
|
rubocop (>= 0.90, < 2.0)
|
|
76
76
|
rubocop-rake (0.6.0)
|
|
77
77
|
rubocop (~> 1.0)
|
|
78
78
|
ruby-progressbar (1.11.0)
|
|
79
|
-
timecop (0.9.
|
|
79
|
+
timecop (0.9.5)
|
|
80
80
|
tzinfo (2.0.4)
|
|
81
81
|
concurrent-ruby (~> 1.0)
|
|
82
82
|
unicode-display_width (2.1.0)
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
webrick (1.7.0)
|
|
84
|
+
yard (0.9.28)
|
|
85
|
+
webrick (~> 1.7.0)
|
|
85
86
|
|
|
86
87
|
PLATFORMS
|
|
87
88
|
ruby
|
|
@@ -90,6 +91,7 @@ DEPENDENCIES
|
|
|
90
91
|
activerecord
|
|
91
92
|
aws-sdk-ec2
|
|
92
93
|
bundler
|
|
94
|
+
commonmarker
|
|
93
95
|
minitest
|
|
94
96
|
minitest-reporters
|
|
95
97
|
pg
|
|
@@ -103,4 +105,4 @@ DEPENDENCIES
|
|
|
103
105
|
yard
|
|
104
106
|
|
|
105
107
|
BUNDLED WITH
|
|
106
|
-
2.
|
|
108
|
+
2.3.16
|
data/README.md
CHANGED
|
@@ -103,7 +103,7 @@ If the default authentication token generator doesn't meet your needs, you can r
|
|
|
103
103
|
|
|
104
104
|
```ruby
|
|
105
105
|
PG::AWS_RDS_IAM.auth_token_generators.add :custom do
|
|
106
|
-
PG::AWS_RDS_IAM::AuthTokenGenerator.new(credentials:
|
|
106
|
+
PG::AWS_RDS_IAM::AuthTokenGenerator.new(credentials: "...", region: "...")
|
|
107
107
|
end
|
|
108
108
|
```
|
|
109
109
|
|
data/bin/version-matrix
CHANGED
|
@@ -9,15 +9,15 @@ def minor_versions(name, requirement)
|
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
ruby_activerecord_requirements = {
|
|
12
|
-
"2.
|
|
13
|
-
"
|
|
14
|
-
"3.
|
|
12
|
+
"2.7" => ">= 6.0",
|
|
13
|
+
"3.0" => ">= 6.0",
|
|
14
|
+
"3.1" => ">= 6.0"
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
activerecord_pg_requirements = {
|
|
18
|
-
"5.2" => [">= 0.18", "< 2.0"],
|
|
19
18
|
"6.0" => [">= 0.18", "< 2.0"],
|
|
20
|
-
"6.1" => "~> 1.1"
|
|
19
|
+
"6.1" => "~> 1.1",
|
|
20
|
+
"7.0" => "~> 1.1"
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
versions = ruby_activerecord_requirements.flat_map do |ruby_version, activerecord_requirement|
|
|
@@ -4,7 +4,25 @@ module PG
|
|
|
4
4
|
module AWS_RDS_IAM
|
|
5
5
|
module Connection
|
|
6
6
|
def conndefaults
|
|
7
|
-
super + [
|
|
7
|
+
super + [conndefault_aws_rds_iam_auth_token_generator]
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def conninfo_parse(connection_string)
|
|
11
|
+
connection_info = ConnectionInfo.new(connection_string)
|
|
12
|
+
|
|
13
|
+
super(connection_info.to_s).tap do |result|
|
|
14
|
+
result << conndefault_aws_rds_iam_auth_token_generator.merge(val: connection_info.auth_token_generator_name) if connection_info.auth_token_generator_name
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def parse_connect_args(*args)
|
|
19
|
+
AuthTokenInjector.call(super)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
private
|
|
23
|
+
|
|
24
|
+
def conndefault_aws_rds_iam_auth_token_generator
|
|
25
|
+
{
|
|
8
26
|
keyword: "aws_rds_iam_auth_token_generator",
|
|
9
27
|
envvar: nil,
|
|
10
28
|
compiled: nil,
|
|
@@ -12,11 +30,7 @@ module PG
|
|
|
12
30
|
label: "AWS-RDS-IAM-auth-token-generator",
|
|
13
31
|
dispchar: "",
|
|
14
32
|
dispsize: 64
|
|
15
|
-
}
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def parse_connect_args(*)
|
|
19
|
-
AuthTokenInjector.call(super)
|
|
33
|
+
}
|
|
20
34
|
end
|
|
21
35
|
end
|
|
22
36
|
|
|
@@ -12,7 +12,7 @@ module PG
|
|
|
12
12
|
|
|
13
13
|
def initialize(connection_string)
|
|
14
14
|
@uri = ::URI.parse(connection_string)
|
|
15
|
-
@query = ::URI.decode_www_form(@uri.query).to_h
|
|
15
|
+
@query = @uri.query ? ::URI.decode_www_form(@uri.query).to_h : {}
|
|
16
16
|
@auth_token_generator_name = @query.delete("aws_rds_iam_auth_token_generator")
|
|
17
17
|
end
|
|
18
18
|
|
data/pg-aws_rds_iam.gemspec
CHANGED
|
@@ -21,11 +21,13 @@ Gem::Specification.new do |spec|
|
|
|
21
21
|
spec.metadata["homepage_uri"] = spec.homepage
|
|
22
22
|
spec.metadata["source_code_uri"] = spec.homepage
|
|
23
23
|
|
|
24
|
+
spec.metadata["rubygems_mfa_required"] = "true"
|
|
25
|
+
|
|
24
26
|
spec.files = Dir.chdir(__dir__) { `git ls-files -z`.split("\x0").reject { |path| path.start_with?("test/") } }
|
|
25
27
|
|
|
26
28
|
spec.require_paths = ["lib"]
|
|
27
29
|
|
|
28
|
-
spec.required_ruby_version = ">= 2.
|
|
30
|
+
spec.required_ruby_version = ">= 2.7"
|
|
29
31
|
|
|
30
32
|
spec.add_dependency "aws-sdk-rds", "~> 1.0"
|
|
31
33
|
spec.add_dependency "pg", ">= 0.18", "< 2.0"
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pg-aws_rds_iam
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andrew Haines
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-06-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: aws-sdk-rds
|
|
@@ -90,9 +90,10 @@ licenses:
|
|
|
90
90
|
metadata:
|
|
91
91
|
bug_tracker_uri: https://github.com/haines/pg-aws_rds_iam/issues
|
|
92
92
|
changelog_uri: https://github.com/haines/pg-aws_rds_iam/blob/main/CHANGELOG.md
|
|
93
|
-
documentation_uri: https://rubydoc.info/gems/pg-aws_rds_iam/0.
|
|
93
|
+
documentation_uri: https://rubydoc.info/gems/pg-aws_rds_iam/0.4.0
|
|
94
94
|
homepage_uri: https://github.com/haines/pg-aws_rds_iam
|
|
95
95
|
source_code_uri: https://github.com/haines/pg-aws_rds_iam
|
|
96
|
+
rubygems_mfa_required: 'true'
|
|
96
97
|
post_install_message:
|
|
97
98
|
rdoc_options: []
|
|
98
99
|
require_paths:
|
|
@@ -101,14 +102,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
101
102
|
requirements:
|
|
102
103
|
- - ">="
|
|
103
104
|
- !ruby/object:Gem::Version
|
|
104
|
-
version: '2.
|
|
105
|
+
version: '2.7'
|
|
105
106
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
106
107
|
requirements:
|
|
107
108
|
- - ">="
|
|
108
109
|
- !ruby/object:Gem::Version
|
|
109
110
|
version: '0'
|
|
110
111
|
requirements: []
|
|
111
|
-
rubygems_version: 3.
|
|
112
|
+
rubygems_version: 3.3.16
|
|
112
113
|
signing_key:
|
|
113
114
|
specification_version: 4
|
|
114
115
|
summary: IAM authentication for PostgreSQL on Amazon RDS
|