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 24
Prerequisites
=============

*JetConf* requires Python 3.5
Ales Mrazek's avatar
Ales Mrazek committed
25 26
::

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

Ales Mrazek's avatar
Ales Mrazek committed
30 31 32

These requirements should be installed by running *Instalation*

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

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

Ales Mrazek's avatar
Ales Mrazek committed
46

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

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

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

Ladislav Lhotka's avatar
Ladislav Lhotka committed
54

55 56
Note that *JetConf* requires Python 3.5.

Ales Mrazek's avatar
Ales Mrazek committed
57 58 59 60 61
Running
============

Running JetConf

Ales Mrazek's avatar
Ales Mrazek committed
62 63
::

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

Ales Mrazek's avatar
Ales Mrazek committed
68 69 70 71 72 73 74 75

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

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

example config file

Ales Mrazek's avatar
Ales Mrazek committed
76
::
Ales Mrazek's avatar
Ales Mrazek committed
77

Ales Mrazek's avatar
Ales Mrazek committed
78
    example-config.yaml
Ales Mrazek's avatar
Ales Mrazek committed
79
    
Ales Mrazek's avatar
Ales Mrazek committed
80

Ales Mrazek's avatar
Ales Mrazek committed
81 82 83 84

In this configuration file you have to setup paths.


Ladislav Lhotka's avatar
Ladislav Lhotka committed
85 86 87 88 89 90 91 92 93
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