Skip to content

Network configuration management library based on NetJSON DeviceConfiguration

License

Notifications You must be signed in to change notification settings

kellerman/netjsonconfig

 
 

Repository files navigation

netjsonconfig

https://github.com/openwisp/netjsonconfig/workflows/Netjsonconfig%20CI%20Build/badge.svg?branch=master Dependency monitoring https://img.shields.io/gitter/room/nwjs/nw.js.svg?style=flat-square downloads code style: black

Netjsonconfig is a part of the OpenWISP project and it's the official configuration engine of OpenWISP 2.

netjsonconfig is a python library that converts NetJSON DeviceConfiguration objects into real router configurations that can be installed on systems like OpenWRT, LEDE or OpenWisp Firmware.

Its main features are listed below for your reference:

  • OpenWRT / LEDE support
  • OpenWisp Firmware support
  • OpenVPN support
  • WireGuard support
  • Possibility to support more firmwares via custom backends
  • Based on the NetJSON RFC
  • Validation based on JSON-Schema
  • Templates: store common configurations in templates
  • Multiple template inheritance: reduce repetition to the minimum
  • File inclusion: easy inclusion of arbitrary files in configuration packages
  • Variables: reference variables in the configuration
  • Command line utility: easy to use from shell scripts or from other programming languages

Documentation | Change log | Support channels | Issue Tracker | License

About

Network configuration management library based on NetJSON DeviceConfiguration

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.5%
  • Shell 1.1%
  • Jinja 0.4%