krane 3.6.0 → 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c4fbeac365a394dbe14c05850c06c8244384f90cf205fe97036f76533f70d347
4
- data.tar.gz: dad9b5ae3898b73a9323a2f6440130bca8279de9617b5643945d3dc6bd6ca386
3
+ metadata.gz: ba72a52b848777243b9335d8df21f98080fcf49142706c2443bf40475d071b5f
4
+ data.tar.gz: 4f1a17c291e5ef38847f7a083cc1d6dcc00262c0dd447a39b7c39ab044268142
5
5
  SHA512:
6
- metadata.gz: ee9b35d145a99a127d9d4ec7f8dd4414e0fcd7f3c495e7278d70007faa5505806025bf26db08ff6b66d1b8bb17cccde6b54759ae3ca8b1d19dcfd070e2f99099
7
- data.tar.gz: ecefda0f27ab181082792b63f94988bcc6a0e90b611f1bab16cbbe58091a2fd38724190e3556f53b80925ffa49f6082a5296d71fd3217d6a036c7f69768cc981
6
+ metadata.gz: fdae1d679008ec4de4ee83c2f1925f7b168456189f824face6b3d3f7079bdda89c25bea6da676ab95508cc5ce125587863e8af307a6f6d3814dc75b029280d56
7
+ data.tar.gz: 603e6f890a482b0e549ed9b1c0deca4ae3e4bb73144c7174f2a430c964127ee4cd75d516eb4e7561258afac29c711f5b595c3cc35316cf4c9e05a6a1aeab9bf0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  ## next
2
2
 
3
+ ## 3.6.2
4
+
5
+ - Pinning `stats-instrument` to < 3.9 to avoid breaking changes.
6
+
7
+ ## 3.6.1
8
+
9
+ *Features*
10
+
11
+ - Enable the option to bypass endpoint validation for a service by using the annotation `krane.shopify.io/skip-endpoint-validation: true`.
12
+
3
13
  ## 3.6.0
4
14
 
5
15
  - Test against k8s 1.29, 1.30
data/README.md CHANGED
@@ -176,6 +176,10 @@ before the deployment is considered successful.
176
176
  - _Accepted values_: `create`, `replace`, and `replace-force`
177
177
  - _Warning_: Resources whose deploy method is overridden are no longer subject to pruning on deploy.
178
178
  - This feature is _experimental_ and may be removed at any time.
179
+ - `krane.shopify.io/skip-endpoint-validation`: Skip endpoint validation for the service.
180
+ - _Compatibility_: Service
181
+ - _Default_: `false`
182
+ - `true`: Endpoint validation is not performed during the deployment of the service.
179
183
 
180
184
 
181
185
  ### Running tasks at the beginning of a deploy
data/dev.yml CHANGED
@@ -9,7 +9,15 @@ up:
9
9
  image: kindest/node:v1.28.0@sha256:dad5a6238c5e41d7cac405fae3b5eda2ad1de6f1190fa8bfc64ff5bb86173213
10
10
  commands:
11
11
  test:
12
- run: bin/test
12
+ run: bin/test unit_test && bin/test cli_test && bin/test serial_integration_test && bin/test integration_test
13
+ test-unit:
14
+ run: bin/test unit_test
15
+ test-cli:
16
+ run: bin/test cli_test
17
+ test-serial_integration:
18
+ run: bin/test serial_integration_test,
19
+ test-integration:
20
+ run: bin/test integration_test
13
21
  tophat:
14
22
  run: PRINT_LOGS=1 bundle exec ruby -I test test/integration/krane_deploy_test.rb -n/${1}/
15
23
  desc: Tophat a change by running a test scenario with logging output enabled.
data/krane.gemspec CHANGED
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
31
31
  spec.add_dependency("googleauth", "~> 1.2")
32
32
  spec.add_dependency("ejson", "~> 1.0")
33
33
  spec.add_dependency("colorize", "~> 0.8")
34
- spec.add_dependency("statsd-instrument", ['>= 2.8', "< 4"])
34
+ spec.add_dependency("statsd-instrument", ['>= 2.8', "< 3.9"])
35
35
  spec.add_dependency("multi_json")
36
36
  spec.add_dependency("concurrent-ruby", "~> 1.1")
37
37
  spec.add_dependency("jsonpath", "~> 1.0")
@@ -5,6 +5,7 @@ module Krane
5
5
  class Service < KubernetesResource
6
6
  TIMEOUT = 7.minutes
7
7
  SYNC_DEPENDENCIES = %w(Pod Deployment StatefulSet)
8
+ SKIP_ENDPOINT_VALIDATION_ANNOTATION = 'skip-endpoint-validation'
8
9
 
9
10
  def sync(cache)
10
11
  super
@@ -59,6 +60,9 @@ module Krane
59
60
  end
60
61
 
61
62
  def requires_endpoints?
63
+ # skip validation if the annotation is present
64
+ return false if skip_endpoint_validation
65
+
62
66
  # services of type External don't have endpoints
63
67
  return false if external_name_svc?
64
68
 
@@ -96,5 +100,9 @@ module Krane
96
100
  def published?
97
101
  @instance_data.dig('status', 'loadBalancer', 'ingress').present?
98
102
  end
103
+
104
+ def skip_endpoint_validation
105
+ krane_annotation_value(SKIP_ENDPOINT_VALIDATION_ANNOTATION) == 'true'
106
+ end
99
107
  end
100
108
  end
data/lib/krane/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Krane
3
- VERSION = "3.6.0"
3
+ VERSION = "3.6.2"
4
4
  end
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: 3.6.0
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: 2024-05-22 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
@@ -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,7 +101,7 @@ 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
106
  name: multi_json
107
107
  requirement: !ruby/object:Gem::Requirement
@@ -512,7 +512,7 @@ licenses:
512
512
  - MIT
513
513
  metadata:
514
514
  allowed_push_host: https://rubygems.org
515
- post_install_message:
515
+ post_install_message:
516
516
  rdoc_options: []
517
517
  require_paths:
518
518
  - lib
@@ -527,8 +527,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
527
527
  - !ruby/object:Gem::Version
528
528
  version: '0'
529
529
  requirements: []
530
- rubygems_version: 3.5.10
531
- signing_key:
530
+ rubygems_version: 3.5.17
531
+ signing_key:
532
532
  specification_version: 4
533
533
  summary: A command line tool that helps you ship changes to a Kubernetes namespace
534
534
  and understand the result