clixon/README.md
Olof hagsand b99ce2c499 docs
2017-05-07 18:11:20 +02:00

90 lines
2.9 KiB
Markdown

# Clixon
Clixon is an automatic configuration manager where you from a YANG
specification generate interactive CLI, NETCONF, RESTCONF and embedded
databases with transaction support.
Presentations and tutorial is found on the [Clicon project page](http://www.clicon.org)
Table of contents
=================
* [Table of contents](#table-of-contents)
* [Installation](#installation)
* [Documentation](#documentation)
* [Dependencies](#dependencies)
* [Licenses](#licenses)
* [History](#history)
* [Yang](#yang)
Installation
============
A typical installation is as follows:
```
configure # Configure clixon to platform
make # Compile
sudo make install # Install libs, binaries, and config-files
sudo make install-include # Install include files (for compiling)
```
One example applications is provided, a IETF IP YANG datamodel with generated CLI and configuration interface.
Documentation
=============
- [Frequently asked questions](doc/FAQ.md)
- [XML datastore](datastore/README.md)
- [Netconf support](apps/netconf/README.md)
- [Restconf support](apps/restconf/README.md)
- [Reference manual](http://www.clicon.org/doxygen/index.html) (Better: cd doc; make doc)
- [Routing example](example/README.md)
- [Tests](test/README.md)
Dependencies
============
Clixon is dependend on the following packages
- [CLIgen](http://www.cligen.se) is required for building Clixon. If you need
to build and install CLIgen:
```
git clone https://github.com/olofhagsand/cligen.git
cd cligen; configure; make; make install
```
- Yacc/bison
- Lex/Flex
- Fcgi (if restconf is enabled)
- Qdbm key-value store (if keyvalue datastore is enabled)
Licenses
========
Clixon is dual license. Either Apache License, Version 2.0 or GNU
General Public License Version 2. You choose.
See [LICENSE.md](LICENSE.md) for license, [CHANGELOG](CHANGELOG.md) for recent changes.
Background
==========
We implemented Clixon since we needed a generic configuration tool in
several projects, including
[KTH](http://www.csc.kth.se/~olofh/10G_OSR). Most of these projects
were for embedded network and measuring-probe devices. We started with
something called Clicon which was based on a key-value specification
and data-store. But as time passed new standards evaolved and we
started adapting it to XML, Yang and netconf. Finally we made Clixon
where the legacy key specification has been replaced completely by
YANG and using XML as configuration data. This means that legacy
Clicon applications do not run on Clixon.
YANG
====
YANG is at the heart of Clixon. RFC 6020 is implemented with some
exceptions as noted below. A Yang specification is used to generated
an interactive CLI client. Clixon also provides a Netconf and Restconf
client based on Yang.
The following features are (not yet) implemented:
- type object-references
- if-feature
- unique
- rpc