Compare commits

...

4 Commits

Author SHA1 Message Date
9e76baf49c Update TODO list 2025-05-08 09:47:33 -07:00
1c5aada9da Add todo 2025-02-14 11:25:46 -08:00
4a9a509c48 Move Todo list to separate filee 2025-02-14 10:31:56 -08:00
eab3d0620a Update todo 2025-02-14 10:31:56 -08:00
2 changed files with 26 additions and 24 deletions

26
TODO.txt Normal file
View File

@ -0,0 +1,26 @@
TODO
- add local variable support that can be interpolated into commands
- keep track of previous command outputs for last command, and any previous command with target list and command line
- Allow any given command to be tagged with a label, and the outputs would be stored in the output dictionary under that name (for scripting);
we assign a default name to it, and are able to refer to it based on either the label, or how many commands back it was;
- scripts entire output is stored as one label, but also
- add commands to show the list of captured outputs, along with the commands and targets
- add commands to search captured outputs
- add commands to search captured outputs and put them into a variable that can be used for /target etc.
- calling commands and aliases from command line (e.g. multiball -t <targets> -c <command>)
- tagging and filtering commands (so `noupgrade` gets a tag, and we can filter them)
- saving the last host set in a .file
- allow server groups / server labels
- add 'watch' to run a command repeatedly until it succeeds (interruptable)
- add the number of servers for each group of services too
- notice when you don't sudo in front of command and it errors and ask you if you meant to sudo
- autocomplete for environment variable names (requires heirarchical completer)
- implement target aliases (-filteralias) which gives a label to an argument to -hosts
- ad-hoc host groupings with assigned names, and a host grouping stack
- allow scripts that use -safe to prompt for safety / restore safety after running
- implement various commented commands in the command list
- implement interactive alias system
- Catch more exceptions in fabtools, and also add retries
- Make the runner aware of multiple commands so that it can combine outputs and make 'overall success' or 'overall failure'
- make C-c break the connections not the program
- make a /summary command that *only* outputs the summary of a remote command, not the stdout/stderr

View File

@ -3,30 +3,6 @@
#
#
# TODO
# - keep track of result status, indicate how many and which ones failed with an error, failed with a return code, and
# succeeded, print at end.
# - keep track of previous command outputs for last command, and any previous command with target list and command line
# - calling commands and alieses from command line
# - tagging and filtering commands (so #noupgrade gets a tag, and we can filter them)
# - saving the last host set in a .file
# - allow server groups
# - allow grepping of output from a command, and then populating the target list from matchintg on it
# - add 'watch' to run a command repeatedly until it succeeds (interruptable)
# - add the number of servers for each group of services too
# - notice when you don't sudo in front of command and it errors and ask you if you meant to sudo
# - autocomplete for environment variable names (requires heirarchical completer)
# - implement target aliases (-filteralias) which gives a label to an argument to -hosts
# - ad-hoc host groupings with assigned names, and a host grouping stack
# - Assign each output group to a number that can be easily selected with a -target etc. But also allow matching
# against those groups. Output groupings survive until the next command.
# - allow scripts that use -safe to prompt for safety / restore safety after running
# - Add variables that can be set and passed to commands
# - implement various commented commands in the command list
# - implement interactive alias system
# - Catch more exceptions in fabtools, and also add retries
# - Make the runner aware of multiple commands so that it can combine outputs and make 'overall success' or 'overall failure'
# - make C-c break the connections not the program
import argparse
import datetime