move Observium plugin outside of Netdisco dist
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
2.019004 -
|
||||
|
||||
[NEW FEATURES]
|
||||
|
||||
* Add Device PoE status report
|
||||
* Add Nodes with multiple IP addresses report
|
||||
* Add Device addresses with DNS entries report
|
||||
@@ -8,6 +9,7 @@
|
||||
* Add Ports administratively disabled report
|
||||
* Add Ports that are blocking report
|
||||
* Add Access Point client count report
|
||||
* Move Obserivum plugin outside of this dist, into App::NetdiscoX::
|
||||
|
||||
[ENHANCEMENTS]
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ requires 'Algorithm::Cron' => 0.07;
|
||||
requires 'AnyEvent' => 7.05;
|
||||
requires 'App::cpanminus' => 1.6108;
|
||||
requires 'App::local::lib::helper' => 0.07;
|
||||
#requires 'App::NetdiscoX::Web::Plugin::Observium' => 0;
|
||||
requires 'DBD::Pg' => 0;
|
||||
requires 'DBD::SQLite' => 1.37;
|
||||
requires 'DBIx::Class' => 0.08210;
|
||||
|
||||
@@ -35,6 +35,13 @@ but they are backwards compatible.
|
||||
|
||||
=back
|
||||
|
||||
=head1 2.020000
|
||||
|
||||
=head2 General Notices
|
||||
|
||||
If you were using the C<X::Observium> plugin, you'll now need to install
|
||||
the separate distribution L<App::NetdiscoX::Web::Plugin::Observium>.
|
||||
|
||||
=head1 2.019000
|
||||
|
||||
=head2 General Notices
|
||||
|
||||
@@ -296,7 +296,8 @@ path. We recommend use of the L<File::ShareDir> module to package and ship
|
||||
templates along with your plugin, as shown.
|
||||
|
||||
Each path added using C<register_template_path> is searched I<before> any
|
||||
existing paths in the template config.
|
||||
existing paths in the template config. See the
|
||||
L<App::NetdiscoX::Web::Plugin::Observium> distribution for a working example.
|
||||
|
||||
=head2 Template Variables
|
||||
|
||||
|
||||
@@ -3,6 +3,8 @@ package App::Netdisco::Web::Plugin;
|
||||
use Dancer ':syntax';
|
||||
use Dancer::Plugin;
|
||||
|
||||
use Path::Class 'dir';
|
||||
|
||||
set(
|
||||
'_additional_css' => [],
|
||||
'_additional_javascript' => [],
|
||||
@@ -28,7 +30,7 @@ register 'register_template_path' => sub {
|
||||
|
||||
unshift
|
||||
@{ config->{engines}->{template_toolkit}->{INCLUDE_PATH} },
|
||||
$path;
|
||||
$path, dir($path, 'views')->stringify;
|
||||
};
|
||||
|
||||
sub _register_include {
|
||||
|
||||
@@ -1,92 +0,0 @@
|
||||
package App::NetdiscoX::Web::Plugin::Observium;
|
||||
|
||||
use Dancer ':syntax';
|
||||
use Dancer::Plugin::DBIC;
|
||||
|
||||
use App::Netdisco::Web::Plugin;
|
||||
|
||||
use File::ShareDir 'dist_dir';
|
||||
use Path::Class;
|
||||
|
||||
register_device_port_column({
|
||||
name => 'observium',
|
||||
position => 'mid',
|
||||
label => 'Traffic',
|
||||
default => 'on',
|
||||
});
|
||||
|
||||
register_css('observium');
|
||||
register_javascript('observium');
|
||||
|
||||
=head1 NAME
|
||||
|
||||
App::NetdiscoX::Web::Plugin::Observium - Port Traffic Links and Thumbnail Graphs from Observium
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
# in your ~/environments/deployment.yml file
|
||||
|
||||
extra_web_plugins:
|
||||
- X::Observium
|
||||
|
||||
plugin_observium:
|
||||
webhost: "web-server.example.com"
|
||||
open_in_new_window: true
|
||||
|
||||
=head1 Description
|
||||
|
||||
This is a plugin for the L<App::Netdisco> network management application. It
|
||||
adds a column to the Device Ports table named "Traffic" with a link and
|
||||
thumbnail graph for the port, taken from a local Observium installation.
|
||||
|
||||
=head1 Configuration
|
||||
|
||||
Create an entry in your C<~/environments/deployment.yml> file named
|
||||
"C<plugin_observium>", containing the following settings:
|
||||
|
||||
=head2 webhost
|
||||
|
||||
Value: String, Required.
|
||||
|
||||
Name of the server hosting your local Observium installation.
|
||||
|
||||
=head2 open_in_new_window
|
||||
|
||||
Value: Boolean. Default: false.
|
||||
|
||||
If set to true, the hyperlink is configured to open the port's Observium page
|
||||
in a new browser window or tab.
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Oliver Gorwits <oliver@cpan.org>
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
This software is copyright (c) 2013 by The Netdisco Developer Team.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of the Netdisco Project nor the
|
||||
names of its contributors may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE NETDISCO DEVELOPER TEAM BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
=cut
|
||||
|
||||
true;
|
||||
@@ -1,6 +0,0 @@
|
||||
<a href="http://[% settings.plugin_observium.webhost | uri %]/device/hostname=[% device.dns || device.name | uri %]/tab=port/ifdescr=[% row.base64url_port %]/"
|
||||
[% 'target="_blank"' IF settings.plugin_observium.open_in_new_window %]
|
||||
class="btn nd_observium"
|
||||
data-content='
|
||||
<img src="http://[% settings.plugin_observium.webhost | uri %]/graph.php?type=port_bits&device=[% device.dns || device.name | uri %]&port=[% row.port | uri %]&from=-1w&to=now&width=208&height=100&title=yes"/>'
|
||||
><i class="icon-bar-chart"></i></a>
|
||||
@@ -1,6 +0,0 @@
|
||||
.nd_observium-style {
|
||||
min-width: none;
|
||||
max-width: none;
|
||||
margin-top: 5px;
|
||||
margin-left: 15px;
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
$(document).ready(function() {
|
||||
|
||||
// bind qtip2 event to all future .nd_observium buttons
|
||||
$('#ports_pane').on('mouseover', '.nd_observium', function(event) {
|
||||
$(this).qtip({
|
||||
overwrite: false,
|
||||
content: {
|
||||
attr: 'data-content'
|
||||
},
|
||||
show: {
|
||||
event: event.type,
|
||||
ready: true
|
||||
},
|
||||
position: {
|
||||
my: 'left center',
|
||||
at: 'right centre',
|
||||
target: 'mouse'
|
||||
},
|
||||
style: {
|
||||
classes: 'qtip-bootstrap nd_observium-style'
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user