krane 2.3.0 → 2.3.4
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/CODEOWNERS +1 -1
- data/CHANGELOG.md +16 -0
- data/krane.gemspec +2 -0
- data/lib/krane/renderer.rb +1 -1
- data/lib/krane/restart_task.rb +3 -3
- data/lib/krane/template_sets.rb +1 -1
- data/lib/krane/version.rb +1 -1
- metadata +30 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e1fd1232d053c7f2bc648a315551c103ebd4792165f7b8c9b81f1c0b2f810bc
|
4
|
+
data.tar.gz: 214360319ed90c6bc752d99ee1b3e08244703ad56d3b5e964993fccee2b7562c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a98198f5aed91b383295bf7ddcd9dad6bdcc68d5361582ef873fa53b7b191d92963c9bd359c841f0c95b7e3c007e0f32dbc331019d5c8a4bf2c4358ccf0aac5c
|
7
|
+
data.tar.gz: 6267bef54343cdf3c301cab0bd377a1d6110b1c2862bdf2dc5288fd0ffba8337a1cc88aa7e708e8a19dd042646699e3ad64c3d23171e0f23a9a5f5a85fcf470c
|
data/.github/CODEOWNERS
CHANGED
@@ -1 +1 @@
|
|
1
|
-
* @Shopify/
|
1
|
+
* @Shopify/app-lifecycle
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,21 @@
|
|
1
1
|
## next
|
2
2
|
|
3
|
+
## 2.3.4
|
4
|
+
|
5
|
+
- Fix for [CVE-2021-41817](https://www.ruby-lang.org/en/news/2021/11/15/date-parsing-method-regexp-dos-cve-2021-41817/). See [ServicesDB action item here](https://services.shopify.io/action_items/definitions/isolated/59).
|
6
|
+
|
7
|
+
## 2.3.3
|
8
|
+
|
9
|
+
- Another Psych 4.0 compatibility fix [#844](https://github.com/Shopify/krane/pull/844)
|
10
|
+
|
11
|
+
## 2.3.2
|
12
|
+
|
13
|
+
- Fix compatibility with Psych 4.0 [#843](https://github.com/Shopify/krane/pull/843)
|
14
|
+
|
15
|
+
## 2.3.1
|
16
|
+
|
17
|
+
- Fix a bug in RestartTask where a NoMethodError is thrown if any of the target resources do not have annotations [#841](https://github.com/Shopify/krane/pull/841)
|
18
|
+
|
3
19
|
## 2.3.0
|
4
20
|
|
5
21
|
- Restart tasks now support restarting StatefulSets and DaemonSets, in addition to Deployments [#836](https://github.com/Shopify/krane/pull/836)
|
data/krane.gemspec
CHANGED
@@ -27,6 +27,8 @@ Gem::Specification.new do |spec|
|
|
27
27
|
|
28
28
|
spec.required_ruby_version = '>= 2.6.0'
|
29
29
|
spec.add_dependency("activesupport", ">= 5.0")
|
30
|
+
spec.add_dependency("cgi")
|
31
|
+
spec.add_dependency("date")
|
30
32
|
spec.add_dependency("kubeclient", "~> 4.3")
|
31
33
|
spec.add_dependency("googleauth", "~> 0.8")
|
32
34
|
spec.add_dependency("ejson", "~> 1.0")
|
data/lib/krane/renderer.rb
CHANGED
@@ -58,7 +58,7 @@ module Krane
|
|
58
58
|
template = File.read(partial_path)
|
59
59
|
expanded_template = ERB.new(template, trim_mode: '-').result(erb_binding)
|
60
60
|
|
61
|
-
docs = Psych.parse_stream(expanded_template, partial_path)
|
61
|
+
docs = Psych.parse_stream(expanded_template, filename: partial_path)
|
62
62
|
# If the partial contains multiple documents or has an explicit document header,
|
63
63
|
# we know it cannot validly be indented in the parent, so return it immediately.
|
64
64
|
return expanded_template unless docs.children.one? && docs.children.first.implicit
|
data/lib/krane/restart_task.rb
CHANGED
@@ -166,7 +166,7 @@ module Krane
|
|
166
166
|
selector_string = selector.to_s
|
167
167
|
apps_v1_kubeclient.get_deployments(namespace: @namespace, label_selector: selector_string)
|
168
168
|
end
|
169
|
-
deployments.select { |d| d.metadata
|
169
|
+
deployments.select { |d| d.dig(:metadata, :annotations, ANNOTATION) }
|
170
170
|
end
|
171
171
|
|
172
172
|
def identify_target_statefulsets(selector: nil)
|
@@ -176,7 +176,7 @@ module Krane
|
|
176
176
|
selector_string = selector.to_s
|
177
177
|
apps_v1_kubeclient.get_stateful_sets(namespace: @namespace, label_selector: selector_string)
|
178
178
|
end
|
179
|
-
statefulsets.select { |
|
179
|
+
statefulsets.select { |ss| ss.dig(:metadata, :annotations, ANNOTATION) }
|
180
180
|
end
|
181
181
|
|
182
182
|
def identify_target_daemonsets(selector: nil)
|
@@ -186,7 +186,7 @@ module Krane
|
|
186
186
|
selector_string = selector.to_s
|
187
187
|
apps_v1_kubeclient.get_daemon_sets(namespace: @namespace, label_selector: selector_string)
|
188
188
|
end
|
189
|
-
daemonsets.select { |
|
189
|
+
daemonsets.select { |ds| ds.dig(:metadata, :annotations, ANNOTATION) }
|
190
190
|
end
|
191
191
|
|
192
192
|
def build_watchables(kubeclient_resources, started, klass)
|
data/lib/krane/template_sets.rb
CHANGED
@@ -77,7 +77,7 @@ module Krane
|
|
77
77
|
def templates(filename:, raw:)
|
78
78
|
file_content = File.read(File.join(@template_dir, filename))
|
79
79
|
rendered_content = @renderer ? @renderer.render_template(filename, file_content) : file_content
|
80
|
-
YAML.load_stream(rendered_content, "<rendered> #{filename}") do |doc|
|
80
|
+
YAML.load_stream(rendered_content, filename: "<rendered> #{filename}") do |doc|
|
81
81
|
next if doc.blank?
|
82
82
|
unless doc.is_a?(Hash)
|
83
83
|
raise InvalidTemplateError.new("Template is not a valid Kubernetes manifest",
|
data/lib/krane/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: krane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.
|
4
|
+
version: 2.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Katrina Verey
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2021-
|
13
|
+
date: 2021-11-24 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
@@ -26,6 +26,34 @@ dependencies:
|
|
26
26
|
- - ">="
|
27
27
|
- !ruby/object:Gem::Version
|
28
28
|
version: '5.0'
|
29
|
+
- !ruby/object:Gem::Dependency
|
30
|
+
name: cgi
|
31
|
+
requirement: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
33
|
+
- - ">="
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '0'
|
36
|
+
type: :runtime
|
37
|
+
prerelease: false
|
38
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '0'
|
43
|
+
- !ruby/object:Gem::Dependency
|
44
|
+
name: date
|
45
|
+
requirement: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - ">="
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0'
|
50
|
+
type: :runtime
|
51
|
+
prerelease: false
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '0'
|
29
57
|
- !ruby/object:Gem::Dependency
|
30
58
|
name: kubeclient
|
31
59
|
requirement: !ruby/object:Gem::Requirement
|