Show More
@@ -1076,7 +1076,7 b' rcstack_cli_docker_upgrade_usage() {' | |||
|
1076 | 1076 | fi |
|
1077 | 1077 | |
|
1078 | 1078 | printf "%s\n" "Usage:" |
|
1079 | printf " rcstack cli docker-upgrade\n" | |
|
1079 | printf " rcstack cli docker-upgrade [OPTIONS]\n" | |
|
1080 | 1080 | printf " rcstack cli docker-upgrade --help | -h\n" |
|
1081 | 1081 | echo |
|
1082 | 1082 | |
@@ -1084,6 +1084,12 b' rcstack_cli_docker_upgrade_usage() {' | |||
|
1084 | 1084 | if [[ -n $long_usage ]]; then |
|
1085 | 1085 | printf "%s\n" "Options:" |
|
1086 | 1086 | |
|
1087 | # :command.usage_flags | |
|
1088 | # :flag.usage | |
|
1089 | printf " %s\n" "--compose" | |
|
1090 | printf " run an upgrade of docker compose to latest version\n" | |
|
1091 | echo | |
|
1092 | ||
|
1087 | 1093 | # :command.usage_fixed_flags |
|
1088 | 1094 | printf " %s\n" "--help, -h" |
|
1089 | 1095 | printf " Show this help\n" |
@@ -2386,6 +2392,23 b' slugify() {' | |||
|
2386 | 2392 | echo "$slug" |
|
2387 | 2393 | } |
|
2388 | 2394 | |
|
2395 | check_os() { | |
|
2396 | echo `uname -s` | |
|
2397 | } | |
|
2398 | ||
|
2399 | check_macos_memory() { | |
|
2400 | echo $(($(memory_pressure | head -n 1 | awk '{ print $4 }') / 1024 / 1024 / 1024)) | |
|
2401 | } | |
|
2402 | ||
|
2403 | check_linux_memory() { | |
|
2404 | mem=`free -m --si | awk ' /Mem:/ {print $2}'` | |
|
2405 | if [ "$mem" -ge 990 -a "$mem" -lt 1000 ]; then | |
|
2406 | echo 1 | |
|
2407 | else | |
|
2408 | echo `free -g --si | awk ' /Mem:/ {print $2} '` | |
|
2409 | fi | |
|
2410 | } | |
|
2411 | ||
|
2389 | 2412 | # src/lib/validate_stack_exists.sh |
|
2390 | 2413 | |
|
2391 | 2414 | validate_stack_exists() { |
@@ -3766,13 +3789,34 b' rcstack_cli_docker_upgrade_command() {' | |||
|
3766 | 3789 | # src/cli_docker_upgrade_command.sh |
|
3767 | 3790 | DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} |
|
3768 | 3791 | DOCKER_CLI_PLUGINS=$DOCKER_CONFIG/cli-plugins |
|
3792 | upgrade_compose=${args[--compose]} | |
|
3769 | 3793 | |
|
3770 | if [[ -f "$DOCKER_CLI_PLUGINS/docker-compose" ]]; then | |
|
3771 | echo "found docker-compose at $DOCKER_CLI_PLUGINS, removing it now..." | |
|
3772 | rm -rf "$DOCKER_CLI_PLUGINS/docker-compose" | |
|
3773 | fi | |
|
3794 | curl -fsSL https://get.docker.com -o install-docker.sh | |
|
3795 | # sh install-docker.sh --version 23.0 | |
|
3796 | sh install-docker.sh | |
|
3797 | rm -rf install-docker.sh | |
|
3774 | 3798 | |
|
3775 | curl https://get.docker.com/ | sh | |
|
3799 | if [[ $upgrade_compose ]]; then | |
|
3800 | ||
|
3801 | os_type=$(check_os) | |
|
3802 | if [ "$os_type" != "Linux" ]; then | |
|
3803 | echo "$(red compose upgrade is only available for Linux architecture, got \"$os_type\" instead)" | |
|
3804 | exit | |
|
3805 | fi | |
|
3806 | ||
|
3807 | # just ensure we have this dir | |
|
3808 | mkdir -p "$DOCKER_CLI_PLUGINS" | |
|
3809 | ||
|
3810 | if [[ -f "$DOCKER_CLI_PLUGINS/docker-compose" ]]; then | |
|
3811 | echo "found docker-compose at $DOCKER_CLI_PLUGINS, removing it now..." | |
|
3812 | rm -rf "$DOCKER_CLI_PLUGINS/docker-compose" | |
|
3813 | fi | |
|
3814 | ||
|
3815 | NEW_COMPOSE_VERSION=$(curl --silent https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*\d') | |
|
3816 | echo "new compose version $NEW_COMPOSE_VERSION to be installed in $DOCKER_CLI_PLUGINS" | |
|
3817 | curl -fsSL https://github.com/docker/compose/releases/download/$NEW_COMPOSE_VERSION/docker-compose-linux-x86_64 -o $DOCKER_CLI_PLUGINS/docker-compose | |
|
3818 | chmod +x $DOCKER_CLI_PLUGINS/docker-compose | |
|
3819 | fi | |
|
3776 | 3820 | |
|
3777 | 3821 | } |
|
3778 | 3822 | |
@@ -6307,6 +6351,13 b' rcstack_cli_docker_upgrade_parse_requirements() {' | |||
|
6307 | 6351 | while [[ $# -gt 0 ]]; do |
|
6308 | 6352 | key="$1" |
|
6309 | 6353 | case "$key" in |
|
6354 | # :flag.case | |
|
6355 | --compose) | |
|
6356 | ||
|
6357 | # :flag.case_no_arg | |
|
6358 | args['--compose']=1 | |
|
6359 | shift | |
|
6360 | ;; | |
|
6310 | 6361 | |
|
6311 | 6362 | -?*) |
|
6312 | 6363 | printf "invalid option: %s\n" "$key" >&2 |
General Comments 0
You need to be logged in to leave comments.
Login now