Merge pull request #246 into master

221a5f70 client: docker: add `exec` wrapper, update completion (Aaron Fiore)
This commit was merged in pull request #246.
This commit is contained in:
2025-11-26 10:48:49 -08:00
4 changed files with 21 additions and 2 deletions

View File

@@ -46,7 +46,7 @@ function docker-finance::completion()
mapfile -t _images < <(docker images --format "{{.Repository}}:{{.Tag}}" --filter=reference='docker-finance/*/*:*' | cut -d'/' -f2- | grep $USER)
declare -r _images
local -r _commands=("gen" "edit" "build" "update" "backup" "rm" "up" "down" "start" "stop" "run" "shell" "version" "license" "linter" "doxygen" "plugins")
local -r _commands=("gen" "edit" "build" "update" "backup" "rm" "up" "down" "start" "stop" "run" "shell" "exec" "version" "license" "linter" "doxygen" "plugins")
local _reply
@@ -86,7 +86,7 @@ function docker-finance::completion()
update)
mapfile -t _reply < <(compgen -W "help type${global_arg_delim_2}" -- "$_cur")
;;
backup | rm | up | down | start | stop)
backup | rm | up | down | start | stop | exec)
# TODO: _currently no-op
;;
shell)

View File

@@ -77,6 +77,7 @@ function main()
run \e[34;3mSpawn docker-finance container with given command (container removed on exit)\e[0m
shell \e[34;3mOpen shell into running docker-finance container\e[0m
exec \e[34;3mExecute command within running docker-finance container\e[0m
plugins \e[34;3mExecute a client-side categorical docker-finance plugin ('repo' or 'custom')\e[0m
version \e[34;3mPrint current version of docker-finance and its dependencies\e[0m
@@ -203,6 +204,9 @@ function main()
shell)
lib_docker::shell "${@:3}"
;;
exec)
lib_docker::exec "${@:3}"
;;
backup)
lib_docker::backup "${@:3}"
;;

View File

@@ -505,6 +505,11 @@ function lib_docker::__shell()
docker exec -it --user "$global_arg_user" --workdir / "$global_container" /bin/bash
}
function lib_docker::__exec()
{
docker exec -it "$global_container" /bin/bash -i -c "$@"
}
function lib_docker::__parse_args_edit()
{
[ -z "$global_usage" ] && lib_utils::die_fatal

View File

@@ -218,6 +218,16 @@ function lib_docker::shell()
lib_utils::catch $?
}
#
# Execute command within a running docker-finance container
#
function lib_docker::exec()
{
lib_docker::__exec "$@"
lib_utils::catch $?
}
#
# Edit client configuration of given docker-finance instance
#