aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/conf.py1
-rw-r--r--docs/functionality.rst32
-rw-r--r--docs/index.rst3
-rw-r--r--docs/installation.rst2
-rw-r--r--docs/schemas.rst19
5 files changed, 57 insertions, 0 deletions
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 <server-configuration>`. 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 <project-configuration>`. 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