estool 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +86 -3
- data/lib/estool/actions/cat.rb +11 -11
- data/lib/estool/actions/index.rb +6 -8
- data/lib/estool/cli/aliases.rb +46 -6
- data/lib/estool/cli/index.rb +1 -1
- data/lib/estool/connections.rb +5 -7
- data/lib/estool/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b796b14201ba030ce8cc0754cec0c57c92be380
|
4
|
+
data.tar.gz: deebecfb4219e665f3b7142eb6a5988c77053cc3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b3ec563efba29dba758f1d5a91efcc20a192d66028428371ab2490b4751b5c61a92ddb2cf53bcc133aa2cf0d87c31ad531946869751d3b4fdeeef811d5e1a9cc
|
7
|
+
data.tar.gz: f520c9c03b9c594a8279858373ad126c5a750554b0146f9d4882db3fd7270d7cb1dcc66ad2e56f28897b560349f998c260b702fc63c5e89b136bbc8fbf77ebae
|
data/README.md
CHANGED
@@ -3,10 +3,93 @@ ESTool - Elasticsearch Commandline Tool
|
|
3
3
|
|
4
4
|
EStool is a command-line tool for interacting with the Elasticsearch search and analytics engine.
|
5
5
|
|
6
|
-
|
7
|
-
|
6
|
+
## Installation
|
7
|
+
|
8
|
+
Install the gem
|
9
|
+
|
10
|
+
gem install estool
|
11
|
+
|
12
|
+
## Requirements
|
13
|
+
|
14
|
+
* Requires Elasticsearch cluster accessible over HTTP.
|
15
|
+
* Tested on Elasticsearch 1.7.x, 2.3.x, 5.x
|
16
|
+
* Ruby 2.2.6
|
17
|
+
|
18
|
+
## Using estool
|
19
|
+
|
20
|
+
Getting help:
|
21
|
+
|
22
|
+
estool -h
|
23
|
+
|
24
|
+
Global options:
|
25
|
+
|
26
|
+
* `-h, --host=HOST` - Elasticsearch node to connect to. Default: `localhost`
|
27
|
+
* `-p, --port=PORT` - HTTP port to connect to. Default: `9200`
|
28
|
+
* `-v, --verbose` - Show verbose output. In most commands this is represented by column headings. Not supported by all commands.
|
29
|
+
|
30
|
+
#### Cluster Health
|
31
|
+
|
32
|
+
This subcommand will print the cluster health out to the screen.
|
33
|
+
|
34
|
+
$ estool health
|
35
|
+
|
36
|
+
More options can be listed with `$ estool health -h`
|
37
|
+
|
38
|
+
#### Indices
|
39
|
+
|
40
|
+
This subcommand is used to interact with the Cluster Indices.
|
41
|
+
|
42
|
+
Currently supports following actions:
|
43
|
+
* list indices
|
44
|
+
* create/delete/close indices
|
45
|
+
|
46
|
+
##### Examples
|
47
|
+
Create a new index:
|
48
|
+
|
49
|
+
$ estool index create --name=index1
|
50
|
+
|
51
|
+
Delete an index:
|
52
|
+
|
53
|
+
$ estool index delete --name=index1
|
54
|
+
|
55
|
+
Close an index:
|
56
|
+
|
57
|
+
$ estool index close --name=index1
|
58
|
+
|
59
|
+
Show indices:
|
60
|
+
|
61
|
+
the `index` subcommand defaults to the show command, so you can get a list of indices simply by running:
|
62
|
+
|
63
|
+
$ estool index
|
64
|
+
|
65
|
+
#### Aliases
|
66
|
+
|
67
|
+
This subcommand is used to interact with Index aliases within the cluster.
|
68
|
+
|
69
|
+
Currently supported actions:
|
70
|
+
* list aliases
|
71
|
+
* create/delete aliases
|
72
|
+
|
73
|
+
##### Examples
|
74
|
+
|
75
|
+
Create a new alias:
|
76
|
+
|
77
|
+
$ estool aliases create -i index1 -n test_index
|
78
|
+
|
79
|
+
Delete an alias:
|
80
|
+
|
81
|
+
$ estool aliases delete -i index1 -n test_index
|
82
|
+
|
83
|
+
List aliases:
|
84
|
+
|
85
|
+
$ estool aliases
|
86
|
+
|
87
|
+
Like the `estool index` command, `estool aliases` defaults to listing the aliases for all indices.
|
88
|
+
|
89
|
+
List aliases for an index:
|
90
|
+
|
91
|
+
$ estool aliases list -i index1
|
8
92
|
|
9
|
-
Tool is still in development. Only portions of Elasticsearch's [Cat API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat.html) have been implemented so far.
|
10
93
|
|
11
94
|
License
|
12
95
|
-------
|
data/lib/estool/actions/cat.rb
CHANGED
@@ -16,17 +16,17 @@ module Estool::Actions
|
|
16
16
|
data.each do |k, v|
|
17
17
|
case k
|
18
18
|
when :verbose
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
19
|
+
params.merge!(v: v)
|
20
|
+
when :output
|
21
|
+
params.merge!(format: v)
|
22
|
+
when :name
|
23
|
+
params.merge!(name: v)
|
24
|
+
when :node
|
25
|
+
params.merge!(node_id: v)
|
26
|
+
when :primary
|
27
|
+
params.merge!(pri: v)
|
28
|
+
else
|
29
|
+
params.merge!("#{k}": v)
|
30
30
|
end
|
31
31
|
end
|
32
32
|
return params
|
data/lib/estool/actions/index.rb
CHANGED
@@ -15,14 +15,12 @@ module Estool::Actions
|
|
15
15
|
params = {}
|
16
16
|
data.each do |k, v|
|
17
17
|
case k
|
18
|
-
when :
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
else
|
25
|
-
params.merge!("#{k}": v)
|
18
|
+
when :update
|
19
|
+
params.merge!(update_all_types: v)
|
20
|
+
when :wait
|
21
|
+
params.merge!(wait_for_active_shards: v)
|
22
|
+
else
|
23
|
+
params.merge!("#{k}": v)
|
26
24
|
end
|
27
25
|
end
|
28
26
|
return params
|
data/lib/estool/cli/aliases.rb
CHANGED
@@ -6,14 +6,8 @@ module Estool
|
|
6
6
|
command :aliases do |c|
|
7
7
|
|
8
8
|
c.desc 'Get a list of aliases'
|
9
|
-
c.long_desc %{
|
10
|
-
Get a list of all aliases or a list of aliases for a specific index.
|
11
|
-
}
|
12
9
|
c.command [:list, :ls] do |ls|
|
13
10
|
|
14
|
-
ls.flag 'name', :arg_name => 'alias name(s)',
|
15
|
-
:desc => 'Comma separated list of aliases to get information about'
|
16
|
-
|
17
11
|
ls.flag [:index, :i], :arg_name => 'index name(s)',
|
18
12
|
:desc => 'Comma separated list of index names'
|
19
13
|
|
@@ -28,6 +22,52 @@ module Estool
|
|
28
22
|
ls_alias.run
|
29
23
|
end
|
30
24
|
end
|
25
|
+
|
26
|
+
c.desc 'create an alias for an index.'
|
27
|
+
c.command [:create, :c] do |create|
|
28
|
+
create.flag [:name, :n], :arg_name => 'alias name',
|
29
|
+
:required => true,
|
30
|
+
:desc => 'What to name the alias.'
|
31
|
+
|
32
|
+
create.flag [:index, :i], :arg_name => 'index name',
|
33
|
+
:required => true,
|
34
|
+
:desc => 'Index to apply alias to.'
|
35
|
+
|
36
|
+
create.action do |global_options,options,args|
|
37
|
+
options = {
|
38
|
+
host: global_options[:host],
|
39
|
+
port: global_options[:port],
|
40
|
+
name: options[:name],
|
41
|
+
index: options[:index]
|
42
|
+
}
|
43
|
+
cr_alias = Estool::Actions::Index.new('put_alias', options)
|
44
|
+
cr_alias.run
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
c.desc 'delete an alias for an index.'
|
49
|
+
c.command [:delete, :d] do |delete|
|
50
|
+
delete.flag [:name, :n], :arg_name => 'alias name',
|
51
|
+
:required => true,
|
52
|
+
:desc => 'Which alias to delete.'
|
53
|
+
|
54
|
+
delete.flag [:index, :i], :arg_name => 'index name',
|
55
|
+
:required => true,
|
56
|
+
:desc => 'Index to apply alias to.'
|
57
|
+
|
58
|
+
delete.action do |global_options,options,args|
|
59
|
+
options = {
|
60
|
+
host: global_options[:host],
|
61
|
+
port: global_options[:port],
|
62
|
+
name: options[:name],
|
63
|
+
index: options[:index]
|
64
|
+
}
|
65
|
+
dl_alias = Estool::Actions::Index.new('delete_alias', options)
|
66
|
+
dl_alias.run
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
c.default_command :list
|
31
71
|
end
|
32
72
|
end
|
33
73
|
end
|
data/lib/estool/cli/index.rb
CHANGED
data/lib/estool/connections.rb
CHANGED
@@ -9,13 +9,11 @@ module Estool
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def self.test_conn(client)
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
exit 1
|
18
|
-
end
|
12
|
+
client.perform_request 'GET', '_cluster/health'
|
13
|
+
rescue Faraday::ConnectionFailed => connfail
|
14
|
+
# Connection Failure Message
|
15
|
+
puts connfail
|
16
|
+
exit 1
|
19
17
|
end
|
20
18
|
end
|
21
19
|
end
|
data/lib/estool/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: estool
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Hollinger III
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-01-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: elasticsearch
|
@@ -70,7 +70,10 @@ dependencies:
|
|
70
70
|
- - "<"
|
71
71
|
- !ruby/object:Gem::Version
|
72
72
|
version: 3.0.0
|
73
|
-
description:
|
73
|
+
description: |-
|
74
|
+
Command Line tool for interacting with Elasticsearch.
|
75
|
+
Still in Development, expect bugs and fast releases
|
76
|
+
until 1.0.0.
|
74
77
|
email:
|
75
78
|
- david.hollinger@moduletux.com
|
76
79
|
executables:
|
@@ -113,8 +116,5 @@ rubyforge_project:
|
|
113
116
|
rubygems_version: 2.4.5.2
|
114
117
|
signing_key:
|
115
118
|
specification_version: 4
|
116
|
-
summary:
|
117
|
-
expect bugs and fast releases until 1.0.0. NOTE: version 0.2.0 involves a complete
|
118
|
-
CLI rewrite. Some options have not been reimplemented, others have changed, and
|
119
|
-
a new command implemented'
|
119
|
+
summary: Command Line tool for Elasticsearch
|
120
120
|
test_files: []
|