docs: add details in README.md

This commit is contained in:
Matthieu Bessat 2024-09-15 13:21:01 +02:00
parent c179223649
commit 55bfca318a

View file

@ -2,37 +2,40 @@
Autotasker is a small server-side job runner and scheduler. 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). 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 ## Getting started
- Create a config file to define your tasks. - Create a config file to define your tasks.
- Deploy the server with docker or using git clone + cargo install binary + systemd service. - Deploy the server with docker or using git clone + cargo install binary + systemd service.
- Enjoy! - Enjoy!
## Philosophy ## Features roadmap
Unix-like
- Small.
- Can be configured with a file.
- Can be interfaced easily.
## Features
- [x] List the tasks availables. - [x] List the tasks availables.
- [x] Run tasks in background. - [x] Run tasks in background.
- [x] Store the logs and tasks runs in a sqlite DB. - [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] Schedule tasks (CRON-like).
- [x] Run task command via ssh
- [ ] OpenMetrics exporter to alert when a task failed. - [ ] OpenMetrics exporter to alert when a task failed.
- [ ] External alerting 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. - [ ] Content negociation with JSON or HTML.
- [ ] OAuth2 support for admin. - [ ] OAuth2 support for admin.
## Vocabulary ## Vocabulary
- `Task` is a configured command to be run. - `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. - `TaskRun` refer to a singular task run.
## Deploy & Usage ## Deploy & Usage
@ -42,6 +45,10 @@ Unix-like
You can use standard rust and cargo command to run the server. 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`. 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 ### Docker
Build the alpine image: Build the alpine image: