krane 2.4.6 → 3.6.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.
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: krane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.6
4
+ version: 3.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katrina Verey
8
8
  - Daniel Turner
9
9
  - Kir Shatrov
10
- autorequire:
10
+ autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2022-04-05 00:00:00.000000000 Z
13
+ date: 2024-08-21 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -46,14 +46,14 @@ dependencies:
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: '0.8'
49
+ version: '1.2'
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: '0.8'
56
+ version: '1.2'
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: ejson
59
59
  requirement: !ruby/object:Gem::Requirement
@@ -91,7 +91,7 @@ dependencies:
91
91
  version: '2.8'
92
92
  - - "<"
93
93
  - !ruby/object:Gem::Version
94
- version: '4'
94
+ version: '3.9'
95
95
  type: :runtime
96
96
  prerelease: false
97
97
  version_requirements: !ruby/object:Gem::Requirement
@@ -101,21 +101,21 @@ dependencies:
101
101
  version: '2.8'
102
102
  - - "<"
103
103
  - !ruby/object:Gem::Version
104
- version: '4'
104
+ version: '3.9'
105
105
  - !ruby/object:Gem::Dependency
106
- name: oj
106
+ name: multi_json
107
107
  requirement: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - "~>"
109
+ - - ">="
110
110
  - !ruby/object:Gem::Version
111
- version: '3.0'
111
+ version: '0'
112
112
  type: :runtime
113
113
  prerelease: false
114
114
  version_requirements: !ruby/object:Gem::Requirement
115
115
  requirements:
116
- - - "~>"
116
+ - - ">="
117
117
  - !ruby/object:Gem::Version
118
- version: '3.0'
118
+ version: '0'
119
119
  - !ruby/object:Gem::Dependency
120
120
  name: concurrent-ruby
121
121
  requirement: !ruby/object:Gem::Requirement
@@ -212,14 +212,14 @@ dependencies:
212
212
  requirements:
213
213
  - - "~>"
214
214
  - !ruby/object:Gem::Version
215
- version: '5.12'
215
+ version: '5.19'
216
216
  type: :development
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - "~>"
221
221
  - !ruby/object:Gem::Version
222
- version: '5.12'
222
+ version: '5.19'
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: minitest-stub-const
225
225
  requirement: !ruby/object:Gem::Requirement
@@ -254,28 +254,28 @@ dependencies:
254
254
  requirements:
255
255
  - - "~>"
256
256
  - !ruby/object:Gem::Version
257
- version: '1.5'
257
+ version: '2.1'
258
258
  type: :development
259
259
  prerelease: false
260
260
  version_requirements: !ruby/object:Gem::Requirement
261
261
  requirements:
262
262
  - - "~>"
263
263
  - !ruby/object:Gem::Version
264
- version: '1.5'
264
+ version: '2.1'
265
265
  - !ruby/object:Gem::Dependency
266
266
  name: webmock
267
267
  requirement: !ruby/object:Gem::Requirement
268
268
  requirements:
269
269
  - - "~>"
270
270
  - !ruby/object:Gem::Version
271
- version: '3.0'
271
+ version: '3.18'
272
272
  type: :development
273
273
  prerelease: false
274
274
  version_requirements: !ruby/object:Gem::Requirement
275
275
  requirements:
276
276
  - - "~>"
277
277
  - !ruby/object:Gem::Version
278
- version: '3.0'
278
+ version: '3.18'
279
279
  - !ruby/object:Gem::Dependency
280
280
  name: timecop
281
281
  requirement: !ruby/object:Gem::Requirement
@@ -413,12 +413,15 @@ extra_rdoc_files: []
413
413
  files:
414
414
  - ".github/CODEOWNERS"
415
415
  - ".github/ISSUE_TEMPLATE.md"
416
- - ".github/probots.yml"
416
+ - ".github/dependabot.yml"
417
417
  - ".github/pull_request_template.md"
418
+ - ".github/workflows/add-to-project.yml"
418
419
  - ".github/workflows/ci.yml"
420
+ - ".github/workflows/cla.yml"
419
421
  - ".gitignore"
420
422
  - ".rubocop-http---shopify-github-io-ruby-style-guide-rubocop-yml"
421
423
  - ".rubocop.yml"
424
+ - ".ruby-version"
422
425
  - 1.0-Upgrade.md
423
426
  - CHANGELOG.md
424
427
  - CODE_OF_CONDUCT.md
@@ -472,7 +475,6 @@ files:
472
475
  - lib/krane/kubernetes_resource/horizontal_pod_autoscaler.rb
473
476
  - lib/krane/kubernetes_resource/ingress.rb
474
477
  - lib/krane/kubernetes_resource/job.rb
475
- - lib/krane/kubernetes_resource/mutating_webhook_configuration.rb
476
478
  - lib/krane/kubernetes_resource/network_policy.rb
477
479
  - lib/krane/kubernetes_resource/persistent_volume_claim.rb
478
480
  - lib/krane/kubernetes_resource/pod.rb
@@ -488,7 +490,6 @@ files:
488
490
  - lib/krane/kubernetes_resource/service_account.rb
489
491
  - lib/krane/kubernetes_resource/stateful_set.rb
490
492
  - lib/krane/label_selector.rb
491
- - lib/krane/oj.rb
492
493
  - lib/krane/options_helper.rb
493
494
  - lib/krane/psych_k8s_compatibility.rb
494
495
  - lib/krane/remote_logs.rb
@@ -511,7 +512,7 @@ licenses:
511
512
  - MIT
512
513
  metadata:
513
514
  allowed_push_host: https://rubygems.org
514
- post_install_message:
515
+ post_install_message:
515
516
  rdoc_options: []
516
517
  require_paths:
517
518
  - lib
@@ -519,15 +520,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
519
520
  requirements:
520
521
  - - ">="
521
522
  - !ruby/object:Gem::Version
522
- version: 2.6.0
523
+ version: 2.7.6
523
524
  required_rubygems_version: !ruby/object:Gem::Requirement
524
525
  requirements:
525
526
  - - ">="
526
527
  - !ruby/object:Gem::Version
527
528
  version: '0'
528
529
  requirements: []
529
- rubygems_version: 3.2.20
530
- signing_key:
530
+ rubygems_version: 3.5.17
531
+ signing_key:
531
532
  specification_version: 4
532
533
  summary: A command line tool that helps you ship changes to a Kubernetes namespace
533
534
  and understand the result
data/.github/probots.yml DELETED
@@ -1,2 +0,0 @@
1
- enabled:
2
- - cla
@@ -1,87 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Krane
4
- class MutatingWebhookConfiguration < KubernetesResource
5
- GLOBAL = true
6
-
7
- class Webhook
8
- EQUIVALENT = 'Equivalent'
9
- EXACT = 'Exact'
10
-
11
- class Rule
12
- def initialize(definition)
13
- @definition = definition
14
- end
15
-
16
- def matches_resource?(resource, accept_equivalent:)
17
- groups.each do |group|
18
- versions.each do |version|
19
- resources.each do |kind|
20
- return true if (resource.group == group || group == '*' || accept_equivalent) &&
21
- (resource.version == version || version == '*' || accept_equivalent) &&
22
- (resource.type.downcase == kind.downcase.singularize || kind == "*")
23
- end
24
- end
25
- end
26
- false
27
- end
28
-
29
- def groups
30
- @definition.dig('apiGroups')
31
- end
32
-
33
- def versions
34
- @definition.dig('apiVersions')
35
- end
36
-
37
- def resources
38
- @definition.dig('resources')
39
- end
40
- end
41
-
42
- def initialize(definition)
43
- @definition = definition
44
- end
45
-
46
- def side_effects
47
- @definition.dig('sideEffects')
48
- end
49
-
50
- def has_side_effects?
51
- # Note: After K8s 1.22, this should ALWAYS be false.
52
- !%w(None NoneOnDryRun).include?(side_effects)
53
- end
54
-
55
- def match_policy
56
- @definition.dig('matchPolicy')
57
- end
58
-
59
- def matches_resource?(resource, skip_rule_if_side_effect_none: true)
60
- return false if skip_rule_if_side_effect_none && !has_side_effects?
61
- rules.any? do |rule|
62
- rule.matches_resource?(resource, accept_equivalent: match_policy == EQUIVALENT)
63
- end
64
- end
65
-
66
- def rules
67
- @definition.fetch('rules', []).map { |rule| Rule.new(rule) }
68
- end
69
- end
70
-
71
- def initialize(namespace:, context:, definition:, logger:, statsd_tags:)
72
- @webhooks = (definition.dig('webhooks') || []).map { |hook| Webhook.new(hook) }
73
- super(namespace: namespace, context: context, definition: definition,
74
- logger: logger, statsd_tags: statsd_tags)
75
- end
76
-
77
- TIMEOUT = 30.seconds
78
-
79
- def deploy_succeeded?
80
- exists?
81
- end
82
-
83
- def webhooks
84
- @definition.fetch('webhooks', []).map { |webhook| Webhook.new(webhook) }
85
- end
86
- end
87
- end
data/lib/krane/oj.rb DELETED
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'oj'
3
-
4
- Oj.mimic_JSON