Download the PHP package wizballesy/librenms-oxidized-history without Composer

On this page you can find all versions of the php package wizballesy/librenms-oxidized-history. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package librenms-oxidized-history

LibreNMS Oxidized History

LibreNMS package for viewing historical Oxidized configuration history directly from local Oxidized Git repositories.

This package adds a Historical Config device tab in LibreNMS. It is intended for environments where Oxidized stores configuration history in Git repositories and LibreNMS should be able to view older saved configurations without modifying LibreNMS core or Oxidized itself.

Status

Alpha release.

The current release line uses a local Git history provider and a LibreNMS-native configuration history workflow.

The package reads Oxidized Git repositories directly from PHP. No separate companion service, Ruby daemon, HTTP listener, or bearer token is required.

What it does

Requirements

Configuration

The package reads configuration from config/oxidized-history.php.

Default local Git storage root:

/opt/librenms/.config/oxidized

With the default layout, the package expects one Git repository per Oxidized group, for example:

/opt/librenms/.config/oxidized/cisco.git
/opt/librenms/.config/oxidized/dell.git
/opt/librenms/.config/oxidized/paloalto.git

The package resolves the Oxidized group for a device in this order:

  1. LibreNMS oxidized.maps.group
  2. Local Git history discovery
  3. Package fallback map from group_os_map
  4. LibreNMS or package default_group

Local Git history discovery means the package can scan readable local Oxidized Git repositories and use the repository that actually contains history for the device node. This helps with devices that are no longer present in the active Oxidized source list but still have saved Git history.

group_os_map is only a fallback. Prefer defining OS-to-group mapping in LibreNMS oxidized.maps.group when possible.

Optional environment overrides:

OXIDIZED_HISTORY_GIT_STORAGE_ROOT=/opt/librenms/.config/oxidized
OXIDIZED_HISTORY_GIT_REPO_MODE=group_repos
OXIDIZED_HISTORY_MAX_VERSIONS=200
OXIDIZED_HISTORY_MAX_CONFIG_BYTES=2000000

OXIDIZED_HISTORY_MAX_CONFIG_BYTES limits the size of stored configurations that the plugin will load. The same limit is checked before generating diffs, preventing oversized configuration blobs from being loaded or diffed.

Example LibreNMS Oxidized group mapping:

ios   -> cisco
iosxe -> cisco
panos -> paloalto

Example node lookup:

LibreNMS device: 192.0.2.10
Resolved group: cisco
Git node path:  cisco/192.0.2.10
Repository:     /opt/librenms/.config/oxidized/cisco.git

Installation

This plugin is installed as a Composer package.

Manual copy-based installation is not the recommended installation method.

Install from Packagist

Recommended installation method:

cd /opt/librenms

sudo -u librenms ./lnms plugin:add wizballesy/librenms-oxidized-history v0.1.0-alpha.9
sudo -u librenms php artisan optimize
sudo -u librenms php artisan config:clear

Replace v0.1.0-alpha.9 with the version you want to install.

After installation, open a LibreNMS device and select the Historical Config tab.

Updating

To update to a specific release:

cd /opt/librenms

sudo -u librenms ./lnms plugin:add wizballesy/librenms-oxidized-history v0.1.0-alpha.9
sudo -u librenms php artisan optimize
sudo -u librenms php artisan config:clear

Replace v0.1.0-alpha.9 with the version you want to install.

Permissions and security

Viewing configuration history follows LibreNMS configuration-access permissions.

Requesting an immediate Oxidized backup additionally requires the LibreNMS oxidized.refresh permission.

Detailed backend diagnostics, including local Git storage information and detected repository names, are restricted to LibreNMS administrators.

Security recommendations:

LibreNMS validate note

Installing LibreNMS plugin packages modifies:

composer.json
composer.lock

LibreNMS validate may warn that these files are locally modified after installing or updating third-party plugin packages. This is expected because the plugin is installed as a Composer dependency inside the LibreNMS application directory.

Do not run ./scripts/github-remove unless you intentionally want to remove local Composer changes.

Troubleshooting

Check which backend the plugin is using:

cd /opt/librenms

sudo -u librenms php artisan tinker --execute='
$contract = \WizballEsy\LibreNmsOxidizedHistory\Contracts\HistoryProvider::class;
$provider = app($contract);

echo "provider=" . get_class($provider) . PHP_EOL;
'

Check that the LibreNMS user can read the Oxidized Git repositories:

sudo -u librenms ls -ld /opt/librenms/.config/oxidized
sudo -u librenms find /opt/librenms/.config/oxidized -maxdepth 1 -type d -name "*.git" -print

Check one repository manually:

sudo -u librenms git --git-dir=/opt/librenms/.config/oxidized/cisco.git log -1

License

GPL-3.0-or-later


All versions of librenms-oxidized-history with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
librenms/plugin-interfaces Version ^1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package wizballesy/librenms-oxidized-history contains the following files

Loading the files please wait ...