civo_cli 0.4.0 → 0.4.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 +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
|