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.
HISTORY
sake was created by Samir Alajmovic (alajmo) and is written in Go.
