54 lines
1.2 KiB
Bash
54 lines
1.2 KiB
Bash
![]() |
#!/bin/sh
|
||
|
set -e
|
||
|
|
||
|
usage() {
|
||
|
echo >&2 "usage: $0 [-a author] [-d description] container [manager]"
|
||
|
echo >&2 " ie: $0 -a 'John Smith' 4ec9612a37cd systemd"
|
||
|
echo >&2 " ie: $0 -d 'Super Cool System' 4ec9612a37cd # defaults to upstart"
|
||
|
exit 1
|
||
|
}
|
||
|
|
||
|
auth='<none>'
|
||
|
desc='<none>'
|
||
|
have_auth=
|
||
|
have_desc=
|
||
|
while getopts a:d: opt; do
|
||
|
case "$opt" in
|
||
|
a)
|
||
|
auth="$OPTARG"
|
||
|
have_auth=1
|
||
|
;;
|
||
|
d)
|
||
|
desc="$OPTARG"
|
||
|
have_desc=1
|
||
|
;;
|
||
|
esac
|
||
|
done
|
||
|
shift $(($OPTIND - 1))
|
||
|
|
||
|
[ $# -ge 1 -a $# -le 2 ] || usage
|
||
|
|
||
|
cid="$1"
|
||
|
script="${2:-upstart}"
|
||
|
if [ ! -e "manager/$script" ]; then
|
||
|
echo >&2 "Error: manager type '$script' is unknown (PRs always welcome!)."
|
||
|
echo >&2 'The currently supported types are:'
|
||
|
echo >&2 " $(cd manager && echo *)"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# TODO https://github.com/dotcloud/docker/issues/734 (docker inspect formatting)
|
||
|
#if command -v docker > /dev/null 2>&1; then
|
||
|
# image="$(docker inspect -f '{{.Image}}' "$cid")"
|
||
|
# if [ "$image" ]; then
|
||
|
# if [ -z "$have_auth" ]; then
|
||
|
# auth="$(docker inspect -f '{{.Author}}' "$image")"
|
||
|
# fi
|
||
|
# if [ -z "$have_desc" ]; then
|
||
|
# desc="$(docker inspect -f '{{.Comment}}' "$image")"
|
||
|
# fi
|
||
|
# fi
|
||
|
#fi
|
||
|
|
||
|
exec "manager/$script" "$cid" "$auth" "$desc"
|