kuby-linode 0.3.1 → 0.3.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: 9fd71e724f804e265667db1fb050d23789a5744b7308775839315c0b4e174fc2
4
- data.tar.gz: 679760d1dc2827877d4894343534b3143aa0ab1e4e1962da49b9ef595a8cb3e6
3
+ metadata.gz: 4adc3c5f441e7fe64ef97e318917b3da98a6cfdb2750004fda7646d9c76bfdaa
4
+ data.tar.gz: 59d7e1f522d5cda5a5873e680793de1f278663238454975b3c8825ee82a2f4f3
5
5
  SHA512:
6
- metadata.gz: ae1265e033fe033b9241d30f07deed59443984a6e803d8460bc137ed08123839a46ad2140160aecd0519a334917ef80ba38858ea4305003ae6939c922ecfe5ca
7
- data.tar.gz: 5271713c84b009f2cf989b8bf7da4ad5dc6d9a253dc4060f466a6b3a294f23651a72cf8e3e37a0dbe75b11964f49df7422e97cb88f305563b33d5126de81d652
6
+ metadata.gz: fe33688a8587bdf15b55c68d2d526cbe682b66783dff8b8d234bd278eee71c41580c25e89bc3e6874a5d0168c41d2fdea73f08cbc25dd4011235a5b96a57001f
7
+ data.tar.gz: 762b468ca1a2a2375e70aadc946019bb689f94b9ac03fd91cbbfc1bcc55f8f69418d420abb9a8fc4fd01c323309620e1f345ac1cabc5d8de22f005358b7617de
@@ -1,3 +1,8 @@
1
+ ## 0.3.2
2
+ * Add a unique hash of the configuration options to the kubeconfig path.
3
+ * Update README with new environment syntax.
4
+ * Use `linode-block-storage-retain` storage class to prevent losing block storage volumes when PVCs are deleted.
5
+
1
6
  ## 0.3.1
2
7
  * Avoid `instance_eval`ing a `nil` block during configuration.
3
8
 
data/README.md CHANGED
@@ -13,14 +13,16 @@ All providers adhere to a specific interface, meaning you can swap out one provi
13
13
  Enable the Linode provider like so:
14
14
 
15
15
  ```ruby
16
- Kuby.define(:production) do
17
- kubernetes do
16
+ Kuby.define('MyApp') do
17
+ environment(:production) do
18
+ kubernetes do
18
19
 
19
- provider :linode do
20
- access_token 'my-linode-access-token'
21
- cluster_id 'my-cluster-id'
22
- end
20
+ provider :linode do
21
+ access_token 'my-linode-access-token'
22
+ cluster_id 'my-cluster-id'
23
+ end
23
24
 
25
+ end
24
26
  end
25
27
  end
26
28
  ```
@@ -1,4 +1,5 @@
1
1
  require 'kube-dsl'
2
+ require 'digest'
2
3
 
3
4
  module Kuby
4
5
  module Linode
@@ -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
@@ -5,7 +5,7 @@ module Kuby
5
5
  module Linode
6
6
  class Provider < Kuby::Kubernetes::Provider
7
7
  KUBECONFIG_EXPIRATION = 7 * 24 * 60 * 60 # 7 days
8
- STORAGE_CLASS_NAME = 'linode-block-storage'.freeze
8
+ STORAGE_CLASS_NAME = 'linode-block-storage-retain'.freeze
9
9
 
10
10
  attr_reader :config
11
11
 
@@ -15,7 +15,8 @@ module Kuby
15
15
 
16
16
  def kubeconfig_path
17
17
  @kubeconfig_path ||= File.join(
18
- kubeconfig_dir, "#{environment.app_name.downcase}-kubeconfig.yaml"
18
+ kubeconfig_dir,
19
+ "#{environment.app_name.downcase}-#{config.hash_value}-kubeconfig.yaml"
19
20
  )
20
21
  end
21
22
 
@@ -31,14 +32,18 @@ module Kuby
31
32
  STORAGE_CLASS_NAME
32
33
  end
33
34
 
35
+ def kubernetes_cli
36
+ @kubernetes_cli ||= ::KubernetesCLI.new(kubeconfig_path).tap do |cli|
37
+ cli.before_execute do
38
+ refresh_kubeconfig
39
+ end
40
+ end
41
+ end
42
+
34
43
  private
35
44
 
36
45
  def after_initialize
37
46
  @config = Config.new
38
-
39
- kubernetes_cli.before_execute do
40
- refresh_kubeconfig
41
- end
42
47
  end
43
48
 
44
49
  def client
@@ -1,5 +1,5 @@
1
1
  module Kuby
2
2
  module Linode
3
- VERSION = '0.3.1'.freeze
3
+ VERSION = '0.3.2'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kuby-linode
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
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: faraday