98 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
package App::NetdiscoX::Web::Plugin::RANCID;
 | 
						|
 | 
						|
our $VERSION = '2.001001';
 | 
						|
 | 
						|
use Dancer ':syntax';
 | 
						|
use App::Netdisco::Web::Plugin;
 | 
						|
 | 
						|
use File::ShareDir 'dist_dir';
 | 
						|
register_template_path(
 | 
						|
  dist_dir( 'App-NetdiscoX-Web-Plugin-RANCID' ));
 | 
						|
 | 
						|
register_device_details({
 | 
						|
  name  => 'rancid',
 | 
						|
  label => 'RANCID',
 | 
						|
  default => 'on',
 | 
						|
});
 | 
						|
 | 
						|
=head1 NAME
 | 
						|
 | 
						|
App::NetdiscoX::Web::Plugin::RANCID - Link to device backups in RANCID/WebSVN
 | 
						|
 | 
						|
=head1 SYNOPSIS
 | 
						|
 | 
						|
 # in your ~/environments/deployment.yml file
 | 
						|
  
 | 
						|
 extra_web_plugins:
 | 
						|
   - X::RANCID
 | 
						|
 
 | 
						|
 plugin_rancid:
 | 
						|
   location: 'websvn-server.example.com/rancid'
 | 
						|
   open_in_new_window: true
 | 
						|
 | 
						|
=head1 Description
 | 
						|
 | 
						|
This is a plugin for the L<App::Netdisco> network management application.
 | 
						|
It adds a row to the Device Details page named "RANCID" with a link to
 | 
						|
your local RANCID/WebSVN installation hosting the device configuation
 | 
						|
backups.
 | 
						|
 | 
						|
=head1 Configuration
 | 
						|
 | 
						|
Create an entry in your C<~/environments/deployment.yml> file named
 | 
						|
"C<plugin_rancid>", containing the following settings:
 | 
						|
 | 
						|
=head2 location
 | 
						|
 | 
						|
Value: String, Required.
 | 
						|
 | 
						|
Name of the server hosting your local WebSVN installation. This should
 | 
						|
also include the path under which backup files are stored for the devices.
 | 
						|
 | 
						|
=head2 open_in_new_window
 | 
						|
 | 
						|
Value: Boolean. Default: false.
 | 
						|
 | 
						|
If set to true, the hyperlink is configured to open the WebSVN page in a new
 | 
						|
browser window or tab.
 | 
						|
 | 
						|
=head1 TODO
 | 
						|
 | 
						|
At the moment the device name is used in the link. This is kind of useless
 | 
						|
for most installations. Needs config to control how to specify device in
 | 
						|
generated link.
 | 
						|
 | 
						|
=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;
 |