Simple task server built on top of Taskfile
Project description
Taskfile Server
Taskfile Server is a web application, to run and manage Taskfile automations.
This project is heavily inspired by Taskfile.dev, and built on top of it's functionality.
Features
Features include:
- a web user interface
- spawning and managing tasks
- modify task vars before run
- configurable taskfiles
- show execution path (with full drill down)
Features that are not included (yet):
- Authentication and Authorization of users (eg: local only)
- Multitenancy and user based run contexts, permissions
- Security hardening and Threat Analysis report(s)
Web User Interface (with dark mode support)
We support both light and dark mode (auto detects from browser settings):
Spawning and managing tasks
This project would be incomplete without the ability to spawn an actual task. To achieve this, we implemented a simple REST API that can handle invocations of tasks.
Currently this is limited to the running context of the web server, so should not be used in a production environment. It works great as a local-only solution to manage tasks outside of the command line.
In a future release, we do envision implementing mechanisms to allow user permissions and context, but for now this is outside of the scope of the project.
Extending task variables
You can add custom task variables, to be attached to a specific run. This enables you to supply user input to the underlying task.
Configurable Taskfiles
Taskfiles can be viewed and modified (to some extent), with the focus being on:
- Adding or modifying task
includes
's (with some validations). - Setting or overriding default
Environment Variables
. - Defining global
Taskfile Variables
.
Showing execution breakdown
One nice feature we have is the ability to do a task execution breakdown. We use the --dry
run feature of taskfile's, to plan out and parse the execution, before running it.
This has two advantages:
- For oversight: Know the commands you are about to execute...
- Track task execution: See where exactly the task fails, and for what reason.
Motivation
Taskfile works well for automating all kinds of tasks. Some features include:
- It's declared in a simple, machine-readable file format (YAML).
- Task varibales make it easy to define defaults and overrides.
- We can use
includes
, making it composable / extensible. - Task caching and run metadata make it efficient and fast.
- Good support for debugging, dry-run of tasks (with execution plans).
As your taskfile's become larger and more complicated, it becomes harder to manage and understand.
We try to tackle this problem by giving more advanced tooling around managing these task automations from a web interface, with the ability to track execution steps in near real time.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file taskserver-0.0.5.tar.gz
.
File metadata
- Download URL: taskserver-0.0.5.tar.gz
- Upload date:
- Size: 53.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d76510a308b888cdc40810bfb057f52813212ee6a18889b0d63de2d69e0e1ba7 |
|
MD5 | e5fd84a0e98a091b26df0fa5c08cec03 |
|
BLAKE2b-256 | f391196ad70c4643c849fdecab8424f6619ad137b3fe106f3544b293843adc00 |