From 1d56c732965cad4c8eb06ed5638f7ecdea88f290 Mon Sep 17 00:00:00 2001 From: "bozo.kopic" Date: Sun, 27 Mar 2022 23:35:37 +0200 Subject: major rewrite --- README.rst | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 58 insertions(+), 7 deletions(-) (limited to 'README.rst') diff --git a/README.rst b/README.rst index 775b474..fd69ec3 100644 --- a/README.rst +++ b/README.rst @@ -10,7 +10,7 @@ Key features: * automated projects based on git repositories * containers as execution runners * per project configuration as YAML file inside project's repository - * web based control and monitoring interface + * web based control and monitoring interface (without JavaScript) * webhook/periodic execution triggering * CLI executor @@ -23,20 +23,71 @@ Runtime requirements * podman +Install +------- + +:: + + $ pip install hatter + + Running ------- +Hatter enables execution of actions described by simple YAML files which +contain container image name and Posix shell execution script. Actions files +are stored as part of git repositories (default name of action file is +`.hatter.yaml`, stored in root of git working tree). + +These actions can be executed with:: + + $ hatter execute + +where ```` is path to git repository containing action definition. +Referenced git repository can be local or remote. + +Additionally, hatter can be run as daemon providing web server interface:: + + $ hatter server + +When run as server, hatter periodically lists configured git repository +references, and schedules action executions if new commits are available. +New commit checking can also be triggered by webhooks available at listening +`/repo//webhook` URL path (```` is configured repository +name). + +Hatter server provides basic web GUI which can be used for monitoring +action executions and scheduling new executions based on user provided +git reference. + +Action and server configurations are defined and documented by JSON schemas +`schemas_json/action.yaml`_ and `schemas_json/server.yaml`_. + +For additional options, see:: + + $ hatter --help + + +Configuration example +--------------------- + +* `.hatter.yaml` -Server -'''''' + :: + image: alpine + command: | + echo "hello $WHO" -CLI executor -'''''''''''' +* `server.yaml` + :: -Configuration -------------- + repos: + example: + url: path/to/example/repository + env: + WHO: world Build -- cgit v1.2.3-70-g09d2