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 +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +8 -6
- data/lib/kuby/linode/config.rb +7 -0
- data/lib/kuby/linode/provider.rb +11 -6
- data/lib/kuby/linode/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4adc3c5f441e7fe64ef97e318917b3da98a6cfdb2750004fda7646d9c76bfdaa
|
4
|
+
data.tar.gz: 59d7e1f522d5cda5a5873e680793de1f278663238454975b3c8825ee82a2f4f3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fe33688a8587bdf15b55c68d2d526cbe682b66783dff8b8d234bd278eee71c41580c25e89bc3e6874a5d0168c41d2fdea73f08cbc25dd4011235a5b96a57001f
|
7
|
+
data.tar.gz: 762b468ca1a2a2375e70aadc946019bb689f94b9ac03fd91cbbfc1bcc55f8f69418d420abb9a8fc4fd01c323309620e1f345ac1cabc5d8de22f005358b7617de
|
data/CHANGELOG.md
CHANGED
@@ -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(
|
17
|
-
|
16
|
+
Kuby.define('MyApp') do
|
17
|
+
environment(:production) do
|
18
|
+
kubernetes do
|
18
19
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
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
|
```
|
data/lib/kuby/linode/config.rb
CHANGED
@@ -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
|
data/lib/kuby/linode/provider.rb
CHANGED
@@ -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,
|
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
|
data/lib/kuby/linode/version.rb
CHANGED
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.
|
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-
|
11
|
+
date: 2020-11-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|