sake

Task runner for local and remote hosts via SSH

TLDR

Initialize a new sake configuration
$ sake init
Run a task on all servers
$ sake run [ping] --all
Execute a command on all servers with table output
$ sake exec --all --output table '[uptime]'
SSH into a defined server
$ sake ssh [server]

SYNOPSIS

sake command [options]

DESCRIPTION

sake lets you define servers and tasks in a sake.yaml configuration file and then run those tasks on local or remote hosts via SSH. It supports auto-completion of tasks, servers, and tags, table-formatted output, parallel execution, and can SSH into Docker containers.

PARAMETERS

init

Create a new sake.yaml configuration file.
run TASK
Run a defined task on target servers.
exec COMMAND
Execute an ad-hoc shell command on target servers.
ssh SERVER
SSH into a configured server.
list servers, list tasks, list tags
List configured servers, tasks, or tags.
describe servers|tasks
Show detailed information about configured servers or tasks.
edit task TASK, edit server SERVER
Open the corresponding sake.yaml entry in $EDITOR.
completion bash|zsh|fish
Print a shell completion script.
--all
Target all servers.
--tags TAG
Target servers matching one or more tags.
--limit N
Limit execution to the first N matching servers.
--config FILE
Use the specified configuration file instead of auto-discovering sake.yaml.
--output FORMAT
Output format: table, text, json, html, or markdown.
--strategy free|row|column
Execution strategy across multiple servers.
--parallel
Run tasks on target servers concurrently rather than serially.

INSTALL

yay -S sake

HISTORY

sake was created by Samir Alajmovic (alajmo) and is written in Go.

SEE ALSO

ansible(1), ssh(1), fabric(1)