sensu-plugins-openldap 0.0.1
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 +7 -0
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +12 -0
- data/LICENSE +22 -0
- data/README.md +22 -0
- data/bin/check-syncrepl.rb +158 -0
- data/bin/metrics-ldap.rb +173 -0
- data/lib/sensu-plugins-openldap/version.rb +28 -0
- data/lib/sensu-plugins-openldap.rb +15 -0
- data.tar.gz.sig +0 -0
- metadata +218 -0
- metadata.gz.sig +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9badc6dc1068dc01f239745654edfdab993a1a1f
|
4
|
+
data.tar.gz: 1c041933733c1c50f13d5254dbd40cbfa4d74134
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 95ae1b7e3b41718228431ba75e3fa57d15f95e4995e68ce5cbb73283aeda31c882debceb7236da21dec219620921907412ef318b5902aba1c90c9a5c81349ccc
|
7
|
+
data.tar.gz: 108a3f44680c0b769f0de79d4d5db7a19e432f3463759a457a09f2c9a313b332ca37e7a84a0e90bed71a83bd3f605525838f37ec97ae487201950517765eb4d4
|
checksums.yaml.gz.sig
ADDED
Binary file
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
#Change Log
|
2
|
+
This project adheres to [Semantic Versioning](http://semver.org/).
|
3
|
+
|
4
|
+
This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachangelog.com/)
|
5
|
+
|
6
|
+
## Unreleased][unreleased]
|
7
|
+
|
8
|
+
## 0.0.1 - 2015-05-21
|
9
|
+
|
10
|
+
### Added
|
11
|
+
- initial release
|
12
|
+
|
data/LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2015 Sensu-Plugins
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
## Sensu-Plugins-openldap
|
2
|
+
|
3
|
+
[](https://travis-ci.org/sensu-plugins/sensu-plugins-openldap)
|
4
|
+
[](http://badge.fury.io/rb/sensu-plugins-openldap)
|
5
|
+
[](https://codeclimate.com/github/sensu-plugins/sensu-plugins-openldap)
|
6
|
+
[](https://codeclimate.com/github/sensu-plugins/sensu-plugins-openldap)
|
7
|
+
[](https://gemnasium.com/sensu-plugins/sensu-plugins-openldap)
|
8
|
+
[ ](https://codeship.com/projects/79575)
|
9
|
+
|
10
|
+
## Functionality
|
11
|
+
|
12
|
+
## Files
|
13
|
+
* bin/check-syncrepl
|
14
|
+
* bin/metrics-ldap
|
15
|
+
|
16
|
+
## Usage
|
17
|
+
|
18
|
+
## Installation
|
19
|
+
|
20
|
+
[Installation and Setup](https://github.com/sensu-plugins/documentation/blob/master/user_docs/installation_instructions.md)
|
21
|
+
|
22
|
+
## Notes
|
@@ -0,0 +1,158 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# check-syncrepl
|
4
|
+
#
|
5
|
+
# DESCRIPTION:
|
6
|
+
# This plugin checks OpenLDAP nodes to veryfiy syncrepl is working.
|
7
|
+
# The plugin will attempt to use an unauthenticated connection if no
|
8
|
+
# user name (with the -u or --user option) and password (with the -p
|
9
|
+
# or --password option) are specified.
|
10
|
+
#
|
11
|
+
# OUTPUT:
|
12
|
+
# plain text
|
13
|
+
#
|
14
|
+
# PLATFORMS:
|
15
|
+
# Linux
|
16
|
+
#
|
17
|
+
# DEPENDENCIES:
|
18
|
+
# gem: sensu-plugin
|
19
|
+
# gem: net-ldap
|
20
|
+
#
|
21
|
+
# USAGE:
|
22
|
+
# bind to LDAP without authorisation
|
23
|
+
# ----------------------------------
|
24
|
+
# ./check-syncrepl.rb -h 'ldap1.domain,ldap2.domain'
|
25
|
+
# will compare the contextCSN of the ldap servers ldap1.domain and
|
26
|
+
# ldap2.domain
|
27
|
+
#
|
28
|
+
# bind to LDAP requiring authorisation
|
29
|
+
# ------------------------------------
|
30
|
+
# ./check-syncrepl.rb -h 'ldap1.domain,ldap2.domain' -u auser -p passwd
|
31
|
+
# will bind to the ldap servers ldap1.domain and ldap2.domain as user
|
32
|
+
# auser with password passwd and compare the contextCSN
|
33
|
+
#
|
34
|
+
# NOTES:
|
35
|
+
#
|
36
|
+
# LICENSE:
|
37
|
+
# Copyright (c) 2014, Justin Lambert <jlambert@letsevenup.com>
|
38
|
+
# Released under the same terms as Sensu (the MIT license); see LICENSE
|
39
|
+
# for details.
|
40
|
+
#
|
41
|
+
|
42
|
+
require 'sensu-plugin/check/cli'
|
43
|
+
require 'net/ldap'
|
44
|
+
|
45
|
+
class CheckSyncrepl < Sensu::Plugin::Check::CLI
|
46
|
+
option :hosts,
|
47
|
+
short: '-h HOSTS',
|
48
|
+
long: '--hosts HOSTS',
|
49
|
+
description: 'Comma seperated list of hosts to compare',
|
50
|
+
required: true,
|
51
|
+
proc: proc { |hosts| hosts.split(',') }
|
52
|
+
|
53
|
+
option :port,
|
54
|
+
short: '-t PORT',
|
55
|
+
long: '--port PORT',
|
56
|
+
description: 'Port to connect to OpenLDAP on',
|
57
|
+
default: 389,
|
58
|
+
proc: proc(&:to_i)
|
59
|
+
|
60
|
+
option :base,
|
61
|
+
short: '-b BASE',
|
62
|
+
long: '--base BASE',
|
63
|
+
description: 'Base to fetch the ContextCSN for',
|
64
|
+
required: true
|
65
|
+
|
66
|
+
option :user,
|
67
|
+
short: '-u USER',
|
68
|
+
long: '--user USER',
|
69
|
+
description: 'User to bind as'
|
70
|
+
|
71
|
+
option :password,
|
72
|
+
short: '-p PASSWORD',
|
73
|
+
long: '--password PASSWORD',
|
74
|
+
description: 'Password used to bind'
|
75
|
+
|
76
|
+
option :insecure,
|
77
|
+
short: '-i',
|
78
|
+
long: '--insecure',
|
79
|
+
description: 'Do not use encryption'
|
80
|
+
|
81
|
+
option :retries,
|
82
|
+
short: '-r RETRIES',
|
83
|
+
long: '--retries RETRIES',
|
84
|
+
description: 'Number of times to retry (useful for environments with larger number of writes)',
|
85
|
+
default: 0,
|
86
|
+
proc: proc(&:to_i)
|
87
|
+
|
88
|
+
def get_csns(host)
|
89
|
+
if config[:user]
|
90
|
+
ldap = Net::LDAP.new host: host,
|
91
|
+
port: config[:port],
|
92
|
+
auth: {
|
93
|
+
method: :simple,
|
94
|
+
username: config[:user],
|
95
|
+
password: config[:password]
|
96
|
+
}
|
97
|
+
else
|
98
|
+
ldap = Net::LDAP.new host: host,
|
99
|
+
port: config[:port]
|
100
|
+
end
|
101
|
+
|
102
|
+
unless config[:insecure]
|
103
|
+
ldap.encryption(method: :simple_tls)
|
104
|
+
end
|
105
|
+
|
106
|
+
begin
|
107
|
+
if ldap.bind
|
108
|
+
ldap.search(base: config[:base], attributes: ['contextCSN'], return_result: true, scope: Net::LDAP::SearchScope_BaseObject) do |entry|
|
109
|
+
return entry['contextcsn']
|
110
|
+
end
|
111
|
+
else
|
112
|
+
message = "Cannot connect to #{host}:#{config[:port]}"
|
113
|
+
if config[:user]
|
114
|
+
message += " as #{config[:user]}"
|
115
|
+
end
|
116
|
+
critical message
|
117
|
+
end
|
118
|
+
end
|
119
|
+
rescue
|
120
|
+
message = "Cannot connect to #{host}:#{config[:port]}"
|
121
|
+
if config[:user]
|
122
|
+
message += " as #{config[:user]}"
|
123
|
+
end
|
124
|
+
critical message
|
125
|
+
end
|
126
|
+
|
127
|
+
def run
|
128
|
+
unknown 'Cannot compare 1 node (to anything else).' if config[:hosts].length == 1
|
129
|
+
|
130
|
+
(config[:retries] + 1).times do
|
131
|
+
# Build a list of contextCSNs from each host
|
132
|
+
csns = {}
|
133
|
+
config[:hosts].each do |host|
|
134
|
+
csns[host] = get_csns host
|
135
|
+
end
|
136
|
+
|
137
|
+
# Compare all combinations of nodes
|
138
|
+
@differences = []
|
139
|
+
combinations = csns.keys.combination(2).to_a
|
140
|
+
combinations.each do |hosts|
|
141
|
+
@differences << hosts if (csns[hosts[0]] - csns[hosts[1]]).length > 0
|
142
|
+
end
|
143
|
+
|
144
|
+
# If everything is OK, no need to retry
|
145
|
+
ok 'All nodes are in sync' if @differences.length == 0
|
146
|
+
end
|
147
|
+
|
148
|
+
# Hit max retries, report latest differences
|
149
|
+
message = 'ContextCSNs differe between: '
|
150
|
+
|
151
|
+
joined = []
|
152
|
+
@differences.each do |different|
|
153
|
+
joined << different.sort.join(' and ')
|
154
|
+
end
|
155
|
+
message += joined.sort.join(', ')
|
156
|
+
critical message
|
157
|
+
end
|
158
|
+
end
|
data/bin/metrics-ldap.rb
ADDED
@@ -0,0 +1,173 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# ldap-metrics.rb
|
4
|
+
#
|
5
|
+
# AUTHOR
|
6
|
+
# Matt Ford
|
7
|
+
# - matt@dancingfrog.co.uk
|
8
|
+
# - matt@bashton.com
|
9
|
+
#
|
10
|
+
# DESCRIPTION
|
11
|
+
# This plugin uses the LDAP cn=monitor database to generate
|
12
|
+
# output suitable for graphite
|
13
|
+
#
|
14
|
+
# It requires that the monitoring module is loaded and that a monitoring
|
15
|
+
# database has been set up.
|
16
|
+
#
|
17
|
+
# ldapmodify the following:
|
18
|
+
# dn: cn=module{0},cn=config
|
19
|
+
# changetype: modify
|
20
|
+
# add: olcModuleLoad
|
21
|
+
# olcModuleLoad: back_monitor
|
22
|
+
#
|
23
|
+
# ldapadd the following:
|
24
|
+
# dn: olcDatabase=Monitor,cn=config
|
25
|
+
# objectClass: olcDatabaseConfig
|
26
|
+
# objectClass: olcMonitorConfig
|
27
|
+
# olcDatabase: Monitor
|
28
|
+
# olcAccess: to dn.subtree="cn=Monitor" by dn.base="cn=suitable,dc=user" read by * none
|
29
|
+
#
|
30
|
+
# LICENSE:
|
31
|
+
# Copyright (c) 2014, Bashton Ltd
|
32
|
+
# Released under the same terms as Sensu (the MIT license); see LICENSE
|
33
|
+
# for details.
|
34
|
+
#
|
35
|
+
|
36
|
+
require 'sensu-plugin/metric/cli'
|
37
|
+
require 'sensu-plugin/utils'
|
38
|
+
require 'socket'
|
39
|
+
require 'net/ldap'
|
40
|
+
|
41
|
+
include Sensu::Plugin::Utils
|
42
|
+
|
43
|
+
class LDAPGraphite < Sensu::Plugin::Metric::CLI::Graphite
|
44
|
+
option :scheme,
|
45
|
+
description: 'Metric naming scheme, text to prepend to metric',
|
46
|
+
short: '-s SCHEME',
|
47
|
+
long: '--scheme SCHEME',
|
48
|
+
default: "#{Socket.gethostname}.ldap_metrics"
|
49
|
+
|
50
|
+
option :host,
|
51
|
+
short: '-h HOST',
|
52
|
+
long: '--host HOST',
|
53
|
+
description: 'Host',
|
54
|
+
default: 'localhost'
|
55
|
+
|
56
|
+
option :port,
|
57
|
+
short: '-t PORT',
|
58
|
+
long: '--port PORT',
|
59
|
+
description: 'Port to connect to OpenLDAP on',
|
60
|
+
default: 389,
|
61
|
+
proc: proc(&:to_i)
|
62
|
+
|
63
|
+
option :base,
|
64
|
+
short: '-b BASE',
|
65
|
+
long: '--base BASE',
|
66
|
+
description: 'Base',
|
67
|
+
default: 'cn=Monitor'
|
68
|
+
|
69
|
+
option :user,
|
70
|
+
short: '-u USER',
|
71
|
+
long: '--user USER',
|
72
|
+
description: 'User to bind as',
|
73
|
+
required: true
|
74
|
+
|
75
|
+
option :password,
|
76
|
+
short: '-p PASSWORD',
|
77
|
+
long: '--password PASSWORD',
|
78
|
+
description: 'Password used to bind',
|
79
|
+
required: true
|
80
|
+
|
81
|
+
option :insecure,
|
82
|
+
short: '-i',
|
83
|
+
long: '--insecure',
|
84
|
+
description: 'Do not use encryption'
|
85
|
+
|
86
|
+
def get_metrics(host)
|
87
|
+
ldap = Net::LDAP.new host: host,
|
88
|
+
port: config[:port],
|
89
|
+
auth: {
|
90
|
+
method: :simple,
|
91
|
+
username: config[:user],
|
92
|
+
password: config[:password]
|
93
|
+
}
|
94
|
+
|
95
|
+
unless config[:insecure]
|
96
|
+
ldap.encryption(method: :simple_tls)
|
97
|
+
end
|
98
|
+
|
99
|
+
begin
|
100
|
+
if ldap.bind
|
101
|
+
message += 'So far'
|
102
|
+
metrics = {
|
103
|
+
conn_total: {
|
104
|
+
title: 'connections.total',
|
105
|
+
search: 'cn=Total,cn=Connections',
|
106
|
+
attribute: 'monitorCounter'
|
107
|
+
},
|
108
|
+
conn_cur: {
|
109
|
+
title: 'connections.current',
|
110
|
+
search: 'cn=Current,cn=Connections',
|
111
|
+
attribute: 'monitorCounter'
|
112
|
+
},
|
113
|
+
stats_bytes: {
|
114
|
+
title: 'statistics.bytes',
|
115
|
+
search: 'cn=Bytes,cn=Statistics',
|
116
|
+
attribute: 'monitorCounter'
|
117
|
+
},
|
118
|
+
stats_PDU: {
|
119
|
+
title: 'statistics.pdu',
|
120
|
+
search: 'cn=PDU,cn=Statistics',
|
121
|
+
attribute: 'monitorCounter'
|
122
|
+
},
|
123
|
+
stats_entries: {
|
124
|
+
title: 'statistics.entries',
|
125
|
+
search: 'cn=Entries,cn=Statistics',
|
126
|
+
attribute: 'monitorCounter'
|
127
|
+
},
|
128
|
+
stats_referrals: {
|
129
|
+
title: 'statistics.referrals',
|
130
|
+
search: 'cn=Referrals,cn=Statistics',
|
131
|
+
attribute: 'monitorCounter'
|
132
|
+
}
|
133
|
+
}
|
134
|
+
monitor_ops = %w(add modify delete search compare bind unbind)
|
135
|
+
%w(initiated completed).each do |state|
|
136
|
+
monitor_ops.each do |op|
|
137
|
+
metrics["ops_#{op}_#{state}".to_sym] = {
|
138
|
+
title: "operations.#{op}.#{state}",
|
139
|
+
search: "cn=#{op},cn=Operations",
|
140
|
+
attribute: "monitorOp#{state}"
|
141
|
+
}
|
142
|
+
end
|
143
|
+
end
|
144
|
+
metrics.each do |_key, metric|
|
145
|
+
ldap.search(base: "#{metric[:search]},#{config[:base]}",
|
146
|
+
attributes: [metric[:attribute]],
|
147
|
+
return_result: true,
|
148
|
+
scope: Net::LDAP::SearchScope_BaseObject) do |entry|
|
149
|
+
metric[:value] = entry[metric[:attribute]]
|
150
|
+
end
|
151
|
+
end
|
152
|
+
return metrics
|
153
|
+
else
|
154
|
+
message = "Cannot connect to #{host}:#{config[:port]}"
|
155
|
+
if config[:user]
|
156
|
+
message += " as #{config[:user]}"
|
157
|
+
end
|
158
|
+
critical message
|
159
|
+
end
|
160
|
+
end
|
161
|
+
rescue
|
162
|
+
message = "Cannot connect to #{host}:#{config[:port]}"
|
163
|
+
message += " as #{config[:user]}"
|
164
|
+
critical message
|
165
|
+
end
|
166
|
+
|
167
|
+
def run
|
168
|
+
get_metrics(config[:host]).each do |_key, metric|
|
169
|
+
output [config[:scheme], metric[:title]].join('.'), metric[:value]
|
170
|
+
end
|
171
|
+
ok
|
172
|
+
end
|
173
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'json'
|
2
|
+
|
3
|
+
# encoding: utf-8
|
4
|
+
module SensuPluginsOpenldap
|
5
|
+
# This defines the version of the gem
|
6
|
+
module Version
|
7
|
+
MAJOR = 0
|
8
|
+
MINOR = 0
|
9
|
+
PATCH = 1
|
10
|
+
|
11
|
+
VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
|
12
|
+
|
13
|
+
NAME = 'sensu-plugins-openldap'
|
14
|
+
BANNER = "#{NAME} v%s"
|
15
|
+
|
16
|
+
module_function
|
17
|
+
|
18
|
+
def version
|
19
|
+
format(BANNER, VER_STRING)
|
20
|
+
end
|
21
|
+
|
22
|
+
def json_version
|
23
|
+
{
|
24
|
+
'version' => VER_STRING
|
25
|
+
}.to_json
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data.tar.gz.sig
ADDED
Binary file
|
metadata
ADDED
@@ -0,0 +1,218 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sensu-plugins-openldap
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Sensu-Plugins and contributors
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain:
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIDgDCCAmigAwIBAgIBATANBgkqhkiG9w0BAQUFADBDMRIwEAYDVQQDDAltYXR0
|
14
|
+
am9uZXMxGDAWBgoJkiaJk/IsZAEZFgh5aWVsZGJvdDETMBEGCgmSJomT8ixkARkW
|
15
|
+
A2NvbTAeFw0xNTAxMjgyMTAyNTFaFw0xNjAxMjgyMTAyNTFaMEMxEjAQBgNVBAMM
|
16
|
+
CW1hdHRqb25lczEYMBYGCgmSJomT8ixkARkWCHlpZWxkYm90MRMwEQYKCZImiZPy
|
17
|
+
LGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyTSzVYnO
|
18
|
+
CLgyrIyT1mBQakArQyW8xhi6MlDqyzXHJGeERT790U6EgoBVeS4XoK0ptFZNR8Tf
|
19
|
+
zko0w+Nv47TarSCgkPOaxY+mxWnAVR10dOmfeLr7huiMyps+YD56/EF2FqQ3jf/+
|
20
|
+
qohENfKD91qy1ieEy+Fn7Pf74ltbNKUdkb9a9eFXQ0DQ4ip5vik7DzjQkUTj4lca
|
21
|
+
k6ArwnmHX4YDhZoYtrQJ8jVktN0/+NtA40M5qkCYHNe5tUW25b/tKVYuioxG6b2Z
|
22
|
+
oIzaZxRLxf6HVAWpCVRT/F5+/yjigkX4u++eYacfLGleXQzoK7BL65vHGMJygWEE
|
23
|
+
0TKGqFOrl/L0AQIDAQABo38wfTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNV
|
24
|
+
HQ4EFgQUEf6a8Td7MrSZc8ImbLFZAENPbz0wIQYDVR0RBBowGIEWbWF0dGpvbmVz
|
25
|
+
QHlpZWxkYm90LmNvbTAhBgNVHRIEGjAYgRZtYXR0am9uZXNAeWllbGRib3QuY29t
|
26
|
+
MA0GCSqGSIb3DQEBBQUAA4IBAQBbzXAYA3BVGw8DZ0YYoY1VHPNEcH5qPIApmHO8
|
27
|
+
rvSmuUT0yMEi7u00H/5uHRFf4LleGT/+sTdyXKsNPGT9kdRuQEgwi+vf7Zfvd8aX
|
28
|
+
UF/+4VkEYf/8rV8Ere6u2QaWPgApdMV6JjKr1fAwCTd8AuGXNaWItiPPMseSQzLJ
|
29
|
+
JKP4hVvbc1d+oS925B1lcBiqn2aYvElbyNAVmQPywNNqkWmvtlqj9ZVJfV5HQLdu
|
30
|
+
8sHuVruarogxxKPBzlL2is4EUb6oN/RdpGx2l4254+nyR+abg//Ed27Ym0PkB4lk
|
31
|
+
HP0m8WSjZmFr109pE/sVsM5jtOCvogyujQOjNVGN4gz1wwPr
|
32
|
+
-----END CERTIFICATE-----
|
33
|
+
date: 2015-05-22 00:00:00.000000000 Z
|
34
|
+
dependencies:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: sensu-plugin
|
37
|
+
requirement: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - '='
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 1.1.0
|
42
|
+
type: :runtime
|
43
|
+
prerelease: false
|
44
|
+
version_requirements: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - '='
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: 1.1.0
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: codeclimate-test-reporter
|
51
|
+
requirement: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0.4'
|
56
|
+
type: :development
|
57
|
+
prerelease: false
|
58
|
+
version_requirements: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - "~>"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0.4'
|
63
|
+
- !ruby/object:Gem::Dependency
|
64
|
+
name: rubocop
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0.30'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - "~>"
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0.30'
|
77
|
+
- !ruby/object:Gem::Dependency
|
78
|
+
name: rspec
|
79
|
+
requirement: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - "~>"
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '3.1'
|
84
|
+
type: :development
|
85
|
+
prerelease: false
|
86
|
+
version_requirements: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - "~>"
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '3.1'
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: bundler
|
93
|
+
requirement: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - "~>"
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '1.7'
|
98
|
+
type: :development
|
99
|
+
prerelease: false
|
100
|
+
version_requirements: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - "~>"
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '1.7'
|
105
|
+
- !ruby/object:Gem::Dependency
|
106
|
+
name: rake
|
107
|
+
requirement: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - "~>"
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '10.0'
|
112
|
+
type: :development
|
113
|
+
prerelease: false
|
114
|
+
version_requirements: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - "~>"
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '10.0'
|
119
|
+
- !ruby/object:Gem::Dependency
|
120
|
+
name: github-markup
|
121
|
+
requirement: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - "~>"
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '1.3'
|
126
|
+
type: :development
|
127
|
+
prerelease: false
|
128
|
+
version_requirements: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - "~>"
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '1.3'
|
133
|
+
- !ruby/object:Gem::Dependency
|
134
|
+
name: redcarpet
|
135
|
+
requirement: !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
137
|
+
- - "~>"
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: '3.2'
|
140
|
+
type: :development
|
141
|
+
prerelease: false
|
142
|
+
version_requirements: !ruby/object:Gem::Requirement
|
143
|
+
requirements:
|
144
|
+
- - "~>"
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
version: '3.2'
|
147
|
+
- !ruby/object:Gem::Dependency
|
148
|
+
name: yard
|
149
|
+
requirement: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - "~>"
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '0.8'
|
154
|
+
type: :development
|
155
|
+
prerelease: false
|
156
|
+
version_requirements: !ruby/object:Gem::Requirement
|
157
|
+
requirements:
|
158
|
+
- - "~>"
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
version: '0.8'
|
161
|
+
- !ruby/object:Gem::Dependency
|
162
|
+
name: pry
|
163
|
+
requirement: !ruby/object:Gem::Requirement
|
164
|
+
requirements:
|
165
|
+
- - "~>"
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: '0.10'
|
168
|
+
type: :development
|
169
|
+
prerelease: false
|
170
|
+
version_requirements: !ruby/object:Gem::Requirement
|
171
|
+
requirements:
|
172
|
+
- - "~>"
|
173
|
+
- !ruby/object:Gem::Version
|
174
|
+
version: '0.10'
|
175
|
+
description: Sensu plugins for openldap
|
176
|
+
email: "<sensu-users@googlegroups.com>"
|
177
|
+
executables: []
|
178
|
+
extensions: []
|
179
|
+
extra_rdoc_files: []
|
180
|
+
files:
|
181
|
+
- CHANGELOG.md
|
182
|
+
- LICENSE
|
183
|
+
- README.md
|
184
|
+
- bin/check-syncrepl.rb
|
185
|
+
- bin/metrics-ldap.rb
|
186
|
+
- lib/sensu-plugins-openldap.rb
|
187
|
+
- lib/sensu-plugins-openldap/version.rb
|
188
|
+
homepage: https://github.com/sensu-plugins/sensu-plugins-openldap
|
189
|
+
licenses:
|
190
|
+
- MIT
|
191
|
+
metadata:
|
192
|
+
maintainer: ''
|
193
|
+
development_status: active
|
194
|
+
production_status: unstable - testing recommended
|
195
|
+
release_draft: 'false'
|
196
|
+
release_prerelease: 'false'
|
197
|
+
post_install_message: You can use the embedded Ruby by setting EMBEDDED_RUBY=true
|
198
|
+
in /etc/default/sensu
|
199
|
+
rdoc_options: []
|
200
|
+
require_paths:
|
201
|
+
- lib
|
202
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
203
|
+
requirements:
|
204
|
+
- - ">="
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
version: 1.9.3
|
207
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
208
|
+
requirements:
|
209
|
+
- - ">="
|
210
|
+
- !ruby/object:Gem::Version
|
211
|
+
version: '0'
|
212
|
+
requirements: []
|
213
|
+
rubyforge_project:
|
214
|
+
rubygems_version: 2.4.6
|
215
|
+
signing_key:
|
216
|
+
specification_version: 4
|
217
|
+
summary: Sensu plugins for openldap
|
218
|
+
test_files: []
|
metadata.gz.sig
ADDED
Binary file
|