# 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