kubeclient 4.10.1 → 4.12.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/actions.yml +3 -3
- data/.rubocop.yml +111 -14
- data/CHANGELOG.md +29 -0
- data/README.md +4 -0
- data/kubeclient.gemspec +3 -3
- data/lib/kubeclient/aws_eks_credentials.rb +17 -8
- data/lib/kubeclient/version.rb +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 21e5de1343a8f393c8eef653af1bb41e061bbee7fafa5d8cedafe8c163653071
|
4
|
+
data.tar.gz: aebdf094e7b05239467c8120382e47b65c82e031092cfc728b605f158257800a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 161d8585521513897f730c0c1ab5f060634533cff048e146819dfa5c93e60afbdb67a4ed314245d61e343f7eca891454b2022e4ed9ced0117d518a8c2eb78ffa
|
7
|
+
data.tar.gz: 7f42460a4528177faccc81526ffc0904a5a7cc89ac56013fe99c208b6ab6cc2e7f289e1a654cb67f5f85985ffcd98af4b9e93b49cd052963d4d333697f50a7d5
|
@@ -14,7 +14,7 @@ jobs:
|
|
14
14
|
runs-on: ${{ matrix.os_and_command.os }}
|
15
15
|
strategy:
|
16
16
|
matrix:
|
17
|
-
ruby: [ '2.
|
17
|
+
ruby: [ '2.7', '3.0', '3.1', '3.2', 'ruby-head', 'truffleruby-head' ]
|
18
18
|
os_and_command:
|
19
19
|
- os: macos-latest
|
20
20
|
command: 'env TESTOPTS="--verbose" bundle exec rake test'
|
@@ -27,11 +27,11 @@ jobs:
|
|
27
27
|
include:
|
28
28
|
# run rubocop against lowest supported ruby
|
29
29
|
- os: ubuntu-latest
|
30
|
-
ruby: '2.
|
30
|
+
ruby: '2.7'
|
31
31
|
command: 'bundle exec rake rubocop'
|
32
32
|
name: ${{ matrix.os_and_command.os }} ${{ matrix.ruby }} rake ${{ matrix.os_and_command.command }}
|
33
33
|
steps:
|
34
|
-
- uses: actions/checkout@
|
34
|
+
- uses: actions/checkout@v4
|
35
35
|
# actions/setup-ruby did not support truffle or bundler caching
|
36
36
|
- uses: ruby/setup-ruby@v1
|
37
37
|
with:
|
data/.rubocop.yml
CHANGED
@@ -1,35 +1,132 @@
|
|
1
1
|
AllCops:
|
2
2
|
DisplayCopNames: true
|
3
|
-
TargetRubyVersion: 2.
|
3
|
+
TargetRubyVersion: 2.7 # Oldest version kubeclient supports
|
4
4
|
MethodLength:
|
5
5
|
Enabled: false
|
6
6
|
ClassLength:
|
7
7
|
Enabled: false
|
8
8
|
Metrics/AbcSize:
|
9
9
|
Enabled: false
|
10
|
-
Metrics/LineLength:
|
11
|
-
Max: 100
|
12
10
|
Metrics/ParameterLists:
|
13
11
|
Max: 5
|
14
12
|
CountKeywordArgs: false
|
15
|
-
Metrics/CyclomaticComplexity:
|
16
|
-
Max: 8
|
17
|
-
Metrics/PerceivedComplexity:
|
18
|
-
Max: 8
|
19
13
|
Metrics/ModuleLength:
|
20
14
|
Enabled: false
|
21
|
-
Style/MethodCallWithArgsParentheses:
|
22
|
-
Enabled: true
|
23
|
-
IgnoredMethods: [require, raise, include, attr_reader, refute, assert]
|
24
|
-
Exclude: [Gemfile, Rakefile, kubeclient.gemspec, Gemfile.dev.rb]
|
25
15
|
Metrics/BlockLength:
|
26
16
|
Exclude: [kubeclient.gemspec]
|
27
17
|
Security/MarshalLoad:
|
28
18
|
Exclude: [test/**/*]
|
29
19
|
Style/FileName:
|
30
20
|
Exclude: [Gemfile, Rakefile, Gemfile.dev.rb]
|
31
|
-
Style/MethodCallWithArgsParentheses:
|
32
|
-
IgnoredMethods:
|
33
|
-
- require_relative
|
34
21
|
Style/RegexpLiteral:
|
35
22
|
Enabled: false
|
23
|
+
|
24
|
+
# Cops that have active offences in the codebase.
|
25
|
+
Lint/RedundantCopDisableDirective:
|
26
|
+
Enabled: false
|
27
|
+
Metrics/CyclomaticComplexity:
|
28
|
+
Enabled: false
|
29
|
+
Max: 8
|
30
|
+
Metrics/PerceivedComplexity:
|
31
|
+
Enabled: false
|
32
|
+
Max: 8
|
33
|
+
Style/MethodCallWithArgsParentheses:
|
34
|
+
Enabled: false
|
35
|
+
IgnoredMethods: [require, require_relative, raise, include, attr_reader, refute, assert]
|
36
|
+
Exclude: [Gemfile, Rakefile, kubeclient.gemspec, Gemfile.dev.rb]
|
37
|
+
Style/FrozenStringLiteralComment:
|
38
|
+
Enabled: false
|
39
|
+
Lint/UnreachableLoop:
|
40
|
+
Enabled: false
|
41
|
+
Style/RedundantRegexpEscape:
|
42
|
+
Enabled: false
|
43
|
+
Layout/MultilineMethodCallIndentation:
|
44
|
+
Enabled: false
|
45
|
+
Lint/UselessAssignment:
|
46
|
+
Enabled: false
|
47
|
+
Style/StringLiterals:
|
48
|
+
Enabled: false
|
49
|
+
Layout/ExtraSpacing:
|
50
|
+
Enabled: false
|
51
|
+
Layout/IndentationWidth:
|
52
|
+
Enabled: false
|
53
|
+
Naming/MethodParameterName:
|
54
|
+
Enabled: false
|
55
|
+
Layout/HashAlignment:
|
56
|
+
Enabled: false
|
57
|
+
Layout/TrailingWhitespace:
|
58
|
+
Enabled: false
|
59
|
+
Naming/RescuedExceptionsVariableName:
|
60
|
+
Enabled: false
|
61
|
+
Style/RedundantBegin:
|
62
|
+
Enabled: false
|
63
|
+
Style/WordArray:
|
64
|
+
Enabled: false
|
65
|
+
Style/ExplicitBlockArgument:
|
66
|
+
Enabled: false
|
67
|
+
Layout/LeadingEmptyLines:
|
68
|
+
Enabled: false
|
69
|
+
Layout/EmptyLineAfterGuardClause:
|
70
|
+
Enabled: false
|
71
|
+
Style/SafeNavigation:
|
72
|
+
Enabled: false
|
73
|
+
Style/SoleNestedConditional:
|
74
|
+
Enabled: false
|
75
|
+
Lint/MissingSuper:
|
76
|
+
Enabled: false
|
77
|
+
Style/IfUnlessModifier:
|
78
|
+
Enabled: false
|
79
|
+
Layout/LineLength:
|
80
|
+
Enabled: false
|
81
|
+
Lint/MissingCopEnableDirective:
|
82
|
+
Enabled: false
|
83
|
+
Naming/MethodName:
|
84
|
+
Enabled: false
|
85
|
+
Style/StringConcatenation:
|
86
|
+
Enabled: false
|
87
|
+
Style/SlicingWithRange:
|
88
|
+
Enabled: false
|
89
|
+
Lint/MixedRegexpCaptureTypes:
|
90
|
+
Enabled: false
|
91
|
+
Style/AccessorGrouping:
|
92
|
+
Enabled: false
|
93
|
+
Style/HashEachMethods:
|
94
|
+
Enabled: false
|
95
|
+
Naming/AccessorMethodName:
|
96
|
+
Enabled: false
|
97
|
+
Style/RedundantAssignment:
|
98
|
+
Enabled: false
|
99
|
+
Gemspec/OrderedDependencies:
|
100
|
+
Enabled: false
|
101
|
+
Style/ExpandPathArguments:
|
102
|
+
Enabled: false
|
103
|
+
Style/Encoding:
|
104
|
+
Enabled: false
|
105
|
+
|
106
|
+
# New Cops to configure
|
107
|
+
Lint/DuplicateBranch: # (new in 1.3)
|
108
|
+
Enabled: false
|
109
|
+
Lint/DuplicateRegexpCharacterClassElement: # (new in 1.1)
|
110
|
+
Enabled: false
|
111
|
+
Lint/EmptyBlock: # (new in 1.1)
|
112
|
+
Enabled: false
|
113
|
+
Lint/EmptyClass: # (new in 1.3)
|
114
|
+
Enabled: false
|
115
|
+
Lint/NoReturnInBeginEndBlocks: # (new in 1.2)
|
116
|
+
Enabled: false
|
117
|
+
Lint/ToEnumArguments: # (new in 1.1)
|
118
|
+
Enabled: false
|
119
|
+
Lint/UnmodifiedReduceAccumulator: # (new in 1.1)
|
120
|
+
Enabled: false
|
121
|
+
Style/ArgumentsForwarding: # (new in 1.1)
|
122
|
+
Enabled: false
|
123
|
+
Style/CollectionCompact: # (new in 1.2)
|
124
|
+
Enabled: false
|
125
|
+
Style/DocumentDynamicEvalDefinition: # (new in 1.1)
|
126
|
+
Enabled: false
|
127
|
+
Style/NegatedIfElseCondition: # (new in 1.2)
|
128
|
+
Enabled: false
|
129
|
+
Style/NilLambda: # (new in 1.3)
|
130
|
+
Enabled: false
|
131
|
+
Style/SwapValues: # (new in 1.1)
|
132
|
+
Enabled: false
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,35 @@ Notable changes to this project will be documented in this file.
|
|
4
4
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
|
5
5
|
Kubeclient release versioning follows [SemVer](https://semver.org/).
|
6
6
|
|
7
|
+
## 4.12.0 - 2024-06-18
|
8
|
+
|
9
|
+
### Added
|
10
|
+
- Add test coverage for Ruby 3.2 (#615)
|
11
|
+
- Allow a region when getting a signer for Aws::Sts (#507)
|
12
|
+
- Update the AWS STS endpoint to be regional as the method is now regional (#528)
|
13
|
+
- Assume role support for aws eks credentials (#630)
|
14
|
+
|
15
|
+
### Fixed
|
16
|
+
- [v4.y] Regenerated expired test TLS certs by running `test/config/update_certs_k0s.rb`.
|
17
|
+
- [v4.y] Regenerated expired test TLS certs (#611)
|
18
|
+
- Regenerated expired test TLS certs (#632)
|
19
|
+
|
20
|
+
### Changed
|
21
|
+
- Update actions/checkout (#590)
|
22
|
+
- chore(deps): update actions/checkout action to v4 (#619)
|
23
|
+
|
24
|
+
## 4.11.0 — 2022-12-22
|
25
|
+
|
26
|
+
### Removed
|
27
|
+
|
28
|
+
- Dropped support for EOL Ruby versions 2.5, 2.6. (#589)
|
29
|
+
|
30
|
+
### Added
|
31
|
+
|
32
|
+
- Relaxed dependency on `http` gem (used for watches) to allow 5.y.z versions. (#589)
|
33
|
+
|
34
|
+
- Specifically, http 5.1.1 may fix issues watching with IPv6. (#585)
|
35
|
+
|
7
36
|
## 4.10.1 — 2022-10-01
|
8
37
|
|
9
38
|
### Removed
|
data/README.md
CHANGED
@@ -313,10 +313,14 @@ require 'aws-sdk-core'
|
|
313
313
|
credentials = Aws::Credentials.new(access_key, secret_key)
|
314
314
|
# Or a profile
|
315
315
|
credentials = Aws::SharedCredentials.new(profile_name: 'default').credentials
|
316
|
+
# Or for an STS Assumed Role Credentials or any other credential Provider other than Static Credentials
|
317
|
+
credentials = Aws::AssumeRoleCredentials.new({ client: sts_client, role_arn: role_arn, role_session_name: session_name })
|
316
318
|
|
319
|
+
# Kubeclient Auth Options
|
317
320
|
auth_options = {
|
318
321
|
bearer_token: Kubeclient::AmazonEksCredentials.token(credentials, eks_cluster_name)
|
319
322
|
}
|
323
|
+
|
320
324
|
client = Kubeclient::Client.new(
|
321
325
|
eks_cluster_https_endpoint, 'v1', auth_options: auth_options
|
322
326
|
)
|
data/kubeclient.gemspec
CHANGED
@@ -19,10 +19,10 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
20
20
|
spec.test_files = []
|
21
21
|
spec.require_paths = ['lib']
|
22
|
-
spec.required_ruby_version = '>= 2.
|
22
|
+
spec.required_ruby_version = '>= 2.7.0'
|
23
23
|
|
24
24
|
spec.add_development_dependency 'bundler', '>= 1.6'
|
25
|
-
spec.add_development_dependency 'rake', '~>
|
25
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
26
26
|
spec.add_development_dependency 'minitest', '~> 5.15.0'
|
27
27
|
spec.add_development_dependency 'minitest-rg'
|
28
28
|
spec.add_development_dependency 'webmock', '~> 3.0'
|
@@ -38,5 +38,5 @@ Gem::Specification.new do |spec|
|
|
38
38
|
spec.add_dependency 'jsonpath', '~> 1.0'
|
39
39
|
spec.add_dependency 'rest-client', '~> 2.0'
|
40
40
|
spec.add_dependency 'recursive-open-struct', '~> 1.1', '>= 1.1.1'
|
41
|
-
spec.add_dependency 'http', '>= 3.0', '<
|
41
|
+
spec.add_dependency 'http', '>= 3.0', '< 6.0'
|
42
42
|
end
|
@@ -7,7 +7,7 @@ module Kubeclient
|
|
7
7
|
end
|
8
8
|
|
9
9
|
class << self
|
10
|
-
def token(credentials, eks_cluster)
|
10
|
+
def token(credentials, eks_cluster, region: 'us-east-1')
|
11
11
|
begin
|
12
12
|
require 'aws-sigv4'
|
13
13
|
require 'base64'
|
@@ -20,17 +20,26 @@ module Kubeclient
|
|
20
20
|
end
|
21
21
|
# https://github.com/aws/aws-sdk-ruby/pull/1848
|
22
22
|
# Get a signer
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
23
|
+
signer = if credentials.respond_to?(:credentials)
|
24
|
+
Aws::Sigv4::Signer.new(
|
25
|
+
service: 'sts',
|
26
|
+
region: region,
|
27
|
+
credentials_provider: credentials
|
28
|
+
)
|
29
|
+
else
|
30
|
+
Aws::Sigv4::Signer.new(
|
31
|
+
service: 'sts',
|
32
|
+
region: region,
|
33
|
+
credentials: credentials
|
34
|
+
)
|
35
|
+
end
|
36
|
+
|
37
|
+
credentials = credentials.credentials if credentials.respond_to?(:credentials)
|
29
38
|
|
30
39
|
# https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Sigv4/Signer.html#presign_url-instance_method
|
31
40
|
presigned_url_string = signer.presign_url(
|
32
41
|
http_method: 'GET',
|
33
|
-
url:
|
42
|
+
url: "https://sts.#{region}.amazonaws.com/?Action=GetCallerIdentity&Version=2011-06-15",
|
34
43
|
body: '',
|
35
44
|
credentials: credentials,
|
36
45
|
expires_in: 60,
|
data/lib/kubeclient/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kubeclient
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alissa Bonas
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-06-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '13.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '13.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: minitest
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -235,7 +235,7 @@ dependencies:
|
|
235
235
|
version: '3.0'
|
236
236
|
- - "<"
|
237
237
|
- !ruby/object:Gem::Version
|
238
|
-
version: '
|
238
|
+
version: '6.0'
|
239
239
|
type: :runtime
|
240
240
|
prerelease: false
|
241
241
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -245,7 +245,7 @@ dependencies:
|
|
245
245
|
version: '3.0'
|
246
246
|
- - "<"
|
247
247
|
- !ruby/object:Gem::Version
|
248
|
-
version: '
|
248
|
+
version: '6.0'
|
249
249
|
description: A client for Kubernetes REST api
|
250
250
|
email:
|
251
251
|
- abonas@redhat.com
|
@@ -291,14 +291,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
291
291
|
requirements:
|
292
292
|
- - ">="
|
293
293
|
- !ruby/object:Gem::Version
|
294
|
-
version: 2.
|
294
|
+
version: 2.7.0
|
295
295
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
296
296
|
requirements:
|
297
297
|
- - ">="
|
298
298
|
- !ruby/object:Gem::Version
|
299
299
|
version: '0'
|
300
300
|
requirements: []
|
301
|
-
rubygems_version: 3.
|
301
|
+
rubygems_version: 3.4.20
|
302
302
|
signing_key:
|
303
303
|
specification_version: 4
|
304
304
|
summary: A client for Kubernetes REST api
|