bottlerocket-os/twoliter

Improve `docker-go` interface

Open

#492 opened on Oct 28, 2022

View on GitHub
 (0 comments) (1 reaction) (0 assignees)Rust (43 forks)auto 404
help wanted

Repository metrics

Stars
 (34 stars)
PR merge metrics
 (PR metrics pending)

Description

The only safe way to use docker-go is to pass a single argument to --command. Anything else would lead to unexpected behavior, for example docker-go --command foo bar baz is indistinguishable from docker-go --command foo 'bar baz' and docker-go --command foo --module-path bar will both pass --module-path bar to foo, and actually modify the script's GO_MODULE_PATH variable.

Is it feasible to change the script's interface without too many coordinated changes? A safer interface could interpret anything after -- as the command to execute, and keep all following arguments in an array (COMMAND=( "$@" ), later: "${COMMAND[@]}") to retain fidelity of the originally passed-in arguments.

Originally posted by @markusboehme in https://github.com/bottlerocket-os/bottlerocket/pull/2532#discussion_r1007948798

Contributor guide