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 USAGE
$scriptname CMDs... $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 COMMANDES
get-profile get-profile
Afficher le profil courant Afficher le profil courant
@ -70,7 +81,7 @@ COMMANDES
Equivalent à --stack -- build -- push args... Equivalent à --stack -- build -- push args...
bpy|bpd [args...] bpy|bpd [args...]
Equivalent à --stack -- build -- push -- deploy args... Equivalent à --stack -- build -- push -- deploy args...
service COMMAND SERVICE [args...] ser|service COMMAND SERVICE [args...]
Frontend pour 'docker service COMMAND args... SERVICE' Frontend pour 'docker service COMMAND args... SERVICE'
Cette commande ne fonctionne qu'en mode swarm. Il n'est pas nécessaire 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 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 update_build_env
build_update_apps || return 1 build_update_apps || return 1
compose_build "$@" compose_build "$@"
else elif [ -f Dockerfile ]; then
docker_parse_env_args docker_parse_env_args
docker_check_name docker_check_name
docker_add_build_arg build_date "$(date +%y%m%d)" docker_add_build_arg build_date "$(date +%y%m%d)"
update_build_env update_build_env
build_update_apps || return 1 build_update_apps || return 1
docker_build "$@" docker_build "$@"
else
${FAKE:+qvals} "$DOCKER" build ${NO_CACHE:+--no-cache} "$@"
fi fi
} }
@ -892,11 +905,13 @@ function auto_push() {
compose_set_env_args compose_set_env_args
update_build_env update_build_env
compose_push "$@" compose_push "$@"
else elif [ -f Dockerfile ]; then
docker_parse_env_args docker_parse_env_args
docker_check_name docker_check_name
update_build_env update_build_env
docker_push "$@" docker_push "$@"
else
${FAKE:+qvals} "$DOCKER" push "$@"
fi fi
} }
@ -924,11 +939,13 @@ function auto_up() {
compose_set_env_args compose_set_env_args
replace_run_args=(-d) replace_run_args=(-d)
compose_up "$@" compose_up "$@"
else elif [ -f Dockerfile ]; then
docker_set_env_args docker_set_env_args
docker_check_name set_container_name docker_check_name set_container_name
replace_run_args=(-d --name "$container_name") replace_run_args=(-d --name "$container_name")
docker_up "$@" docker_up "$@"
else
${FAKE:+qvals} "$DOCKER" run "$@"
fi fi
} }
@ -952,10 +969,12 @@ function auto_stop() {
if [ -f docker-compose.yml ]; then if [ -f docker-compose.yml ]; then
compose_set_env_args compose_set_env_args
compose_stop "$@" compose_stop "$@"
else elif [ -f Dockerfile ]; then
docker_set_env_args docker_set_env_args
docker_check_name set_container_name docker_check_name set_container_name
docker_stop "$@" docker_stop "$@"
else
${FAKE:+qvals} "$DOCKER" stop "$@"
fi fi
} }
@ -980,11 +999,13 @@ function auto_logs() {
compose_set_env_args compose_set_env_args
replace_logs_args=(-f) replace_logs_args=(-f)
compose_logs "$@" compose_logs "$@"
else elif [ -f Dockerfile ]; then
docker_set_env_args docker_set_env_args
docker_check_name set_container_name docker_check_name set_container_name
replace_logs_args=(-f) replace_logs_args=(-f)
docker_logs "$@" docker_logs "$@"
else
${FAKE:+qvals} "$DOCKER" logs "$@"
fi fi
} }
@ -1014,10 +1035,12 @@ function auto_down() {
if [ -f docker-compose.yml ]; then if [ -f docker-compose.yml ]; then
compose_set_env_args compose_set_env_args
compose_down "$@" compose_down "$@"
else elif [ -f Dockerfile ]; then
docker_set_env_args docker_set_env_args
docker_check_name set_container_name docker_check_name set_container_name
docker_down "$@" docker_down "$@"
else
${FAKE:+qvals} "$DOCKER" stop "$@"
fi fi
} }
@ -1076,7 +1099,7 @@ function auto_run() {
${volume:+-v "$volume"} ${volume:+-v "$volume"}
) )
compose_run "$@" compose_run "$@"
else elif [ -f Dockerfile ]; then
docker_set_env_args docker_set_env_args
docker_check_name set_container_name docker_check_name set_container_name
replace_run_args=( replace_run_args=(
@ -1085,6 +1108,8 @@ function auto_run() {
${volume:+-v "$volume"} ${volume:+-v "$volume"}
) )
docker_run "$@" docker_run "$@"
else
${FAKE:+qvals} "$DOCKER" run ${rm:+--rm} ${volume:+-v "$volume"} "$@"
fi fi
} }
@ -1108,10 +1133,12 @@ function auto_exec() {
if [ -f docker-compose.yml ]; then if [ -f docker-compose.yml ]; then
compose_set_env_args compose_set_env_args
compose_exec "$@" compose_exec "$@"
else elif [ -f Dockerfile ]; then
docker_set_env_args docker_set_env_args
docker_check_name set_container_name docker_check_name set_container_name
docker_exec "$@" docker_exec "$@"
else
${FAKE:+qvals} "$DOCKER" exec "$@"
fi fi
} }
@ -1167,7 +1194,7 @@ function auto_service() {
;; ;;
esac esac
else else
die "Impossible de trouver ni docker-compose.yml ni docker-stack.yml" ${FAKE:+qvals} "$DOCKER" service "$@"
fi fi
} }
@ -1748,7 +1775,7 @@ while [ $# -gt 0 ]; do
enote "Profil $PROFILE" enote "Profil $PROFILE"
auto_build && auto_push && auto_deploy "${args[@]}" auto_build && auto_push && auto_deploy "${args[@]}"
;; ;;
service) ser|service)
args=() args=()
while [ $# -gt 0 -a "$1" != -- ]; do while [ $# -gt 0 -a "$1" != -- ]; do
args+=("$1"); shift args+=("$1"); shift
@ -1942,8 +1969,22 @@ NR == 1 { print; next }
done done
auto_composer "${args[@]}" 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 # transmettre directement à docker
exec "$DOCKER" "$cmd" "$@" args=()
while [ $# -gt 0 -a "$1" != -- ]; do
args+=("$1"); shift
done
"$DOCKER" "$cmd" "${args[@]}"
esac esac
done done