Description
Warning
All experimental features are subject to breaking changes and/or removal at any time. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only.
Note
You can view the Remote Taskfiles experiment documentation on our website, including instructions on how to enable/disable it.
Context
This experiment attempts to solve the problems originally described by #770.
Currently, Task only supports running Taskfiles located on the local filesystem. This makes it difficult to reuse Taskfiles across various repositories and systems without making copies of a file. It would be useful to have a way to run a Taskfile located on a remote system or run a local Taskfile that includes one on a remote system.
Proposal
This experiment would allow users to run a Taskfiles located elsewhere, such as via HTTP or in a remote Git repository. These remote Taskfiles can either be run directly from the CLI or included by another Taskfile.
We're looking to gather feedback on the current draft, so please feel free to leave your thoughts/comments here.
Decision log / TODOs:
- Refactor nodes as an interface feat: node refactor #1316
- HTTP nodes feat: remote taskfiles (HTTP) #1152
- Decide between go-getter or a native implementation
- No go-getter for now. We can re-evaluate later
- How to handle security (remote files that change etc)
- Caching (
--download
/--offline
flags or similar) - Implement
--yes
flag on prompts feat: unify prompts #1344 - Decide if we should use remote/local files first if both are available feat: prefer remote taskfiles over cached ones #1345
- Consider storing checksums/cached files with a more user-friendly filename feat(remote): prefix checksums/cached files with the filename #1636
- Command to clear the remote cache feat(remote): add a command to clear the cache #1639
- Check that
local
->remote
->remote:local
includes work correctly feat: enable root remote taskfiles #1347 - Redact credentials in remote URIs Remote Taskfiles: redact credentials of remote URLs in prompts and logs #2045
- Auto update TTL for cached files Feature Request: Have an auto update ttl for downloaded taskfiles #1402
- Add remote flags as config in Taskfile Feature request: Allow taskfile schema to use options related to remote taskfiles #1403
- Decide how special variables should look for remote files
- Running root remote Taskfiles feat: enable root remote taskfiles #1347
- e.g.
task test --taskfile https://raw.githubusercontent.com/go-task/task/main/Taskfile.yml
- e.g.
- Git Nodes
- e.g.
[email protected]/foo/bar?ref=main//Taskfile.yml
feat(remote): support include git remote #1652
- e.g.
Sub-issues
Metadata
Metadata
Assignees
Labels
Type
Projects
Status