knuckle_cluster 2.1.0 → 2.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/README.md +1 -0
- data/bin/knuckle_cluster +6 -0
- data/lib/knuckle_cluster/configuration.rb +25 -4
- data/lib/knuckle_cluster/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2a3ddc54ca48b30d78d88c8e92e90232b52ac23a
|
4
|
+
data.tar.gz: 4d18251585f3cf240aa526e366bc69ed4f5f7133
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: af26f21868f728a336f9e8ffb4d031ff8506e2332ba741d1f9bfb3c34a19f5681fe50a6e701036597e30dfe6c5ce9b3895098883211cb95d265ac40863eb7d34
|
7
|
+
data.tar.gz: ae7c93d80043b3730507c4850f9184ed0ccc5ae9bf944e855d68969f2b23abfe3915371e1a815e90a95720af449ab22ada3d841f8ef17620663eda7df8fe938e
|
data/README.md
CHANGED
@@ -107,6 +107,7 @@ See [Options for Knuckle Cluster](#options-for-knuckle-cluster) below for a list
|
|
107
107
|
Command line options:
|
108
108
|
|
109
109
|
```
|
110
|
+
knuckle_cluster list - list all available clusters
|
110
111
|
knuckle_cluster CLUSTER_PROFILE agents - list all agents and select one to start a shell
|
111
112
|
knuckle_cluster CLUSTER_PROFILE containers - list all containers and select one to start a shell
|
112
113
|
knuckle_cluster CLUSTER_PROFILE logs CONTAINER_NAME - tail the logs for a container
|
data/bin/knuckle_cluster
CHANGED
@@ -2,10 +2,16 @@
|
|
2
2
|
require "knuckle_cluster"
|
3
3
|
require "yaml"
|
4
4
|
|
5
|
+
if ARGV[0] == 'list'
|
6
|
+
KnuckleCluster::Configuration.list
|
7
|
+
exit
|
8
|
+
end
|
9
|
+
|
5
10
|
profile = ARGV[0]
|
6
11
|
|
7
12
|
if ARGV.count < 2
|
8
13
|
puts <<~USAGE
|
14
|
+
knuckle_cluster list - list all available clusters
|
9
15
|
knuckle_cluster CLUSTER_PROFILE agents - list all agents and select one to start a shell
|
10
16
|
knuckle_cluster CLUSTER_PROFILE containers - list all containers and select one to start a shell
|
11
17
|
knuckle_cluster CLUSTER_PROFILE logs CONTAINER_NAME - tail the logs for a container
|
@@ -3,10 +3,8 @@ class KnuckleCluster::Configuration
|
|
3
3
|
DEFAULT_PROFILE_FILE = File.join(ENV['HOME'],'.ssh/knuckle_cluster').freeze
|
4
4
|
|
5
5
|
def self.load_parameters(profile:, profile_file: nil)
|
6
|
-
profile_file ||= DEFAULT_PROFILE_FILE
|
7
|
-
raise "File #{profile_file} not found" unless File.exists?(profile_file)
|
8
6
|
|
9
|
-
data =
|
7
|
+
data = load_data(profile_file)
|
10
8
|
|
11
9
|
unless data.keys.include?(profile)
|
12
10
|
raise "Config file does not include profile for #{profile}"
|
@@ -33,6 +31,29 @@ class KnuckleCluster::Configuration
|
|
33
31
|
keys_to_symbols(output)
|
34
32
|
end
|
35
33
|
|
34
|
+
def self.load_data(profile_file = nil)
|
35
|
+
@data ||= (
|
36
|
+
profile_file ||= DEFAULT_PROFILE_FILE
|
37
|
+
raise "File #{profile_file} not found" unless File.exists?(profile_file)
|
38
|
+
YAML.load_file(profile_file)
|
39
|
+
)
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.list
|
43
|
+
data = []
|
44
|
+
|
45
|
+
KnuckleCluster::Configuration.load_data.each do |k,v|
|
46
|
+
tmp = {'name': k}
|
47
|
+
tmp['tunnels'] = v['tunnels'] ? v['tunnels'].keys.join(', ') : ''
|
48
|
+
tmp['shortcuts'] = v['shortcuts'] ? v['shortcuts'].keys.join(', ') : ''
|
49
|
+
|
50
|
+
data << tmp
|
51
|
+
end
|
52
|
+
puts "\nVersion #{KnuckleCluster::VERSION}"
|
53
|
+
puts "\nAvailable connections"
|
54
|
+
tp data.sort{|x,y| x[:name] <=> y[:name]}
|
55
|
+
end
|
56
|
+
|
36
57
|
private
|
37
58
|
|
38
59
|
def self.keys_to_symbols(data)
|
@@ -49,4 +70,4 @@ class KnuckleCluster::Configuration
|
|
49
70
|
end
|
50
71
|
ret
|
51
72
|
end
|
52
|
-
end
|
73
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: knuckle_cluster
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Envato
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-08-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|