README.rst 1.54 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.6 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
::

Pavel Spirek's avatar
Pavel Spirek committed
34
    colorlog
Ales Mrazek's avatar
Ales Mrazek committed
35
    h2==3.0.1
Pavel Spirek's avatar
Pavel Spirek committed
36 37 38
    pytz
    PyYAML
    yangson
Ales Mrazek's avatar
Ales Mrazek committed
39
    
Ales Mrazek's avatar
Ales Mrazek committed
40

Ales Mrazek's avatar
Ales Mrazek committed
41

Ladislav Lhotka's avatar
Ladislav Lhotka committed
42 43 44
Installation
============

Pavel Spirek's avatar
Pavel Spirek committed
45 46
*JetConf* can be installed by PyPI:

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

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

Ladislav Lhotka's avatar
Ladislav Lhotka committed
51

Ales Mrazek's avatar
Ales Mrazek committed
52
Running
Pavel Spirek's avatar
Pavel Spirek committed
53
=======
Ales Mrazek's avatar
Ales Mrazek committed
54

Pavel Spirek's avatar
Pavel Spirek committed
55 56 57 58 59 60 61 62
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
63

Ales Mrazek's avatar
Ales Mrazek committed
64 65
::

Ales Mrazek's avatar
Ales Mrazek committed
66
    $ ./run.py -c <path_to_config_file.yaml>
Ales Mrazek's avatar
Ales Mrazek committed
67
    
Ales Mrazek's avatar
Ales Mrazek committed
68

Ales Mrazek's avatar
Ales Mrazek committed
69
Example configuration (template)
Pavel Spirek's avatar
Pavel Spirek committed
70
================================
Ales Mrazek's avatar
Ales Mrazek committed
71

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

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

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

Ales Mrazek's avatar
Ales Mrazek committed
80

Pavel Spirek's avatar
Pavel Spirek committed
81 82
In this configuration file, you have to modify all paths to match
your actual file locations.
Ales Mrazek's avatar
Ales Mrazek committed
83 84


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