kuby-linode 0.3.1 → 0.3.2

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: 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