kubekrypt 2.2.0 → 2.2.3

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: 0fc12e50c4083f740004c80424c20d28abbdf9254be9e2c81752fa53c5b2ee9d
4
- data.tar.gz: 1c72fef635ece42c16605893d8580234ff0efb63e147bd99ab6e9d08ee6b52a7
3
+ metadata.gz: 101ea0dd17b015654925f7c24ff7101073f390a9d0784fa618017e1203392bc5
4
+ data.tar.gz: 6c1949385152a207dc3019723ab9709b171a871b3430f3d8cd900c6205119bde
5
5
  SHA512:
6
- metadata.gz: a4cf83f02bda125ed63c86ef872b023aac37393b1523bda8c583e60eef46e48c0e9e85fecfc0b4625158746a5cc9e643544e2d1f8a176fa6adad28e4f122c9ec
7
- data.tar.gz: 46ec255f4439a16e280f2cc666d16be278e463ea108cd8cfd3d8dedc7b1e73b0bc2917ba9f816d3d6ae64ab1dcf6e306fad6ca8686e7390a466293db424c0ffe
6
+ metadata.gz: 8d562fc536f8c11e37068e03fafcbe053534306b4c6835677b414e3ddea568f0ef1d10e216968d8ae4805369eb18f994e89ab45c4a929c29e43ba694617529ad
7
+ data.tar.gz: f28b90f7de3488c3f64982d11e6571355b7e5a7f13fe31c758d480f821b5c941ba1ef3770d2bcc0529fba4b92c57c003c510f948b0f715639e51d7c80b21f46b
@@ -14,7 +14,7 @@ jobs:
14
14
  ruby-version: [3.4, 4.0]
15
15
 
16
16
  steps:
17
- - uses: actions/checkout@v3
17
+ - uses: actions/checkout@v6
18
18
  - name: Set up Ruby
19
19
  uses: ruby/setup-ruby@v1
20
20
  with:
data/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.2.3] - 2026-06-14
4
+
5
+ ### Fixed
6
+ - `encrypt` and `decrypt` now raise `InvalidSecretError` when the manifest has no `data` key, instead of silently passing the content through. Previously such a manifest was printed back **unencrypted** in Ruby-inspect format — easy to redirect into an `.enc.yaml` file and commit plaintext secrets without noticing.
7
+
8
+ ## [2.2.2] - 2026-03-31
9
+
10
+ ### Changed
11
+ - Removed upper bound version constraint on `grpc` dependency
12
+
13
+ ## [2.2.1] - 2026-03-24
14
+
15
+ ### Fixed
16
+ - Removed `kind: Secret` validation which broke manifests that omit the `kind` field
17
+
3
18
  ## [2.2.0] - 2026-03-24
4
19
 
5
20
  ### Added
data/Gemfile CHANGED
@@ -8,4 +8,3 @@ gem "pry"
8
8
  gem "rake"
9
9
  gem "rspec"
10
10
  gem "standardrb"
11
- gem "rdoc"
data/Gemfile.lock CHANGED
@@ -1,24 +1,24 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- kubekrypt (2.2.0)
4
+ kubekrypt (2.2.3)
5
5
  google-cloud-kms
6
- grpc (< 1.74.0)
6
+ grpc
7
7
  thor (>= 1.0)
8
8
  yaml
9
9
 
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
- addressable (2.8.9)
13
+ addressable (2.9.0)
14
14
  public_suffix (>= 2.0.2, < 8.0)
15
15
  ast (2.4.3)
16
16
  base64 (0.3.0)
17
- bigdecimal (4.0.1)
17
+ bigdecimal (4.1.2)
18
18
  coderay (1.1.3)
19
19
  date (3.5.1)
20
20
  diff-lcs (1.6.2)
21
- erb (6.0.2)
21
+ erb (6.0.4)
22
22
  faraday (2.14.1)
23
23
  faraday-net_http (>= 2.0, < 3.5)
24
24
  json
@@ -55,19 +55,19 @@ GEM
55
55
  google-cloud-location (1.3.0)
56
56
  gapic-common (~> 1.2)
57
57
  google-cloud-errors (~> 1.0)
58
- google-iam-v1 (1.5.1)
58
+ google-iam-v1 (1.6.1)
59
59
  gapic-common (~> 1.2)
60
60
  google-cloud-errors (~> 1.0)
61
61
  grpc-google-iam-v1 (~> 1.11)
62
62
  google-logging-utils (0.2.0)
63
- google-protobuf (4.34.1)
63
+ google-protobuf (4.35.0)
64
64
  bigdecimal
65
65
  rake (~> 13.3)
66
66
  googleapis-common-protos (1.7.0)
67
67
  google-protobuf (>= 3.18, < 5.a)
68
68
  googleapis-common-protos-types (~> 1.7)
69
69
  grpc (~> 1.41)
70
- googleapis-common-protos-types (1.22.0)
70
+ googleapis-common-protos-types (1.23.0)
71
71
  google-protobuf (~> 4.26)
72
72
  googleauth (1.16.2)
73
73
  faraday (>= 1.0, < 3.a)
@@ -77,7 +77,7 @@ GEM
77
77
  multi_json (~> 1.11)
78
78
  os (>= 0.9, < 2.0)
79
79
  signet (>= 0.16, < 2.a)
