kuby-linode 0.1.0 → 0.2.0
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 +6 -0
- data/README.md +36 -0
- data/lib/kuby/linode/provider.rb +15 -6
- data/lib/kuby/linode/version.rb +1 -1
- metadata +7 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f2b02f5b7ceb4756e4c177d3e2cbddb01340e4483c445be7450022da2d0abe75
|
4
|
+
data.tar.gz: d203e31153215b224a1fd7eb1b46edcabdf515da1074d8aa01c6451623fbadff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6fe8b16ab0a4d5d84f6782f7683df929c4a9655ce25bcd4295c1c84fb1ed230090a805b399898400405bb5ce1916a436137c880f559c7294d04c956f41ae6561
|
7
|
+
data.tar.gz: d4e02a93bbc31e140922afe500d35645f3ee7fc427265f88ef59f9c8ae22189348bdcb8e1220962ed680ab72d709b449551196094ed12cfe4d83245e444bc627
|
data/CHANGELOG.md
CHANGED
data/README.md
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
## kuby-linode
|
2
|
+
|
3
|
+
Linode provider for [Kuby](https://github.com/getkuby/kuby-core).
|
4
|
+
|
5
|
+
## Intro
|
6
|
+
|
7
|
+
In Kuby parlance, a "provider" is an [adapter](https://en.wikipedia.org/wiki/Adapter_pattern) that enables Kuby to deploy apps to a specific cloud provider. In this case, we're talking about [Linode](https://www.linode.com/).
|
8
|
+
|
9
|
+
All providers adhere to a specific interface, meaning you can swap out one provider for another without having to change your code.
|
10
|
+
|
11
|
+
## Usage
|
12
|
+
|
13
|
+
Enable the Linode provider like so:
|
14
|
+
|
15
|
+
```ruby
|
16
|
+
Kuby.define(:production) do
|
17
|
+
kubernetes do
|
18
|
+
|
19
|
+
provider :linode do
|
20
|
+
access_token 'my-linode-access-token'
|
21
|
+
cluster_id 'my-cluster-id'
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
26
|
+
```
|
27
|
+
|
28
|
+
Once configured, you should be able to run all the Kuby rake tasks as you would with any provider.
|
29
|
+
|
30
|
+
## License
|
31
|
+
|
32
|
+
Licensed under the MIT license. See LICENSE for details.
|
33
|
+
|
34
|
+
## Authors
|
35
|
+
|
36
|
+
* Cameron C. Dutro: http://github.com/camertron
|
data/lib/kuby/linode/provider.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'fileutils'
|
2
|
+
require 'tmpdir'
|
2
3
|
|
3
4
|
module Kuby
|
4
5
|
module Linode
|
@@ -13,12 +14,16 @@ module Kuby
|
|
13
14
|
end
|
14
15
|
|
15
16
|
def kubeconfig_path
|
16
|
-
@kubeconfig_path ||=
|
17
|
-
"#{definition.app_name.downcase}-kubeconfig.yaml"
|
18
|
-
)
|
17
|
+
@kubeconfig_path ||= File.join(
|
18
|
+
kubeconfig_dir, "#{definition.app_name.downcase}-kubeconfig.yaml"
|
19
|
+
)
|
19
20
|
end
|
20
21
|
|
21
|
-
def
|
22
|
+
def before_setup
|
23
|
+
refresh_kubeconfig
|
24
|
+
end
|
25
|
+
|
26
|
+
def before_deploy(*)
|
22
27
|
refresh_kubeconfig
|
23
28
|
end
|
24
29
|
|
@@ -30,6 +35,10 @@ module Kuby
|
|
30
35
|
|
31
36
|
def after_initialize
|
32
37
|
@config = Config.new
|
38
|
+
|
39
|
+
kubernetes_cli.before_execute do
|
40
|
+
refresh_kubeconfig
|
41
|
+
end
|
33
42
|
end
|
34
43
|
|
35
44
|
def client
|
@@ -53,8 +62,8 @@ module Kuby
|
|
53
62
|
end
|
54
63
|
|
55
64
|
def kubeconfig_dir
|
56
|
-
@kubeconfig_dir ||=
|
57
|
-
|
65
|
+
@kubeconfig_dir ||= File.join(
|
66
|
+
Dir.tmpdir, 'kuby-linode'
|
58
67
|
)
|
59
68
|
end
|
60
69
|
end
|
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.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cameron Dutro
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-06
|
11
|
+
date: 2020-08-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -48,6 +48,7 @@ files:
|
|
48
48
|
- CHANGELOG.md
|
49
49
|
- Gemfile
|
50
50
|
- LICENSE
|
51
|
+
- README.md
|
51
52
|
- Rakefile
|
52
53
|
- kuby-linode.gemspec
|
53
54
|
- lib/kuby/linode.rb
|
@@ -58,7 +59,7 @@ files:
|
|
58
59
|
homepage: http://github.com/getkuby/kuby-linode
|
59
60
|
licenses: []
|
60
61
|
metadata: {}
|
61
|
-
post_install_message:
|
62
|
+
post_install_message:
|
62
63
|
rdoc_options: []
|
63
64
|
require_paths:
|
64
65
|
- lib
|
@@ -73,8 +74,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
73
74
|
- !ruby/object:Gem::Version
|
74
75
|
version: '0'
|
75
76
|
requirements: []
|
76
|
-
rubygems_version: 3.
|
77
|
-
signing_key:
|
77
|
+
rubygems_version: 3.1.4
|
78
|
+
signing_key:
|
78
79
|
specification_version: 4
|
79
80
|
summary: Linode provider for Kuby.
|
80
81
|
test_files: []
|