kuby-digitalocean 0.4.2 → 0.4.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: 3a43bc71b87fb4fe94037faf4f58a8e33bd4ea9d1c69ceb4d8ce8454e7289b5f
4
- data.tar.gz: 85253c257b232de82f8c48cfe848e4c4024d837a1bfc7d176854e270067a3515
3
+ metadata.gz: e634fdfb6ddb23305dc7f7fa7305a930316e6cbde11a8d8a20410978ed9b6767
4
+ data.tar.gz: ec0047d9b187c1f1ed31c6ea888ca3d5a0dc5999f6f12d24c25b2a0c7fa4c2e8
5
5
  SHA512:
6
- metadata.gz: c4d26863bd741b26ae8c0f7a0191eacd324a73214d14e9287885f89405f8b5bb1212b281e02fed0005c92c4db477ad41c213212fc57ae43133b331cbe9ad54df
7
- data.tar.gz: 3e92891b55bfe0cbbad4be33261e47338ac521c470403aef271fe33cc62711aa95485ec7edd56d5a0b74a17b8d56c4945f9a438db6a6a994cfb64ae06b6653e1
6
+ metadata.gz: 1dbc54986ddc3293495f49b1b1386af7a04b7f684f6ec9eb344ef957fef1c947a43e129a8c3515fc803554a86c25213bac2b1ce937075a1d025a5803e8e19fe6
7
+ data.tar.gz: 0f1cae30703cfe7adb1bdeea1404f63e08c6cfb00cc418324fb81f4772e50b0f49d8a5f6c1897c4238f35756bb8a83d8345239d365fac48bfb99d415a4286f43
@@ -1,3 +1,6 @@
1
+ ## 0.4.3
2
+ * Add a unique hash of the configuration options to the kubeconfig path (#3, @pandwoter)
3
+
1
4
  ## 0.4.2
2
5
  * Avoid `instance_eval`ing a `nil` block during configuration.
3
6
 
@@ -1,4 +1,5 @@
1
1
  require 'kube-dsl'
2
+ require 'digest'
2
3
 
3
4
  module Kuby
4
5
  module DigitalOcean
@@ -6,6 +7,12 @@ module Kuby
6
7
  extend ::KubeDSL::ValueFields
7
8
 
8
9
  value_fields :access_token, :cluster_id
10
+
11
+ def hash_value
12
+ Digest::SHA256.hexdigest(
13
+ [access_token, cluster_id].join(':')
14
+ )
15
+ end
9
16
  end
10
17
  end
11
18
  end
@@ -2,6 +2,7 @@ require 'kuby'
2
2
  require 'droplet_kit'
3
3
  require 'fileutils'
4
4
  require 'tmpdir'
5
+ require 'digest'
5
6
 
6
7
  module Kuby
7
8
  module DigitalOcean
@@ -16,8 +17,9 @@ module Kuby
16
17
  end
17
18
 
18
19
  def kubeconfig_path
19
- @kubeconfig_path ||= File.join(
20
- kubeconfig_dir, "#{environment.app_name.downcase}-kubeconfig.yaml"
20
+ File.join(
21
+ kubeconfig_dir,
22
+ "#{environment.app_name.downcase}-#{config.hash_value}-kubeconfig.yaml"
21
23
  )
22
24
  end
23
25
 
@@ -61,14 +63,18 @@ module Kuby
61
63
  STORAGE_CLASS_NAME
62
64
  end
63
65
 
66
+ def kubernetes_cli
67
+ @kubernetes_cli ||= ::KubernetesCLI.new(kubeconfig_path).tap do |cli|
68
+ cli.before_execute do
69
+ refresh_kubeconfig
70
+ end
71
+ end
72
+ end
73
+
64
74
  private
65
75
 
66
76
  def after_initialize
67
77
  @config = Config.new
68
-
69
- kubernetes_cli.before_execute do
70
- refresh_kubeconfig
71
- end
72
78
  end
73
79
 
74
80
  def client
@@ -1,5 +1,5 @@
1
1
  module Kuby
2
2
  module DigitalOcean
3
- VERSION = '0.4.2'.freeze
3
+ VERSION = '0.4.3'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kuby-digitalocean
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cameron Dutro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-05 00:00:00.000000000 Z
11
+ date: 2020-11-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: droplet_kit