estool 0.2.1 → 0.2.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/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: []
|