Releases: alajmo/sake
Releases · alajmo/sake
v0.15.1
v0.15.0
Features
- Add support for multiple bastions
Misc
- Update to go 1.20
v0.14.0
Features
- Add ability to modify prefix in text and table themes
- Hide tasks from auto-completion via spec attribute
hidden: true
- Add print option to limit output to stdout|stderr
- Default to one of following identity files if no identity specified
~/.ssh/id_rsa
,~/.ssh/id_ecdsa
,~/.ssh/id_dsa
- Add ability to modify default timeout for ssh connections
Fixes
- [BREAKING CHANGE]: No more duplicate tasks, specs, targets, and themes
- Small fix when user config is specified but not found
- Fix some small validation issues with batch and batch-p
- A bunch of smaller fixes
v0.13.0
Features
- Add ability to register variables which are available to the next tasks
- Add option to ignore errors for indiviual tasks
- Add flag/spec
--list-hosts
option to list targetted hosts - Support output options
csv
/json
/none
- Add new task strategies: linear, host_pinned, free
linear
: execute task for each host before proceeding to the next task (default)host_pinned
: executes tasks (serial) for a host before proceeding to the next hostfree
: tasks without waiting for other tasks
- Add host ordering
inventory
: The order is as provided by the inventoryreverse_inventory
: The order is the reverse of the inventorysorted
: Hosts are alphabetically sorted by hostreverse_sorted
: Hosts are sorted by host in reverse alphabetical orderrandom
: Hosts are randomly ordered
- Determine number of hosts to run in parallel
batch
: specify number of hostsbatch_p
: specify number of hosts in percentageforks
: max number of concurrent processes
- Add option to display reports at end of tasks by using
--report
flag or specifying it inspec
definitionrecap
: show basic reportrc
: show return code for each host and tasktask
: show task status for each host and tasktime
: show time report for each host and taskall
: show all reports
- Add confirm/step task capability
confirm
: for the root taskstep
: per task and host
Fixes
- Fix omitting attribute
align
when creating a theme - Abort tasks prematurely when running in parallel and AnyErrorsFatal set to true
- Fix server range (previously
[2:100]
didn't work as strings were compared) - Fix empty error for non existing working directory and update how work_dir works
Minor
- Add option to omit empty columns via flag
--omit-empty-columns
and specomit_empty_columns
- Add option to specify target and spec via flags
--target
/--spec
- Add description to targets and specs
- Add server identity to environment variables
- Add silent/describe attribute to spec definition
- Add ssh user flag option
Changes
- [BREAKING CHANGE]: Deprecated the parallel flag, use batch/batch_p/forks instead
- [BREAKING CHANGE]: Rename default environment variables from
SAKE_SERVER_*
toS_*
, and remove task default environment variables - [BREAKING CHANGE]: Shorthand flag for silent is now
Q
- Switch to default shell when evaluating inventory
- If no command name is set on nested tasks, assign
task-$i
instead oftask
- If
--limit
flag is higher than available hosts, then select all hosts filtered - Update flag sorting
- Rename
--omit-empty
to--omit-empty-rows
- Building
sake
with go 1.19
v0.12.1
Fixes
- Fix port out of range when using shorthand format for hosts
v0.12.0
Features
- Add hosts keyword that supports having multiple hosts per server definition
- Specify as a list
- Specify as a string containing range (
192.168.0.[1:10:2]
) - Use
inventory
attribute (kubectl get nodes
)
- Add silent flag to supress
Running...
spinner when running tasks - Support connection string instead of 3 fields:
user@host:port
- Support resolving IdentityFile in ssh config (
~/.ssh/config
) - Support resolving Includes in ssh config (
~/.ssh/config
) - Support glob pattern for Hosts (
Host *
) - Add bastion headers to list servers
- Add flags/target config
--limit
&--limit-p
to limit number of servers task is run on - Add filtering servers on host regex
- Add invert flag on filtering servers
- Add flag
--all-headers
for tasks and servers - Add sub-commands edit/list/describe [specs|targets]
- Add 3 new table outputs (table-2, table-3, table-4)
- [BREAKING CHANGE]: Simplified theme config, now it only accepts manipulation of rows and headers, not specific properties
Fixes
- Use IdentitiesOnly if user specifies a IdentityFile
- Default to
Name
, if description is not set, in auto-completion for tasks - Support lowercase ssh config keys (previously they had to be PascalCase)
Deprecated
- [BREAKING CHANGE]: Removed environment variables
SAKE_IDENTITY_FILE
andSAKE_PASSWORD
, users can use flags instead
v0.11.0
v0.10.3
v0.10.2
v0.10.1
- Small fix for WorkDir being related to calling file when server is local