ecl 3.0.1 → 3.0.4
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/Gemfile.lock +13 -13
- data/README.md +14 -1
- data/lib/eclair/config.rb +5 -4
- data/lib/eclair/grid.rb +1 -1
- data/lib/eclair/provider.rb +4 -0
- data/lib/eclair/providers/ec2/ec2_item.rb +1 -8
- data/lib/eclair/providers/ec2/ec2_provider.rb +7 -0
- data/lib/eclair/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f6a55e474acea1a8a0092e23a7b3533fca93dd185ef334536e9816b142779d6
|
4
|
+
data.tar.gz: de85ae66b54a0b8aa577ae742817c67481ef21845706287a3c707731d63608ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d414ab9f80aef8f1a92f43ac576240a4717dd7d85558938ac1211beb6f86661af9e46953ca14de73328ca958768d202202667b69dccfc787a41172bd1d7bdbb8
|
7
|
+
data.tar.gz: b13b9766f789f2c2b3284b3e5d3645c1c31e0b6541b8df2a67378dde94ea8236a49e1446c7211c427eba0a7f2be27532153b23733b4382bf613f197d7f859226
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ecl (3.0.
|
4
|
+
ecl (3.0.3)
|
5
5
|
aws-sdk-ec2 (~> 1.18)
|
6
6
|
curses (~> 1.0)
|
7
7
|
json (~> 2.1)
|
@@ -13,26 +13,26 @@ GEM
|
|
13
13
|
remote: https://rubygems.org/
|
14
14
|
specs:
|
15
15
|
aws-eventstream (1.0.3)
|
16
|
-
aws-partitions (1.
|
17
|
-
aws-sdk-core (3.
|
16
|
+
aws-partitions (1.294.0)
|
17
|
+
aws-sdk-core (3.92.0)
|
18
18
|
aws-eventstream (~> 1.0, >= 1.0.2)
|
19
19
|
aws-partitions (~> 1, >= 1.239.0)
|
20
20
|
aws-sigv4 (~> 1.1)
|
21
21
|
jmespath (~> 1.0)
|
22
|
-
aws-sdk-ec2 (1.
|
22
|
+
aws-sdk-ec2 (1.151.0)
|
23
23
|
aws-sdk-core (~> 3, >= 3.71.0)
|
24
24
|
aws-sigv4 (~> 1.1)
|
25
|
-
aws-sigv4 (1.1.
|
25
|
+
aws-sigv4 (1.1.1)
|
26
26
|
aws-eventstream (~> 1.0, >= 1.0.2)
|
27
27
|
coderay (1.1.2)
|
28
|
-
curses (1.3.
|
28
|
+
curses (1.3.2)
|
29
29
|
jmespath (1.4.0)
|
30
|
-
json (2.
|
31
|
-
method_source (0.
|
32
|
-
oj (3.
|
33
|
-
pry (0.
|
34
|
-
coderay (~> 1.1
|
35
|
-
method_source (~>
|
30
|
+
json (2.3.0)
|
31
|
+
method_source (1.0.0)
|
32
|
+
oj (3.10.6)
|
33
|
+
pry (0.13.0)
|
34
|
+
coderay (~> 1.1)
|
35
|
+
method_source (~> 1.0)
|
36
36
|
rake (13.0.1)
|
37
37
|
ruby-string-match-scorer (0.1.0)
|
38
38
|
|
@@ -45,4 +45,4 @@ DEPENDENCIES
|
|
45
45
|
rake (~> 13.0)
|
46
46
|
|
47
47
|
BUNDLED WITH
|
48
|
-
2.
|
48
|
+
2.1.4
|
data/README.md
CHANGED
@@ -110,6 +110,19 @@ config.ssh_keys = {
|
|
110
110
|
}
|
111
111
|
```
|
112
112
|
|
113
|
+
### use_vpc_id_env (Experimental)
|
114
|
+
_This Feature is experimental and subject to change in future versions_
|
115
|
+
|
116
|
+
Boolean variable. If true use VPC_ID Environment variable for filtering EC2 instances.
|
117
|
+
```ruby
|
118
|
+
config.use_vpc_id_env = true
|
119
|
+
```
|
120
|
+
|
121
|
+
Example VPC_ID variable:
|
122
|
+
```
|
123
|
+
VPC_ID=vpc-12345678901234567
|
124
|
+
```
|
125
|
+
|
113
126
|
|
114
127
|
|
115
128
|
Install from Source
|
@@ -124,7 +137,7 @@ sudo yum install libncursesw5-devel # CentOS, etc
|
|
124
137
|
gem build eclair.gemspec
|
125
138
|
|
126
139
|
# Install eclair into your system
|
127
|
-
gem install ecl-3.0.
|
140
|
+
gem install ecl-3.0.4.gem
|
128
141
|
```
|
129
142
|
|
130
143
|
|
data/lib/eclair/config.rb
CHANGED
@@ -40,6 +40,7 @@ module Eclair
|
|
40
40
|
@exec_format = "{ssh_command} {ssh_options} -p{port} {ssh_key} {username}@{host}"
|
41
41
|
@provider = :ec2
|
42
42
|
@get_pods_option = ""
|
43
|
+
@use_vpc_id_env = false
|
43
44
|
|
44
45
|
instance_variables.each do |var|
|
45
46
|
Config.class_eval do
|
@@ -52,7 +53,7 @@ module Eclair
|
|
52
53
|
new_dir = "#{ENV['HOME']}/.ecl"
|
53
54
|
new_conf = "#{ENV['HOME']}/.ecl/config.rb"
|
54
55
|
|
55
|
-
if !File.
|
56
|
+
if !File.exist?(new_conf) && File.exist?(old_conf)
|
56
57
|
FileUtils.mkdir_p new_dir
|
57
58
|
FileUtils.mv old_conf, new_conf
|
58
59
|
puts "#{old_conf} migrated to #{new_conf}"
|
@@ -60,7 +61,7 @@ module Eclair
|
|
60
61
|
exit
|
61
62
|
end
|
62
63
|
|
63
|
-
unless File.
|
64
|
+
unless File.exist? @config_file
|
64
65
|
template_path = File.join(File.dirname(__FILE__), "..", "..", "templates", "eclrc.template")
|
65
66
|
FileUtils.mkdir_p(File.dirname(@config_file))
|
66
67
|
FileUtils.cp(template_path, @config_file)
|
@@ -69,8 +70,8 @@ module Eclair
|
|
69
70
|
end
|
70
71
|
|
71
72
|
key_path = "#{new_dir}/keys"
|
72
|
-
FileUtils.mkdir_p key_path unless Dir.
|
73
|
-
# FileUtils.mkdir_p CACHE_DIR unless Dir.
|
73
|
+
FileUtils.mkdir_p key_path unless Dir.exist? key_path
|
74
|
+
# FileUtils.mkdir_p CACHE_DIR unless Dir.exist? CACHE_DIR
|
74
75
|
end
|
75
76
|
|
76
77
|
def after_load
|
data/lib/eclair/grid.rb
CHANGED
@@ -172,7 +172,7 @@ module Eclair
|
|
172
172
|
def append_search key
|
173
173
|
return unless key
|
174
174
|
|
175
|
-
if @search_buffer.length > 0 && key == 127 #
|
175
|
+
if @search_buffer.length > 0 && (key == 127 || key == Curses::KEY_BACKSPACE || key == 8) #backspace
|
176
176
|
@search_buffer = @search_buffer.chop
|
177
177
|
elsif key.to_s.length == 1
|
178
178
|
begin
|
data/lib/eclair/provider.rb
CHANGED
@@ -53,13 +53,6 @@ module Eclair
|
|
53
53
|
"echo Attaching to #{Shellwords.escape(name)} \\[#{@instance.instance_id}\\] && #{joined_cmd}"
|
54
54
|
end
|
55
55
|
|
56
|
-
def header
|
57
|
-
<<-EOS
|
58
|
-
#{name} (#{instance_id}) [#{state[:name]}]
|
59
|
-
launched at #{launch_time.to_time}
|
60
|
-
EOS
|
61
|
-
end
|
62
|
-
|
63
56
|
def image
|
64
57
|
@image ||= provider.find_image_by_id(@instance.image_id)
|
65
58
|
end
|
@@ -70,7 +63,7 @@ module Eclair
|
|
70
63
|
|
71
64
|
def header
|
72
65
|
<<-EOS
|
73
|
-
#{name} (#{@instance.instance_id}) [#{@instance.state[:name]}]
|
66
|
+
#{name} (#{@instance.instance_id}) [#{@instance.state[:name]}] #{@instance.private_ip_address}
|
74
67
|
launched at #{@instance.launch_time.to_time}
|
75
68
|
EOS
|
76
69
|
end
|
@@ -93,6 +93,13 @@ module Eclair
|
|
93
93
|
|
94
94
|
def fetch_instances keyword
|
95
95
|
filter = if keyword.empty? then {} else { filters: [{name: "tag:Name", values: ["*#{keyword}*"]}] } end
|
96
|
+
if config.use_vpc_id_env then
|
97
|
+
if filter.empty? then
|
98
|
+
filter = { filters: [{name: "vpc-id", values: [ENV['VPC_ID']]}] }
|
99
|
+
else
|
100
|
+
filter[:filters].push({name: "vpc-id", values: [ENV['VPC_ID']]})
|
101
|
+
end
|
102
|
+
end
|
96
103
|
|
97
104
|
ec2_client.describe_instances(filter).map{ |resp|
|
98
105
|
resp.data.reservations.map do |rsv|
|
data/lib/eclair/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ecl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Devsisters
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -166,7 +166,7 @@ homepage: https://github.com/devsisters/eclair
|
|
166
166
|
licenses:
|
167
167
|
- MIT
|
168
168
|
metadata: {}
|
169
|
-
post_install_message:
|
169
|
+
post_install_message:
|
170
170
|
rdoc_options: []
|
171
171
|
require_paths:
|
172
172
|
- lib
|
@@ -181,8 +181,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
181
181
|
- !ruby/object:Gem::Version
|
182
182
|
version: '0'
|
183
183
|
requirements: []
|
184
|
-
rubygems_version: 3.
|
185
|
-
signing_key:
|
184
|
+
rubygems_version: 3.4.12
|
185
|
+
signing_key:
|
186
186
|
specification_version: 4
|
187
187
|
summary: EC2 ssh helper
|
188
188
|
test_files: []
|