kube_cluster 0.17.1 → 0.19.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 928086733f7475611aa69193643f88719d926b70bb4aa3ed9d8a1c8f27efdec7
4
- data.tar.gz: 3cc456aa515c6ca51fd87f26d35b2fcc740d984f8d907385a9f4b46bfc273a1c
3
+ metadata.gz: f34a3e7597684828b1eb8bec262fd5984feea77804f72e9c146fad7e56319fab
4
+ data.tar.gz: cadf54e5cc8d09a78c80a5a04af28599c5dbcea32b28b994aff4938e6bd87d58
5
5
  SHA512:
6
- metadata.gz: 9fb588b0b214cad46930473827384993fb0577d9997ae1a60a2a5e808eb23a792697d95e877d31e959661322b7adf1c2c31ecaf41cc7a910e132ad728f31bab4
7
- data.tar.gz: 240eb7a87911cb284cd6fc2526608f843dadfee100f25b7b9611e6a27531d440604ae9c7b1d8586b26b5b926292c01f98ffd97e64c51659c0bad983629322e41
6
+ metadata.gz: 6bc3284cc8cd5f0744ae31b51d281578575d9131f53b86b452212f8fbadd04c076d8dd65fab7dcfc0e16d68b2bb38f22052364e94f1d3bdae6500a0f8073065b
7
+ data.tar.gz: edd75fdfe667d257e742394957abca73fff227e31f33cde157ffbf5cf96731c5e7b5e6e6d32ab9a3624f9c77cd7d4c17c9f6ee4d5bc997be60542de00a79f570
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- kube_cluster (0.17.1)
4
+ kube_cluster (0.18.0)
5
5
  activesupport (~> 8.0)
6
6
  kube_kubectl (~> 2.0)
7
7
  kube_schema (~> 1.7)
data/kube_cluster.gemspec CHANGED
@@ -33,7 +33,7 @@ Gem::Specification.new do |spec|
33
33
  spec.add_development_dependency "rake", "~> 13.0"
34
34
  spec.add_development_dependency "rubocop", "~> 1.21"
35
35
 
36
- spec.add_dependency "kube_schema", "~> 1.7"
36
+ spec.add_dependency "kube_schema", "~> 1.8"
37
37
  spec.add_dependency "kube_kubectl", "~> 2.0"
38
38
  spec.add_dependency "activesupport", "~> 8.0"
39
39
  end
@@ -17,6 +17,11 @@ module Kube
17
17
  # "FOO" => secret.template("{{ .bar }}")
18
18
  # => { name: "FOO", valueFrom: { secretKeyRef: { name: "secret-name", key: "FOO" } } }
19
19
  #
20
+ # Secret::KeyRef values reference an existing secret's key directly
21
+ # (the same Secret.new(name:).key(...) form used by volume_mounts):
22
+ # "FOO" => Secret.new(name: "creds").key("bar")
23
+ # => { name: "FOO", valueFrom: { secretKeyRef: { name: "creds", key: "bar" } } }
24
+ #
20
25
  def self.process(env)
21
26
  return env if env.is_a?(Array)
22
27
  return [] if env.nil?
@@ -24,9 +29,12 @@ module Kube
24
29
  env.map do |key, value|
25
30
  key = key.to_s
26
31
 
27
- if value.is_a?(ESO::ExternalSecret::TemplateRef)
32
+ case value
33
+ when ESO::ExternalSecret::TemplateRef
28
34
  value.secret.register_template!(key, value.template_value)
29
35
  { name: key, valueFrom: { secretKeyRef: { name: value.secret.secret_name, key: key } } }
36
+ when Kube::Cluster::Standard::Secret::KeyRef
37
+ { name: key, valueFrom: { secretKeyRef: { name: value.secret.secret_name, key: value.key_name } } }
30
38
  else
31
39
  { name: key, value: value.to_s }
32
40
  end
@@ -38,5 +46,21 @@ module Kube
38
46
  end
39
47
 
40
48
  test do
41
- # no op
49
+ describe "EnvProcessing" do
50
+ it "maps a Secret::KeyRef to a secretKeyRef env var" do
51
+ secret = Kube::Cluster::Standard::Secret.new(name: "passbolt-db-creds")
52
+
53
+ Kube::Cluster::Standard::EnvProcessing
54
+ .process("DB_PASSWORD" => secret.key("password"))
55
+ .should == [
56
+ { name: "DB_PASSWORD", valueFrom: { secretKeyRef: { name: "passbolt-db-creds", key: "password" } } }
57
+ ]
58
+ end
59
+
60
+ it "still maps plain string values to value env vars" do
61
+ Kube::Cluster::Standard::EnvProcessing
62
+ .process("FOO" => "bar")
63
+ .should == [{ name: "FOO", value: "bar" }]
64
+ end
65
+ end
42
66
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Kube
4
4
  module Cluster
5
- VERSION = "0.17.1"
5
+ VERSION = "0.19.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kube_cluster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.1
4
+ version: 0.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan K
@@ -57,14 +57,14 @@ dependencies:
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '1.7'
60
+ version: '1.8'
61
61
  type: :runtime
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '1.7'
67
+ version: '1.8'
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: kube_kubectl
70
70
  requirement: !ruby/object:Gem::Requirement