forked from solidsnack/taskl
-
Notifications
You must be signed in to change notification settings - Fork 0
License
meiersi/taskl
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
SYNOPSIS taskl //<task> <arg>* < <taskl.yaml> taskl (-v | --version) taskl (-h | --help) DESCRIPTION Task/L compiles a system configuration, described in YAML, to a Bash script which can be used to instantiate the configuartion. The YAML files describes tasks which have a body and dependencies on other tasks. Tasks can accept arguments, which are templated in to the commands that make up the body and can be passed on to the dependen- cies. The body of a Task/L task is a list commands, where each command is an array of strings (without any of the usual shell escaping headaches). If the headword of the command is an HTTP or HTTPS URL, then the target of the URL will be downloaded, marked executable and run with the given arguments at run time. DEPENDENCIES Scripts generated by taskl rely on bash and curl. APPLICATION taskl //nginx < example/servers.yaml | ssh user@host.com sudo bash The generated scripts can be given arguments to run specific task bod- ies (for debugging), to show the plan and to show the subtasks that were compiled in. taskl //nginx < example/servers.yaml > nginx.bash chmod ug+x nginx.bash # Show help for installer script. ./nginx.bash -h USAGE: ./nginx.bash (-0)? ./nginx.bash show (-0)? ./nginx.bash //<task> <arg>* ./nginx.bash list ... ./nginx.bash show * //nginx * //apt -y install nginx-extras * //apt.ppa nginx/stable * //apt.ppa.setup * //apt.up # Null separated variant of the above. ./nginx.bash show -0 ./nginx.bash list //apt //apt.ppa //apt.ppa.setup //apt.up //nginx # Perform installation, displaying success (or failure) of each task as it # is completed. ./nginx.bash * //nginx * //apt -y install nginx-extras * //apt.ppa nginx/stable * //apt.ppa.setup + //apt.ppa.setup + //apt.ppa nginx/stable * //apt.up + //apt.up + //apt -y install nginx-extras + //nginx
About
No description, website, or topics provided.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Haskell 64.8%
- Shell 18.8%
- Python 16.4%