kuby-digitalocean 0.4.2 → 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
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