From 283cb787bbd613d405dd1a5cb787211800e9276a Mon Sep 17 00:00:00 2001 From: gryf Date: Fri, 25 Oct 2019 21:07:44 +0200 Subject: [PATCH] Readme update --- README.rst | 53 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 47 insertions(+), 6 deletions(-) diff --git a/README.rst b/README.rst index 40e34a3..b7ea868 100644 --- a/README.rst +++ b/README.rst @@ -5,21 +5,62 @@ Ferrit .. image:: img/ferrit.jpg :alt: Ferrit ----- -Ferrit is a Fake Gerrit server implementation -created for functional testing of events -in Jenkins & Gerrit Trigger ecosystem. +Ferrit is a fake Gerrit server implementation created for functional testing of +events in Jenkins & Gerrit Trigger ecosystem. ---- -Introduction +Architecture ------------ -TODO +Ferrit consists of two servers, http and ssh and companion script for +generating payload for the ssh server. + +We relay on real Jenkins installation, so it has to be configured up front. See +next section for details. + +Having Jenkins up and running, we can simultaneously run ssh and http servers +by invoking: + +.. code:: shell-session + + $ python3 gerrit_fake_http_server.py + +and + +.. code:: shell-session + + $ python3 gerrit_fake_ssh_server.py + +Output of the last command will provide fifo file name used for triggering +events in json format which can be generated using third part of the Ferrit - +script `generate_event.py`. + +Installation +------------ + +Prerequisites +============= + +.. TODO (jenkins, plugins installation and configuration) + + + +Python +====== + +Ferrit modules are written in Python and depends on two external libraries: + +- `paramiko`_ for ssh server +- `bottle`_ for http server + +Please note, Python 2.x is not supported. `Ferrite image`_ by Karl-Martin Skontorp is on Attribution 2.0 Generic (CC BY 2.0) license. .. _Ferrite image: https://www.flickr.com/photos/picofarad-org/2132206570/ +.. _paramiko: https://www.paramiko.org/ +.. _bottle: https://bottlepy.org