logstash-input-netldap 1.0.3 → 1.0.4

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
  SHA256:
3
- metadata.gz: 2807fe04012d88dc5dc6e0acb531f146699a2f331f9f5f9b4241745d3793d2f4
4
- data.tar.gz: 9ab52574c928c23fd98c5d8db6e07b7ed6416f66ebc6f5087b0ad3ae0d0250c3
3
+ metadata.gz: 637cea3d2175940f42682ba1ff42787bd861a0fcf54ab4d278c2f135bde72e16
4
+ data.tar.gz: 2afec45c1756ed32102b7af24fe97cf9bea368c0b37afb2f1957f9ab8a5a98f6
5
5
  SHA512:
6
- metadata.gz: 34815de8abf3eced4e309c39f4cfc9a717e419209ceae680dd724bcb0c4e3c2313d98b5530df6a2e7ec722b819e2db4a09ce90f8a6f7612f2fea7579b81b6b73
7
- data.tar.gz: 89c3bc81a6b8181aae0d60e102a1d7f81cb7d24eaa2dc4d9015c9bad9147cd1f6625ca12276aee13eb92d44b61053f9e8535ec591714e7305238ac76350bda9b
6
+ metadata.gz: c2d45d6ca2c1f37919a9dd7dcd2185fae016a9c8ad261663d0ada6435c6874b0b0c880a7c4f4a44d122716d1e5cd95afb4b2e568ca535811fcd41c9b210c8770
7
+ data.tar.gz: 8f1c031c0eb234a6e94dc39224c063c7ae80d2c02deee52c9e723e75a64547bc0e4062a472ab8bd8d8d6d16f39e825bbe27367a0e2d195a3be84906140100f5a
@@ -1,3 +1,7 @@
1
+ ## 1.0.4
2
+
3
+ * Add the rufus-scheduler dependency to make search schedulable
4
+
1
5
  ## 1.0.0
2
6
 
3
7
  * First release of the plugin
@@ -5,7 +5,7 @@ require "stud/interval"
5
5
  require "socket" # for Socket.gethostname
6
6
  require "base64"
7
7
  require "rubygems"
8
- require "net/ldap"
8
+
9
9
 
10
10
  # Performs a LDAP search using net-ldap.
11
11
  #
@@ -56,8 +56,13 @@ class LogStash::Inputs::NetLdap < LogStash::Inputs::Base
56
56
  # Specify the attributes you wanna get for each entry
57
57
  config :attrs, :validate => :array, :default => ["uid", "mail"]
58
58
 
59
+ # Use of rufus-scheduler
60
+ config :schedule, :validate => :string
61
+
59
62
  public
60
63
  def register
64
+ require "net/ldap"
65
+ require "rufus/scheduler"
61
66
  @host = Socket.gethostname
62
67
 
63
68
  if @anonymous
@@ -78,7 +83,19 @@ class LogStash::Inputs::NetLdap < LogStash::Inputs::Base
78
83
  end
79
84
 
80
85
  def run(queue)
81
- # Filters def
86
+ if @schedule
87
+ @scheduler = Rufus::Scheduler.new(:max_work_threds => 1)
88
+ @scheduler.cron @schedule do
89
+ execute_search(queue)
90
+ end
91
+ @scheduler.join
92
+ else
93
+ execute_search(queue)
94
+ end
95
+ end
96
+
97
+ def execute_search(queue)
98
+ # Filters def
82
99
  finalFilter = "" # need to initialize this outside the each
83
100
  @filters.each.with_index do |hashFilter, index|
84
101
  tmpFilter = Net::LDAP::Filter.eq(hashFilter['field'], hashFilter['value'])
@@ -104,5 +121,9 @@ class LogStash::Inputs::NetLdap < LogStash::Inputs::Base
104
121
  end
105
122
  queue << event
106
123
  end
107
- end
124
+ end
125
+
126
+ def stop
127
+ @scheduler.shutdown(:wait) if @scheduler
128
+ end
108
129
  end
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-input-netldap'
3
- s.version = '1.0.3'
3
+ s.version = '1.0.4'
4
4
  s.licenses = ['Apache-2.0']
5
5
  s.summary = "Logstash input plugin that performs an LDAP search."
6
6
  s.description = "This gem is a Logstash input plugin allowing to retrieve entries from a LDAP directory. This gem has to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
@@ -16,12 +16,13 @@ Gem::Specification.new do |s|
16
16
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
17
17
 
18
18
  # Special flag to let us know this is actually a logstash plugin
19
- s.metadata = { "logstash_plugin" => "true", "logstash_group" => "input" }
19
+ s.metadata = { "logstash_plugin" => "true", "logstash_group" => "input", "documentation_uri" => "https://github.com/damterroba/logstash-input-netldap/blob/master/docs/index.asciidoc" }
20
20
 
21
21
  # Gem dependencies
22
22
  s.add_runtime_dependency "logstash-core-plugin-api", ">= 1.60", "<= 2.99"
23
23
  s.add_runtime_dependency 'logstash-codec-plain'
24
24
  s.add_runtime_dependency 'stud', '>= 0.0.22'
25
25
  s.add_runtime_dependency 'net-ldap', '>= 0.16.1'
26
+ s.add_runtime_dependency 'rufus-scheduler'
26
27
  s.add_development_dependency 'logstash-devutils'
27
28
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-input-netldap
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - damterroba
@@ -72,6 +72,20 @@ dependencies:
72
72
  - - ">="
73
73
  - !ruby/object:Gem::Version
74
74
  version: 0.16.1
75
+ - !ruby/object:Gem::Dependency
76
+ requirement: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ name: rufus-scheduler
82
+ prerelease: false
83
+ type: :runtime
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
75
89
  - !ruby/object:Gem::Dependency
76
90
  requirement: !ruby/object:Gem::Requirement
77
91
  requirements:
@@ -109,6 +123,7 @@ licenses:
109
123
  metadata:
110
124
  logstash_plugin: 'true'
111
125
  logstash_group: input
126
+ documentation_uri: https://github.com/damterroba/logstash-input-netldap/blob/master/docs/index.asciidoc
112
127
  post_install_message:
113
128
  rdoc_options: []
114
129
  require_paths: