README.rst 1.63 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
Requirements
Ales Mrazek's avatar
Ales Mrazek committed
22 23
=============

Pavel Spirek's avatar
Pavel Spirek committed
24
*JetConf* requires Python 3.5 or newer::
Ales Mrazek's avatar
Ales Mrazek committed
25

Ales Mrazek's avatar
Ales Mrazek committed
26 27
    $ sudo apt-get install python3
    $ sudo apt-get install python3-pip
Ales Mrazek's avatar
Ales Mrazek committed
28

Ales Mrazek's avatar
Ales Mrazek committed
29 30 31

These requirements should be installed by running *Instalation*

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

Ales Mrazek's avatar
Ales Mrazek committed
34 35 36 37 38 39 40 41 42
    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
43
    
Ales Mrazek's avatar
Ales Mrazek committed
44

Ales Mrazek's avatar
Ales Mrazek committed
45

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

Pavel Spirek's avatar
Pavel Spirek committed
49 50
*JetConf* can be installed by PyPI:

Ales Mrazek's avatar
Ales Mrazek committed
51 52
::

Ales Mrazek's avatar
Ales Mrazek committed
53
   $ python3 -m pip install jetconf
Ales Mrazek's avatar
Ales Mrazek committed
54

Ladislav Lhotka's avatar
Ladislav Lhotka committed
55

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

Pavel Spirek's avatar
Pavel Spirek committed
59 60 61 62 63 64 65 66
Running *JetConf*

::

    $ jetconf -c <path_to_config_file.yaml>

For development purposes, *JetConf* can also be started directly
from Git repository with run.py script:
Ales Mrazek's avatar
Ales Mrazek committed
67

Ales Mrazek's avatar
Ales Mrazek committed
68 69
::

Ales Mrazek's avatar
Ales Mrazek committed
70
    $ ./run.py -c <path_to_config_file.yaml>
Ales Mrazek's avatar
Ales Mrazek committed
71
    
Ales Mrazek's avatar
Ales Mrazek committed
72

Ales Mrazek's avatar
Ales Mrazek committed
73 74 75
Example configuration (template)
============

Pavel Spirek's avatar
Pavel Spirek committed
76 77
In the 'data' folder, there is an example template for
configuring paths, certificates etc.
Ales Mrazek's avatar
Ales Mrazek committed
78

Ales Mrazek's avatar
Ales Mrazek committed
79
::
Ales Mrazek's avatar
Ales Mrazek committed
80

Ales Mrazek's avatar
Ales Mrazek committed
81
    example-config.yaml
Ales Mrazek's avatar
Ales Mrazek committed
82
    
Ales Mrazek's avatar
Ales Mrazek committed
83

Ales Mrazek's avatar
Ales Mrazek committed
84

Pavel Spirek's avatar
Pavel Spirek committed
85 86
In this configuration file, you have to modify all paths to match
your actual file locations.
Ales Mrazek's avatar
Ales Mrazek committed
87 88


Ladislav Lhotka's avatar
Ladislav Lhotka committed
89 90 91 92 93 94 95 96 97
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