dk: frontend plus 'transparent'

This commit is contained in:
Jephté Clain 2020-03-20 22:51:05 +04:00
parent d666859b83
commit 4f206d732c
1 changed files with 54 additions and 13 deletions

67
dk
View File

@ -9,6 +9,17 @@ function display_help() {
USAGE
$scriptname CMDs...
Si une commande commence ou se termine par un underscore, e.g '_ls', elle est
passée telle quelle à docker (en enlevant l'underscore d'abord, bien sûr). Si
une commande ne figure pas dans la liste ci-dessous, elle est passée telle
quelle à docker.
Certaines commandes ci-dessous ont le même nom que des commandes docker, et
nécessitent un projet docker ou docker-compose. Si ces commandes sont lancées
alors qu'on n'est pas dans un projet docker, alors elles sont passées telle
quelles à docker. ATTENTION: comme la commande est exécutée par docker, cela
veut dire qu'elle n'aura pas la même sématique.
COMMANDES
get-profile
Afficher le profil courant
@ -70,7 +81,7 @@ COMMANDES
Equivalent à --stack -- build -- push args...
bpy|bpd [args...]
Equivalent à --stack -- build -- push -- deploy args...
service COMMAND SERVICE [args...]
ser|service COMMAND SERVICE [args...]
Frontend pour 'docker service COMMAND args... SERVICE'
Cette commande ne fonctionne qu'en mode swarm. Il n'est pas nécessaire
de préfixer le nom du service avec le nom du stack, pour être cohérent
@ -854,13 +865,15 @@ function auto_build() {
update_build_env
build_update_apps || return 1
compose_build "$@"
else
elif [ -f Dockerfile ]; then
docker_parse_env_args
docker_check_name
docker_add_build_arg build_date "$(date +%y%m%d)"
update_build_env
build_update_apps || return 1
docker_build "$@"
else
${FAKE:+qvals} "$DOCKER" build ${NO_CACHE:+--no-cache} "$@"
fi
}
@ -892,11 +905,13 @@ function auto_push() {
compose_set_env_args
update_build_env
compose_push "$@"
else
elif [ -f Dockerfile ]; then
docker_parse_env_args
docker_check_name
update_build_env
docker_push "$@"
else
${FAKE:+qvals} "$DOCKER" push "$@"
fi
}
@ -924,11 +939,13 @@ function auto_up() {
compose_set_env_args
replace_run_args=(-d)
compose_up "$@"
else
elif [ -f Dockerfile ]; then
docker_set_env_args
docker_check_name set_container_name
replace_run_args=(-d --name "$container_name")
docker_up "$@"
else
${FAKE:+qvals} "$DOCKER" run "$@"
fi
}
@ -952,10 +969,12 @@ function auto_stop() {
if [ -f docker-compose.yml ]; then
compose_set_env_args
compose_stop "$@"
else
elif [ -f Dockerfile ]; then
docker_set_env_args
docker_check_name set_container_name
docker_stop "$@"
else
${FAKE:+qvals} "$DOCKER" stop "$@"
fi
}
@ -980,11 +999,13 @@ function auto_logs() {
compose_set_env_args
replace_logs_args=(-f)
compose_logs "$@"
else
elif [ -f Dockerfile ]; then
docker_set_env_args
docker_check_name set_container_name
replace_logs_args=(-f)
docker_logs "$@"
else
${FAKE:+qvals} "$DOCKER" logs "$@"
fi
}
@ -1014,10 +1035,12 @@ function auto_down() {
if [ -f docker-compose.yml ]; then
compose_set_env_args
compose_down "$@"
else
elif [ -f Dockerfile ]; then
docker_set_env_args
docker_check_name set_container_name
docker_down "$@"
else
${FAKE:+qvals} "$DOCKER" stop "$@"
fi
}
@ -1076,7 +1099,7 @@ function auto_run() {
${volume:+-v "$volume"}
)
compose_run "$@"
else
elif [ -f Dockerfile ]; then
docker_set_env_args
docker_check_name set_container_name
replace_run_args=(
@ -1085,6 +1108,8 @@ function auto_run() {
${volume:+-v "$volume"}
)
docker_run "$@"
else
${FAKE:+qvals} "$DOCKER" run ${rm:+--rm} ${volume:+-v "$volume"} "$@"
fi
}
@ -1108,10 +1133,12 @@ function auto_exec() {
if [ -f docker-compose.yml ]; then
compose_set_env_args
compose_exec "$@"
else
elif [ -f Dockerfile ]; then
docker_set_env_args
docker_check_name set_container_name
docker_exec "$@"
else
${FAKE:+qvals} "$DOCKER" exec "$@"
fi
}
@ -1167,7 +1194,7 @@ function auto_service() {
;;
esac
else
die "Impossible de trouver ni docker-compose.yml ni docker-stack.yml"
${FAKE:+qvals} "$DOCKER" service "$@"
fi
}
@ -1748,7 +1775,7 @@ while [ $# -gt 0 ]; do
enote "Profil $PROFILE"
auto_build && auto_push && auto_deploy "${args[@]}"
;;
service)
ser|service)
args=()
while [ $# -gt 0 -a "$1" != -- ]; do
args+=("$1"); shift
@ -1942,8 +1969,22 @@ NR == 1 { print; next }
done
auto_composer "${args[@]}"
;;
_*|*_)
# transmettre directement à docker
cmd="${cmd#_}"
cmd="${cmd%_}"
args=()
while [ $# -gt 0 -a "$1" != -- ]; do
args+=("$1"); shift
done
"$DOCKER" "$cmd" "${args[@]}"
;;
*)
# transmettre directement à docker pour les autres commandes
exec "$DOCKER" "$cmd" "$@"
# transmettre directement à docker
args=()
while [ $# -gt 0 -a "$1" != -- ]; do
args+=("$1"); shift
done
"$DOCKER" "$cmd" "${args[@]}"
esac
done