From 55bfca318a805c5e4db976cf1e24fdd5e9801b17 Mon Sep 17 00:00:00 2001 From: Matthieu Bessat Date: Sun, 15 Sep 2024 13:21:01 +0200 Subject: [PATCH] docs: add details in README.md --- README.md | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 44d899c..ca342fc 100644 --- a/README.md +++ b/README.md @@ -2,37 +2,40 @@ Autotasker is a small server-side job runner and scheduler. +If you have a small infrastructure and you want to run task or small workflows and you want to supervise via a small web GUI, then autotasker is probably for you. + Autotasker free software licenced under [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html). +## Philosophy and architecture + +- Unix-like +- Can be configured with a single YAML file. +- Light web GUI +- Sqlite DB + ## Getting started - Create a config file to define your tasks. - Deploy the server with docker or using git clone + cargo install binary + systemd service. - Enjoy! -## Philosophy - -Unix-like - -- Small. -- Can be configured with a file. -- Can be interfaced easily. - -## Features +## Features roadmap - [x] List the tasks availables. - [x] Run tasks in background. - [x] Store the logs and tasks runs in a sqlite DB. +- [x] Trigger task via webhook, with a webhook token and debouncing. - [x] Schedule tasks (CRON-like). +- [x] Run task command via ssh - [ ] OpenMetrics exporter to alert when a task failed. - [ ] External alerting when a task failed. -- [ ] Trigger task via webhook, with a webhook token and debouncing. - [ ] Content negociation with JSON or HTML. - [ ] OAuth2 support for admin. ## Vocabulary - `Task` is a configured command to be run. +- `Executor` is the part of the code that handle task run. A new executor is spawned for each TaskRun. - `TaskRun` refer to a singular task run. ## Deploy & Usage @@ -42,6 +45,10 @@ Unix-like You can use standard rust and cargo command to run the server. You can start the daemon with `autotasker --config /path/to/config --database /path/to/database.db`. +#### Requirements + +If you wish to use the remote host ssh feature, you must have openssh-client installed on the host. + ### Docker Build the alpine image: