autotasker/TODO.md
Matthieu Bessat b79d989f78 feat(executor): remote host executing via ssh
Allow to specify a task to be running on a remote host via wrapping
command around ssh client.
2024-08-03 19:43:26 +02:00

45 lines
1.8 KiB
Markdown

# Work
## TODO
- [x] Add CSS badge and color code on job status
- [x] Add `Dockerfile`
- [x] Add cli arg to change listen address and port
- [x] Add tasks timeout
- [ ] Support connecting to remote server by SSH to execute task remotely
- [ ] Add details on runtime
- [ ] Implement basic auth with OAuth2, find a minimal oauth2
- [ ] Provide example of nginx config with basic auth support excluding webhook
- [ ] Add a way to categorize tasks, regroup tasks
- [ ] Don't use long UUID, but only ids
- [ ] Validating config file
- validate schedule CRON syntax
- [ ] Add CI/CD to build docker image
- [ ] Add configuration options to limit the logs capture head and tail
- In a limited mode, we would filter out logs and only keep the head and tail AND Errors or stacktrace
- [ ] Sort tasks run history by date
- [ ] Add pagination of tasks run history
- [ ] JSON support, content-negotiation, can be used with a CLI API client
- [ ] Websocket return of logs
- [ ] Add openmetrics exporter endpoint to alert when jobs fails
- [ ] Support role authorization RBAC, reader and writer.
- Reader can only read logs and tasks results
- Writter can trigger task run.
- [ ] TO see: Adapt the rate at which we update logs into the DB depending on the rate the program is outputing logs (or duration of program)?
- [ ] Add stable orders of tasks, sort by a "order" field or by name and category?
## Archive
- [x] setup sqlite
- [x] store of task run logs in sqlite
- [x] Implement basic scheduler
- [x] Add basic CSS
- [x] Load config file from `/etc/`
- [x] Implement support for webhook and debouncing of webhook
- [x] Add stderr capture
- [x] Save logs incremently, in regular fashion
- [x] Add HTML table instead of UL for tasks run history
- [x] Add a way to trigger one or multiples tasks from a webhook endpoint, defined in a config file