civo_cli 0.4.0 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/Gemfile.lock +7 -3
- data/lib/civo_cli/version.rb +1 -1
- data/lib/civo_cli.rb +12 -0
- data/lib/finder.rb +9 -0
- data/lib/kubernetes.rb +13 -4
- 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: b5787d9ab0c66dee190959129ab97d5358b5e93c439db620085c81122810abaa
|
4
|
+
data.tar.gz: 5c229c96e001eca1027b4ed66de391d50555d2457673a3d019fedf90276fa772
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aa88841fdc522e311818d1e678dc057e2e8ae5931d803628bd700db0be1479528578d375c21b8602a1ad4cad0597a63a096e0a4a85bd489996be3dcc7e133139
|
7
|
+
data.tar.gz: 54805d074e258962b9f6b1cc70d3b3c0b744343d5a9ab0ac808f27ac470f954f3dc87d2794b81289b16358ffad47d097575e12b56402f59e81a50179815a9788
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,17 @@ All notable changes to the Civo CLI will be documented in this file.
|
|
3
3
|
|
4
4
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
5
5
|
|
6
|
+
## [0.4.2] - 2019-09-26
|
7
|
+
### Changed
|
8
|
+
- Add ability to specify a version when creating a cluster (default to our current version).
|
9
|
+
|
10
|
+
## [0.4.1] - 2019-09-21
|
11
|
+
### Changed
|
12
|
+
- `civo kubernetes config` will show an error (and exit with a non-zero status) if the config isn't available from the server
|
13
|
+
|
14
|
+
### Added
|
15
|
+
- Add `civo update` command to automatically update your `civo_cli` Ruby gem to the latest version.
|
16
|
+
|
6
17
|
## [0.4.0] - 2019-09-17
|
7
18
|
### Changed
|
8
19
|
- Now the capability exists for pre-installed applications in a cluster, ensure they aren't manually installed
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
civo_cli (0.4.
|
4
|
+
civo_cli (0.4.2)
|
5
5
|
bundler (~> 1.17)
|
6
6
|
civo (>= 1.2.8)
|
7
7
|
colorize
|
@@ -35,10 +35,11 @@ GEM
|
|
35
35
|
faraday (0.15.4)
|
36
36
|
multipart-post (>= 1.2, < 3)
|
37
37
|
ffi (1.11.1)
|
38
|
-
flexirest (1.8.
|
38
|
+
flexirest (1.8.5)
|
39
39
|
activesupport
|
40
40
|
crack
|
41
41
|
faraday
|
42
|
+
mime-types
|
42
43
|
multi_json
|
43
44
|
formatador (0.2.5)
|
44
45
|
guard (2.15.0)
|
@@ -66,7 +67,10 @@ GEM
|
|
66
67
|
ruby_dep (~> 1.2)
|
67
68
|
lumberjack (1.0.13)
|
68
69
|
method_source (0.9.2)
|
69
|
-
|
70
|
+
mime-types (3.3)
|
71
|
+
mime-types-data (~> 3.2015)
|
72
|
+
mime-types-data (3.2019.0904)
|
73
|
+
minitest (5.12.0)
|
70
74
|
multi_json (1.13.1)
|
71
75
|
multipart-post (2.1.1)
|
72
76
|
nenv (0.3.0)
|
data/lib/civo_cli/version.rb
CHANGED
data/lib/civo_cli.rb
CHANGED
@@ -12,6 +12,8 @@ module CivoCLI
|
|
12
12
|
class Error < StandardError; end
|
13
13
|
|
14
14
|
class Main < Thor
|
15
|
+
check_unknown_options!
|
16
|
+
|
15
17
|
desc "apikey", "manage API keys stored in the client"
|
16
18
|
subcommand "apikey", CivoCLI::APIKey
|
17
19
|
map "apikeys" => "apikey"
|
@@ -79,6 +81,16 @@ module CivoCLI
|
|
79
81
|
subcommand "template", CivoCLI::Template
|
80
82
|
map "templates" => "template"
|
81
83
|
|
84
|
+
desc "update", "update to the latest Civo CLI"
|
85
|
+
def update
|
86
|
+
output = `gem update civo_cli 2>&1`
|
87
|
+
if output["You don't have write permissions"]
|
88
|
+
puts "Updating Civo CLI with sudo permissions (unable to do it without)"
|
89
|
+
`sudo gem update civo_cli 2>&1`
|
90
|
+
end
|
91
|
+
version
|
92
|
+
end
|
93
|
+
|
82
94
|
desc "version", "show the version of Civo CLI used"
|
83
95
|
def version
|
84
96
|
gem_details = Civo::Base._request("https://rubygems.org/api/v1/gems/civo_cli.json")
|
data/lib/finder.rb
CHANGED
@@ -5,6 +5,15 @@ class Finder
|
|
5
5
|
result << cluster
|
6
6
|
end
|
7
7
|
|
8
|
+
if id.blank?
|
9
|
+
if result.count == 1
|
10
|
+
return result[0]
|
11
|
+
elsif result.count > 1
|
12
|
+
puts 'Multiple possible Kubernetes clusters found. Please try again and specify the cluster with --cluster=NAME.'
|
13
|
+
exit 1
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
8
17
|
matched = result.detect { |cluster| cluster.name == id || cluster.id == id }
|
9
18
|
return matched if matched
|
10
19
|
|
data/lib/kubernetes.rb
CHANGED
@@ -83,10 +83,18 @@ module CivoCLI
|
|
83
83
|
CivoCLI::Config.set_api_auth
|
84
84
|
cluster = Finder.detect_cluster(id)
|
85
85
|
|
86
|
-
if
|
87
|
-
|
86
|
+
if !cluster.ready
|
87
|
+
puts "The cluster isn't ready yet, so the KUBECONFIG isn't available.".colorize(:red)
|
88
|
+
exit 1
|
89
|
+
elsif cluster.kubeconfig.blank?
|
90
|
+
puts "The cluster is being installed, but the KUBECONFIG isn't available yet.".colorize(:red)
|
91
|
+
exit 1
|
88
92
|
else
|
89
|
-
|
93
|
+
if options[:save]
|
94
|
+
save_config(cluster)
|
95
|
+
else
|
96
|
+
puts cluster.kubeconfig
|
97
|
+
end
|
90
98
|
end
|
91
99
|
rescue Flexirest::HTTPException => e
|
92
100
|
puts e.result.reason.colorize(:red)
|
@@ -106,6 +114,7 @@ module CivoCLI
|
|
106
114
|
\x5\x5Optional parameters are as follows:
|
107
115
|
\x5 --size=<instance_size> - 'g2.medium' if blank. List of sizes and codes to use can be found through `civo sizes`
|
108
116
|
\x5 --nodes=<count> - '3' if blank
|
117
|
+
\x5 --version=<version> - our latest k3s version if blank
|
109
118
|
\x5 --applications=name1,name2 - optional, use names shown by running `civo applications`
|
110
119
|
\x5 --wait - wait for build to complete and show status. Off by default.
|
111
120
|
\x5 --save - save resulting configuration to ~/.kube/config (requires kubectl and the --wait option)
|
@@ -143,7 +152,7 @@ module CivoCLI
|
|
143
152
|
end
|
144
153
|
end
|
145
154
|
|
146
|
-
@cluster = Civo::Kubernetes.create(name: name, target_nodes_size: options[:size], num_target_nodes: options[:nodes], applications: applications.join(","))
|
155
|
+
@cluster = Civo::Kubernetes.create(name: name, target_nodes_size: options[:size], num_target_nodes: options[:nodes], applications: applications.join(","), version: options[:version])
|
147
156
|
|
148
157
|
if options[:wait]
|
149
158
|
timer = CivoCLI::Timer.new
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: civo_cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Jeffries
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2019-09-
|
13
|
+
date: 2019-09-26 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rake
|