README.rst 1.46 KB
Newer Older
1 2
.. |date| date::

Ladislav Lhotka's avatar
Ladislav Lhotka committed
3
*******
4
JetConf
Ladislav Lhotka's avatar
Ladislav Lhotka committed
5
*******
6

Ladislav Lhotka's avatar
Ladislav Lhotka committed
7
:Author: Pavel Špírek <pavel.spirek@nic.cz>
8 9
:Date: |date|

Ladislav Lhotka's avatar
Ladislav Lhotka committed
10 11
*JetConf* is an implementation of the RESTCONF_ protocol written in
Python 3. Main features:
12

Ladislav Lhotka's avatar
Ladislav Lhotka committed
13
* HTTP/2 over TLS, certificate-based authentication of clients
Ladislav Lhotka's avatar
Ladislav Lhotka committed
14

Ladislav Lhotka's avatar
Ladislav Lhotka committed
15
* JSON data encoding
16

Ladislav Lhotka's avatar
Ladislav Lhotka committed
17
* Per-user candidate datastores with transactions
Ladislav Lhotka's avatar
Ladislav Lhotka committed
18

Ladislav Lhotka's avatar
Ladislav Lhotka committed
19 20
* Support for NACM_

Ales Mrazek's avatar
Ales Mrazek committed
21 22 23
Prerequisites
=============

Ales Mrazek's avatar
Ales Mrazek committed
24
*JetConf* requires Python 3.5 ::
Ales Mrazek's avatar
Ales Mrazek committed
25 26
    $ sudo apt-get install python3
    $ sudo apt-get install python3-pip
Ales Mrazek's avatar
Ales Mrazek committed
27

Ales Mrazek's avatar
Ales Mrazek committed
28 29 30

These requirements should be installed by running *Instalation*

Ales Mrazek's avatar
Ales Mrazek committed
31 32
::

Ales Mrazek's avatar
Ales Mrazek committed
33 34 35 36 37 38 39 40 41
    colorlog==2.10.0
    h2==3.0.1
    hpack==2.3.0
    hyperframe==5.0.0
    pyaml==16.12.2
    pytz==2016.10
    PyXB==1.2.5
    PyYAML==3.12
    yangson==1.3.16
Ales Mrazek's avatar
Ales Mrazek committed
42
    
Ales Mrazek's avatar
Ales Mrazek committed
43

Ales Mrazek's avatar
Ales Mrazek committed
44

Ladislav Lhotka's avatar
Ladislav Lhotka committed
45 46 47
Installation
============

Ales Mrazek's avatar
Ales Mrazek committed
48 49
::

Ales Mrazek's avatar
Ales Mrazek committed
50
   $ python3 -m pip install jetconf
Ales Mrazek's avatar
Ales Mrazek committed
51

Ladislav Lhotka's avatar
Ladislav Lhotka committed
52

53 54
Note that *JetConf* requires Python 3.5.

Ales Mrazek's avatar
Ales Mrazek committed
55 56 57 58 59
Running
============

Running JetConf

Ales Mrazek's avatar
Ales Mrazek committed
60 61
::

Ales Mrazek's avatar
Ales Mrazek committed
62 63
    $ cd jetconf
    $ ./run.py -c <path_to_config_file.yaml>
Ales Mrazek's avatar
Ales Mrazek committed
64
    
Ales Mrazek's avatar
Ales Mrazek committed
65

Ales Mrazek's avatar
Ales Mrazek committed
66 67 68 69 70 71 72 73

Example configuration (template)
============

In folder 'data' is example template for configuring paths, certificates etc.

example config file

Ales Mrazek's avatar
Ales Mrazek committed
74
::
Ales Mrazek's avatar
Ales Mrazek committed
75

Ales Mrazek's avatar
Ales Mrazek committed
76
    example-config.yaml
Ales Mrazek's avatar
Ales Mrazek committed
77
    
Ales Mrazek's avatar
Ales Mrazek committed
78

Ales Mrazek's avatar
Ales Mrazek committed
79 80 81 82

In this configuration file you have to setup paths.


Ladislav Lhotka's avatar
Ladislav Lhotka committed
83 84 85 86 87 88 89 90 91
Links
=====
* `Git repository`_
* `Documentation`_

.. _RESTCONF: https://tools.ietf.org/html/draft-ietf-netconf-restconf-18
.. _NACM: https://datatracker.ietf.org/doc/rfc6536/
.. _Git repository: https://github.com/CZ-NIC/jetconf
.. _Documentation: https://gitlab.labs.nic.cz/labs/jetconf/wikis/home