From 6424cbc7cef9185564c5e3574575b4a5e617b9cb Mon Sep 17 00:00:00 2001 From: "bozo.kopic" Date: Fri, 18 Aug 2017 15:24:16 +0200 Subject: documentation --- docs/conf.py | 1 + docs/functionality.rst | 32 ++++++++++++++++++++++++++++++++ docs/index.rst | 3 +++ docs/installation.rst | 2 ++ docs/schemas.rst | 19 +++++++++++++++++++ 5 files changed, 57 insertions(+) create mode 100644 docs/functionality.rst create mode 100644 docs/installation.rst create mode 100644 docs/schemas.rst (limited to 'docs') diff --git a/docs/conf.py b/docs/conf.py index 1d6265f..bc23583 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -7,6 +7,7 @@ extensions = ['sphinx.ext.imgmath', project = 'Hatter' version = '0.0.1' +copyright = '2017, Božo Kopić' master_doc = 'index' html_theme = 'sphinx_rtd_theme' diff --git a/docs/functionality.rst b/docs/functionality.rst new file mode 100644 index 0000000..6943f14 --- /dev/null +++ b/docs/functionality.rst @@ -0,0 +1,32 @@ +Functionality +============= + +Hatter is CI tool with emphasis on simple workflow based on virtual machine +work executors. In contrast to most other CI tools, Hatter doesn't have +specialized executors that need to be installed on machines that execute +user defined commands. Each executor is generic VM with SSH daemon which +is used for file transfer and execution of user defined commands. Therefore, +Hatter is implemented as single daemon that orchestrates VMs lifecycle and +remote command execution. + + +Server +------ + +Hatter server daemon provides project execution orchestrator facility with +web-based administration interface. It is configured with single YAML +configuration defined by :ref:`JSON Schema `. Single +server instance can support automation of multiple projects. + + +Project +------- + +Hatter project is represented by single git repository containing project +configuration file - `.hatter.yml`. Configuration file is defined by +:ref:`JSON Schema `. This configuration can define +multiple execution environments with appropriate execution commands. + + +Execution environment +--------------------- diff --git a/docs/index.rst b/docs/index.rst index df3c1d3..3ae48eb 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -5,3 +5,6 @@ Content :includehidden: introduction + functionality + installation + schemas diff --git a/docs/installation.rst b/docs/installation.rst new file mode 100644 index 0000000..11e4437 --- /dev/null +++ b/docs/installation.rst @@ -0,0 +1,2 @@ +Installation +============ diff --git a/docs/schemas.rst b/docs/schemas.rst new file mode 100644 index 0000000..4425ce3 --- /dev/null +++ b/docs/schemas.rst @@ -0,0 +1,19 @@ +JSON Schemas +============ + +.. _project-configuration: + +Project configuration +--------------------- + +.. literalinclude:: ../schemas_json/project.yaml + + +.. _server-configuration: + +Server configuration +-------------------- + +.. literalinclude:: ../schemas_json/server.yaml + +.. literalinclude:: ../schemas_json/logging.yaml -- cgit v1.2.3-70-g09d2