autotasker/README.md

44 lines
1.1 KiB
Markdown
Raw Normal View History

2024-07-21 15:25:13 +00:00
# Autotasker
2024-04-27 09:59:43 +00:00
2024-07-21 15:25:13 +00:00
Autotasker is a small server-side job runner and scheduler.
2024-04-27 09:59:43 +00:00
2024-07-21 15:25:13 +00:00
Autotasker free software licenced under [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html).
2024-04-27 09:59:43 +00:00
2024-07-21 15:25:13 +00:00
## Getting started
2024-04-27 09:59:43 +00:00
2024-07-21 15:25:13 +00:00
- Create a config file to define your tasks.
- Deploy the server (using git clone + cargo or docker or binary + systemd service).
- Enjoy!
2024-04-27 09:59:43 +00:00
2024-07-21 15:25:13 +00:00
## Philosophy
Unix-like
- Small.
- Can be configured with a file.
- Can be interfaced easily.
## Features
- [x] List the tasks availables.
- [x] Run tasks in background.
- [x] Store the logs and tasks runs in a sqlite DB.
- [x] Schedule tasks (CRON-like).
2024-07-21 15:25:13 +00:00
- [ ] OpenMetrics exporter to alert when a task failed.
- [ ] External alerting when a task failed.
- [ ] Run task via webhook, with a webhook token.
- [ ] Content negociation with JSON or HTML.
- [ ] OAuth2 support for admin.
## Vocabulary
- `Task` is a configured command to be run.
- `TaskRun` refer to a singular task run.
## Built with
- [Axum](https://lib.rs/crates/axum) for web server.
- [Tera](https://lib.rs/crates/tera) for templating.
- [Sqlx](https://lib.rs/crates/sqlx) to interact with Sqlite.
- [Sqlite](https://sqlite.org/) for storing state and logs.