diff --git a/scripts/mount-payment-schedules.sh b/scripts/mount-payment-schedules.sh index 5a9e15dda..7ad7a92e2 100644 --- a/scripts/mount-payment-schedules.sh +++ b/scripts/mount-payment-schedules.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash yq() { - docker run --rm -i -v "${PWD}:/workdir" mikefarah/yq yq "$@" + docker run --rm -i -v "${PWD}:/workdir" mikefarah/yq:4 "$@" } config() @@ -13,20 +13,14 @@ config() echo "current user is not allowed to use docker, exiting..." exit 1 fi - if ! command -v awk || ! [[ $(awk -W version) =~ ^GNU ]] - then - echo "Please install GNU Awk before running this script." - echo "gawk was not found, exiting..." - exit 1 - fi - SERVICE="$(yq r docker-compose.yml --printMode p 'services.*(.==sleede/fab-manager*)' | awk 'BEGIN { FS = "." } ; {print $2}')" + SERVICE="$(yq eval '.services.*.image | select(. == "sleede/fab-manager*") | path | .[-2]' docker-compose.yml)" } add_mount() { # shellcheck disable=SC2016 # we don't want to expand ${PWD} - yq w -i docker-compose.yml "services.$SERVICE.volumes[+]" '${PWD}/payment_schedules:/usr/src/app/payment_schedules' + yq -i eval ".services.$SERVICE.volumes += [\"\${PWD}/payment_schedules:/usr/src/app/payment_schedules\"]" docker-compose.yml } proceed() diff --git a/scripts/mount-webpack.sh b/scripts/mount-webpack.sh index 00b6d50d2..bbd30ae2c 100644 --- a/scripts/mount-webpack.sh +++ b/scripts/mount-webpack.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash yq() { - docker run --rm -i -v "${PWD}:/workdir" mikefarah/yq yq "$@" + docker run --rm -i -v "${PWD}:/workdir" mikefarah/yq:4 "$@" } config() @@ -13,27 +13,13 @@ config() echo "current user is not allowed to use docker, exiting..." exit 1 fi - if ! command -v awk || ! [[ $(awk -W version) =~ ^GNU ]] - then - echo "Please install GNU Awk before running this script." - echo "gawk was not found, exiting..." - exit 1 - fi SERVICE="$(yq r docker-compose.yml --printMode p 'services.*(.==sleede/fab-manager*)' | awk 'BEGIN { FS = "." } ; {print $2}')" } change_mount() { - local volumes=$(yq r docker-compose.yml --length "services.$SERVICE.volumes") - local maxVol=$(($volumes - 1)) - for i in $(seq 0 $maxVol); do - yq r docker-compose.yml "services.$SERVICE.volumes.[$i]" | grep assets - if [[ $? = 0 ]]; then - yq w -i docker-compose.yml "services.$SERVICE.volumes.[$i]" "\${PWD}/public/packs:/usr/src/app/public/packs" - echo "Volume #$i was replaced for $SERVICE: /assets changed to /packs" - exit 0 - fi - done + yq -i eval ".services.$SERVICE.volumes.[] | select(. == \"*assets\") |= \"\${PWD}/public/packs:/usr/src/app/public/packs\"" docker-compose.yml + echo "Service volume was replaced for $SERVICE: /assets changed to /packs" } proceed() diff --git a/scripts/redis-upgrade.sh b/scripts/redis-upgrade.sh index d7bf02021..c55d3a45a 100755 --- a/scripts/redis-upgrade.sh +++ b/scripts/redis-upgrade.sh @@ -60,7 +60,7 @@ test_docker_compose() } yq() { - docker run --rm -i -v "${FM_PATH}:/workdir" mikefarah/yq yq "$@" + docker run --rm -i -v "${FM_PATH}:/workdir" mikefarah/yq:4 "$@" } @@ -71,7 +71,7 @@ docker_down() proceed_upgrade() { - yq w -i docker-compose.yml services.redis.image redis:6-alpine + yq -i eval '.services.redis.image = "redis:6-alpine"' docker-compose.yml }