From 83048705cdc7095bce0f0eed289afca09b15da84 Mon Sep 17 00:00:00 2001 From: AngeD Date: Mon, 24 Oct 2022 11:30:48 +0200 Subject: [PATCH 1/4] fix: dkprune combined flags --- .config/nvim/pack/plugins/opt/lspconfig | 2 +- .config/nvim/pack/plugins/opt/telescope | 2 +- .config/nvim/pack/plugins/opt/treesitter | 2 +- .config/zsh/ohmyzsh | 2 +- bin/dkprune | 77 +++++++++++++----------- 5 files changed, 47 insertions(+), 38 deletions(-) diff --git a/.config/nvim/pack/plugins/opt/lspconfig b/.config/nvim/pack/plugins/opt/lspconfig index ee2e8c6..d8d48b7 160000 --- a/.config/nvim/pack/plugins/opt/lspconfig +++ b/.config/nvim/pack/plugins/opt/lspconfig @@ -1 +1 @@ -Subproject commit ee2e8c63cff0a8bfc7f4ef985ea466f10bb7e691 +Subproject commit d8d48b7a8ce12605378fba6391348b99e8a7a4c1 diff --git a/.config/nvim/pack/plugins/opt/telescope b/.config/nvim/pack/plugins/opt/telescope index f174a03..5c7db40 160000 --- a/.config/nvim/pack/plugins/opt/telescope +++ b/.config/nvim/pack/plugins/opt/telescope @@ -1 +1 @@ -Subproject commit f174a0367b4fc7cb17710d867e25ea792311c418 +Subproject commit 5c7db4055d89f9057d562f4f8b9d03189c9f9786 diff --git a/.config/nvim/pack/plugins/opt/treesitter b/.config/nvim/pack/plugins/opt/treesitter index 3eb6577..682fa45 160000 --- a/.config/nvim/pack/plugins/opt/treesitter +++ b/.config/nvim/pack/plugins/opt/treesitter @@ -1 +1 @@ -Subproject commit 3eb6577a3b58e4d0e76057ad1309255678739b61 +Subproject commit 682fa459173208997092adf872baa66a7f04692d diff --git a/.config/zsh/ohmyzsh b/.config/zsh/ohmyzsh index a7d910c..0066280 160000 --- a/.config/zsh/ohmyzsh +++ b/.config/zsh/ohmyzsh @@ -1 +1 @@ -Subproject commit a7d910c3a61d8599f748a8ddae59ecdd9424022a +Subproject commit 0066280c3e971e1e45a9037f6d0b993dabcc3576 diff --git a/bin/dkprune b/bin/dkprune index 005678f..a1b1f53 100755 --- a/bin/dkprune +++ b/bin/dkprune @@ -1,5 +1,8 @@ #!/bin/bash +#TODO: group flags into one command +# like -I == $i -a + function usage() { cat << EOF Usage: $0 -hcCviIna @@ -73,40 +76,46 @@ while getopts hcCviIna o; do esac done -if [ "$((CLEAN & C))" == "$C" ]; then - docker container ls -aq | xargs docker stop + +VALUES=( + "$a" + "$((c + i + n))" + "$((c + I + n))" + "$((c + v + n))" + "$c" + "$v" + "$i" + "$I" + "$n" +) + +SYS="docker system" +CON="docker container" +VOL="docker volume" +IMG="docker image" +NET="docker network" +PRUNE="prune -f" +COMMANDS=( + "$SYS $PRUNE -a --volumes" + "$SYS $PRUNE" + "$SYS $PRUNE -a" + "$SYS $PRUNE --volumes" + "$CON $PRUNE" + "$VOL $PRUNE" + "$IMG $PRUNE" + "$IMG $PRUNE -a" + "$NET $PRUNE" +) + +if [ "$((CLEAN & "$C"))" == "$C" ]; then + $CON ls -aq | xargs $CON stop fi -if [ "$((CLEAN & c))" == "$c" ]; then - docker container prune -f -fi -PRUNE="docker system prune -f" -case "$CLEAN" in - "$v") - docker volume prune -f - ;; - "$i") - docker image prune -f - ;; - "$I") - docker image prune -af - ;; - "$n") - docker network prune -f - ;; - "$((c + i + n))") - $PRUNE - ;; - "$((c + I + n))") - $PRUNE -a - ;; - "$((c + v + n))") - $PRUNE --volumes - ;; - "$a") - $PRUNE -a --volumes - ;; - *) - ;; -esac +for idx in "${!VALUES[@]}"; do + mask="${VALUES[$idx]}" + if [ "$((CLEAN & mask))" == "$mask" ]; then + bash -c "${COMMANDS[$idx]}" + CLEAN="$((CLEAN - mask))" + fi +done From 0d47c0921f74168475695e732d659443b24fa1be Mon Sep 17 00:00:00 2001 From: AngeD Date: Mon, 24 Oct 2022 13:51:45 +0200 Subject: [PATCH 2/4] feat: dkprune defaults --- bin/dkprune | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/bin/dkprune b/bin/dkprune index a1b1f53..827bbd9 100755 --- a/bin/dkprune +++ b/bin/dkprune @@ -5,7 +5,9 @@ function usage() { cat << EOF -Usage: $0 -hcCviIna +Usage: $0 [-hcCviIna] +Prune Docker resources. +If no option provided, defaults to -Cvn Options: -h Show this help and exits -c Remove stopped containers @@ -76,6 +78,9 @@ while getopts hcCviIna o; do esac done +if [ "$CLEAN" == 0 ]; then + CLEAN="$((C + v + n))" +fi VALUES=( "$a" From 9e53531da9e77ccf508a2c0fc1c1c12ab585b1fe Mon Sep 17 00:00:00 2001 From: AngeD Date: Mon, 24 Oct 2022 16:12:40 +0200 Subject: [PATCH 3/4] feat: dkcc alias --- .config/zsh/.docker_aliases | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/zsh/.docker_aliases b/.config/zsh/.docker_aliases index 415aa39..6451e4a 100644 --- a/.config/zsh/.docker_aliases +++ b/.config/zsh/.docker_aliases @@ -6,6 +6,7 @@ fi alias dk='docker' # containers +alias dkcc='docker container create' alias dkci='docker container inspect' alias dkcls='docker container ls' alias dkclsa='docker container ls -a' From c786785b9cd4dac8915d600fd144c0f551e857f4 Mon Sep 17 00:00:00 2001 From: AngeD Date: Mon, 24 Oct 2022 16:14:25 +0200 Subject: [PATCH 4/4] fix: small optimizations --- bin/dkprune | 43 ++++++++++++++++--------------------------- 1 file changed, 16 insertions(+), 27 deletions(-) diff --git a/bin/dkprune b/bin/dkprune index 827bbd9..a0f4d6f 100755 --- a/bin/dkprune +++ b/bin/dkprune @@ -1,8 +1,5 @@ #!/bin/bash -#TODO: group flags into one command -# like -I == $i -a - function usage() { cat << EOF Usage: $0 [-hcCviIna] @@ -41,9 +38,9 @@ c=1 C=2 v=4 i=8 -I=16 +# I=16 n=32 -a="$((c + C + v + I + n))" +# a="$((c + C + v + I + n))" CLEAN=0 while getopts hcCviIna o; do @@ -64,13 +61,15 @@ while getopts hcCviIna o; do CLEAN="$(add_opt "$CLEAN" "$i")" ;; I) - CLEAN="$(add_opt "$CLEAN" "$I")" + CLEAN="$(add_opt "$CLEAN" "$i")" + IMG_OPT="-a" ;; n) CLEAN="$(add_opt "$CLEAN" "$n")" ;; a) - CLEAN="$(add_opt "$CLEAN" "$c" "$C" "$v" "$I" "$n")" + CLEAN="$(add_opt "$CLEAN" "$c" "$C" "$v" "$i" "$n")" + IMG_OPT="-a" ;; *) exit 1 @@ -83,42 +82,32 @@ if [ "$CLEAN" == 0 ]; then fi VALUES=( - "$a" + "$((c + i + v + n))" "$((c + i + n))" - "$((c + I + n))" - "$((c + v + n))" "$c" "$v" "$i" - "$I" "$n" ) -SYS="docker system" -CON="docker container" -VOL="docker volume" -IMG="docker image" -NET="docker network" +CON="container" PRUNE="prune -f" COMMANDS=( - "$SYS $PRUNE -a --volumes" - "$SYS $PRUNE" - "$SYS $PRUNE -a" - "$SYS $PRUNE --volumes" - "$CON $PRUNE" - "$VOL $PRUNE" - "$IMG $PRUNE" - "$IMG $PRUNE -a" - "$NET $PRUNE" + "docker system $PRUNE $IMG_OPT --volumes" + "docker system $PRUNE $IMG_OPT" + "docker $CON $PRUNE" + "docker volume $PRUNE" + "docker image $PRUNE $IMG_OPT" + "docker network $PRUNE" ) if [ "$((CLEAN & "$C"))" == "$C" ]; then - $CON ls -aq | xargs $CON stop + docker "$CON" ls -aq | xargs docker "$CON" stop 2> /dev/null fi - for idx in "${!VALUES[@]}"; do mask="${VALUES[$idx]}" + if [ "$((CLEAN & mask))" == "$mask" ]; then bash -c "${COMMANDS[$idx]}" CLEAN="$((CLEAN - mask))"