80
- grpc (1.73.0)
80
+ grpc (1.81.0)
81
81
  google-protobuf (>= 3.25, < 5.0)
82
82
  googleapis-common-protos-types (~> 1.0)
83
83
  grpc-google-iam-v1 (1.11.0)
@@ -85,24 +85,24 @@ GEM
85
85
  googleapis-common-protos (~> 1.7.0)
86
86
  grpc (~> 1.41)
87
87
  io-console (0.8.2)
88
- irb (1.17.0)
88
+ irb (1.18.0)
89
89
  pp (>= 0.6.0)
90
90
  prism (>= 1.3.0)
91
91
  rdoc (>= 4.0.0)
92
92
  reline (>= 0.4.2)
93
- json (2.19.2)
93
+ json (2.19.3)
94
94
  jwt (3.1.2)
95
95
  base64
96
96
  language_server-protocol (3.17.0.5)
97
97
  lint_roller (1.1.0)
98
98
  logger (1.7.0)
99
99
  method_source (1.1.0)
100
- multi_json (1.19.1)
100
+ multi_json (1.20.1)
101
101
  net-http (0.9.1)
102
102
  uri (>= 0.11.1)
103
103
  os (1.1.4)
104
- parallel (1.27.0)
105
- parser (3.3.10.2)
104
+ parallel (1.28.0)
105
+ parser (3.3.11.1)
106
106
  ast (~> 2.4.1)
107
107
  racc
108
108
  pp (0.6.3)
@@ -119,12 +119,12 @@ GEM
119
119
  public_suffix (7.0.5)
120
120
  racc (1.8.1)
121
121
  rainbow (3.1.1)
122
- rake (13.3.1)
122
+ rake (13.4.2)
123
123
  rdoc (7.2.0)
124
124
  erb
125
125
  psych (>= 4.0.0)
126
126
  tsort
127
- regexp_parser (2.11.3)
127
+ regexp_parser (2.12.0)
128
128
  reline (0.6.3)
129
129
  io-console (~> 0.5)
130
130
  rspec (3.13.2)
@@ -196,9 +196,8 @@ DEPENDENCIES
196
196
  kubekrypt!
197
197
  pry
198
198
  rake
199
- rdoc
200
199
  rspec
201
200
  standardrb
202
201
 
203
202
  BUNDLED WITH
204
- 2.7.1
203
+ 4.0.9
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2025 Krzysztof Knapik
3
+ Copyright (c) 2026 Krzysztof Knapik
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/kubekrypt.gemspec CHANGED
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
27
27
  spec.require_paths = ["lib"]
28
28
 
29
29
  spec.add_dependency "google-cloud-kms"
30
- spec.add_dependency "grpc", "< 1.74.0" # 1.74.0 & google-cloud-kms produce segmentation fault errors
30
+ spec.add_dependency "grpc"
31
31
  spec.add_dependency "thor", ">= 1.0"
32
32
  spec.add_dependency "yaml"
33
33
  end
data/lib/kubekrypt/cli.rb CHANGED
@@ -44,9 +44,7 @@ module KubeKrypt
44
44
  end
45
45
 
46
46
  def load_secret(file_path)
47
- content = YAML.safe_load_file(file_path)
48
- raise InvalidSecretError, "#{file_path} is not a Kubernetes Secret" unless content["kind"] == "Secret"
49
- content
47
+ YAML.safe_load_file(file_path)
50
48
  rescue Psych::Exception => e
51
49
  raise InvalidSecretError, "#{file_path} is not valid YAML: #{e.message}"
52
50
  end
@@ -20,7 +20,9 @@ module KubeKrypt
20
20
  end
21
21
 
22
22
  def self.call(content:, base64:)
23
- return content unless content["data"]
23
+ unless content["data"]
24
+ raise InvalidSecretError, "no data key found — nothing to decrypt"
25
+ end
24
26
 
25
27
  key_name = content.fetch(METADATA_KEY).fetch(KMS_KEY.to_s)
26
28
  decryptor = new(key_name)
@@ -14,7 +14,10 @@ module KubeKrypt
14
14
  end
15
15
 
16
16
  def self.call(content:, key_name:)
17
- return content unless content["data"]
17
+ unless content["data"]
18
+ raise InvalidSecretError,
19
+ "no data key found — refusing to write the manifest through unencrypted"
20
+ end
18
21
 
19
22
  encryptor = new(key_name)
20
23
 
@@ -1,3 +1,3 @@
1
1
  module KubeKrypt
2
- VERSION = "2.2.0".freeze
2
+ VERSION = "2.2.3".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kubekrypt
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Krzysztof Knapik
@@ -27,16 +27,16 @@ dependencies:
27
27
  name: grpc
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
- - - "<"
30
+ - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 1.74.0
32
+ version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - "<"
37
+ - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: 1.74.0
39
+ version: '0'
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: thor
42
42
  requirement: !ruby/object:Gem::Requirement
@@ -111,7 +111,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
111
  - !ruby/object:Gem::Version
112
112
  version: '0'
113
113
  requirements: []
114
- rubygems_version: 4.0.8
114
+ rubygems_version: 4.0.10
115
115
  specification_version: 4
116
116
  summary: KubeKrypt provides seamless encryption and decryption of Kubernetes Secret
117
117
  menifests using Google Cloud KMS