esteem 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 340aa00a323b11ea872b48a404e951df6eabb2eb
4
- data.tar.gz: e9b5ee78c4c9f76e0b041617f7984f88f884526b
3
+ metadata.gz: 02e323e1160a84a7f4e5fd5c3d8d0a981e0f5758
4
+ data.tar.gz: 3b7eb52b2a5c3fb979f2afcb7655f0e642124b0a
5
5
  SHA512:
6
- metadata.gz: 8ff6c19a502f907dd2a30d0391042e13f8bd1b646ed19d8a634a54044e2d3db6c22bb89cb820cdbf57fe1f7b233bd8b83b3b52b91cf4537475d46fcec7daf832
7
- data.tar.gz: 3cc3b6cf92f7c058a9724b8b23c61f772c087bd38dceb330e9545e82732a02ced2b13ce46d8030c3a4a2e73b79346e80700859fbc54b56be7d2e4f982923f71e
6
+ metadata.gz: 4f79de4d37134e9ad4a96326d4bf2a7adc4e9030a049d9fd06f15b96fda93d7c659e6daaf64d7075b4fd943874458b326c42044fe0797abf102f7bd8f544a40a
7
+ data.tar.gz: 5dc836a5ae31b6f8108c67f3c19c97ea2c341bef29297710a322e963280fe43f74cb2ea56de3d7b4294e9063740c6541fa174e0786cf4f7ba8b359eb609561e1
data/Readme.md CHANGED
@@ -1,3 +1,8 @@
1
1
  # Esteem
2
2
 
3
- Tips, tricks and scripts for managing time-based Elasticsearch indexes.
3
+ Tips, tricks and scripts for managing time-based Elasticsearch indexes.
4
+
5
+
6
+ ### Dependencies
7
+
8
+ Ruby and Curl (actually, `libcurl`).
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.2
@@ -16,6 +16,7 @@ Gem::Specification.new do |s|
16
16
  s.add_runtime_dependency 'thor', '~> 0'
17
17
  s.add_runtime_dependency 'slog', '~> 1.1'
18
18
  s.add_runtime_dependency 'oj', '~> 2.11'
19
+ s.add_runtime_dependency 'curb', '~> 0.8'
19
20
  s.add_runtime_dependency 'rest-client', '~> 1.7'
20
21
 
21
22
  s.files = `git ls-files`.split("\n")
@@ -0,0 +1,56 @@
1
+ require 'curb'
2
+
3
+
4
+ module Esteem
5
+ class Alias
6
+ attr_reader :success
7
+
8
+ PREFIXES = %w[
9
+ logs-atop
10
+ logs-denim logs-denim-capture
11
+ logs-rivet logs-rivet-500
12
+ logs-seam logs-seam-access logs-seam-newrelic
13
+ logs-cobalt logs-cobalt-access logs-cobalt-newrelic
14
+ logs-carder
15
+ logs-franz
16
+ logs-rollway-skinny logs-rollway-acid
17
+ logs-openstack logs-openstack-nova logs-openstack-cinder
18
+ ]
19
+
20
+
21
+ def initialize month:, year:, host:
22
+ @success = false
23
+ begin
24
+ perform month, year, host
25
+ @success = true
26
+ rescue
27
+ end
28
+ end
29
+
30
+
31
+
32
+ private
33
+
34
+ def perform month, year, host
35
+ (1..31).each do |day|
36
+ suffix = '%d.%02d.%02d' % [ year, month, day ]
37
+
38
+ PREFIXES.each do |logger|
39
+
40
+ Curl.post "#{host}/_aliases", {
41
+ actions: [
42
+ {
43
+ add: {
44
+ alias: "logger-#{suffix}",
45
+ index: "#{logger}-#{suffix}"
46
+ }
47
+ }
48
+ ]
49
+ }
50
+
51
+ end
52
+ end
53
+ end
54
+
55
+ end
56
+ end
@@ -1,6 +1,7 @@
1
1
  require 'thor'
2
2
  require 'slog'
3
3
 
4
+ require_relative 'alias'
4
5
  require_relative 'reindex'
5
6
  require_relative 'helpers'
6
7
  require_relative 'metadata'
@@ -30,7 +31,7 @@ module Esteem
30
31
 
31
32
 
32
33
  desc 'reindex', 'Move data to a new index gracefully'
33
- option :update, type: :boolean, aliases: %w[ -u ]
34
+ option :update, type: :boolean, aliases: %w[ -u ], default: false
34
35
  option :frame, type: :numeric, aliases: %w[ -f ], default: 1000
35
36
  option :source, type: :string, aliases: %w[ -s ], required: true
36
37
  option :destination, type: :string, aliases: %w[ -d ], required: true
@@ -43,5 +44,17 @@ module Esteem
43
44
  return reindex.success
44
45
  end
45
46
 
47
+ desc 'alias', 'Add daily aliases for the given month'
48
+ option :month, type: :numeric, aliases: %w[ -m ], required: true
49
+ option :year, type: :numeric, aliases: %w[ -y ], default: Time.now.year
50
+ option :host, type: :string, aliases: %w[ -h ], default: 'http://localhost:9200'
51
+ def alias
52
+ aliasing = Alias.new \
53
+ month: options.month,
54
+ year: options.year,
55
+ host: options.host
56
+ return aliasing.success
57
+ end
58
+
46
59
  end
47
60
  end
@@ -17,7 +17,7 @@ module Esteem
17
17
  HOMEPAGE = 'https://github.com/sczizzo/esteem'
18
18
 
19
19
  # Take responsibility for your work
20
- EMAIL = 'EMAIL'
20
+ EMAIL = 'sczizzo@gmail.com'
21
21
 
22
22
  # Every project deserves its own ASCII art
23
23
  ART = <<-'EOART'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: esteem
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Clemmer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-06 00:00:00.000000000 Z
11
+ date: 2015-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '2.11'
55
+ - !ruby/object:Gem::Dependency
56
+ name: curb
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.8'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.8'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rest-client
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -67,7 +81,7 @@ dependencies:
67
81
  - !ruby/object:Gem::Version
68
82
  version: '1.7'
69
83
  description: Tips, tricks and scripts for managing time-based Elasticsearch indexes.
70
- email: EMAIL
84
+ email: sczizzo@gmail.com
71
85
  executables:
72
86
  - esteem
73
87
  extensions: []
@@ -82,6 +96,7 @@ files:
82
96
  - bin/esteem
83
97
  - esteem.gemspec
84
98
  - lib/esteem.rb
99
+ - lib/esteem/alias.rb
85
100
  - lib/esteem/helpers.rb
86
101
  - lib/esteem/main.rb
87
102
  - lib/esteem/metadata.rb