##// END OF EJS Templates
docker: added healthcheck for sshd and added autoheal flags to fix unhealthy containers
super-admin -
Show More
@@ -93,6 +93,7 b' services:'
93 *custom-logging
93 *custom-logging
94
94
95 labels:
95 labels:
96 - "autoheal=true"
96 - "traefik.enable=true"
97 - "traefik.enable=true"
97 - "traefik.http.routers.rhodecode.entrypoints=http"
98 - "traefik.http.routers.rhodecode.entrypoints=http"
98 - "traefik.http.routers.rhodecode.rule=Host(`${RC_HOSTNAME:?must-specify-rhodecode-hostname}`)"
99 - "traefik.http.routers.rhodecode.rule=Host(`${RC_HOSTNAME:?must-specify-rhodecode-hostname}`)"
@@ -157,6 +158,9 b' services:'
157 logging:
158 logging:
158 *custom-logging
159 *custom-logging
159
160
161 labels:
162 - "autoheal=true"
163
160 celery:
164 celery:
161 networks:
165 networks:
162 - rhodecode_network
166 - rhodecode_network
@@ -298,6 +302,9 b' services:'
298 logging:
302 logging:
299 *custom-logging
303 *custom-logging
300
304
305 labels:
306 - "autoheal=true"
307
301 sshd:
308 sshd:
302 networks:
309 networks:
303 - rhodecode_network
310 - rhodecode_network
@@ -316,6 +323,13 b' services:'
316 RC_APP_TYPE: rhodecode_sshd
323 RC_APP_TYPE: rhodecode_sshd
317 SSH_BOOTSTRAP: 1
324 SSH_BOOTSTRAP: 1
318
325
326 healthcheck:
327 # we call ssh internally, to find permission denied, if SSH is DOWN it would be connection refused
328 test: [ "CMD-SHELL", "/usr/bin/ssh -p22 -o StrictHostKeyChecking=no -o PasswordAuthentication=No rhodecode@localhost true 2>&1 | grep -c 'Permission denied' > /dev/null" ]
329 timeout: 30s
330 interval: 60s
331 retries: 10
332
319 # ports:
333 # ports:
320 # # set from .env file
334 # # set from .env file
321 # - "${RC_SSH_PORT:?must-specify-ssh-port}:22"
335 # - "${RC_SSH_PORT:?must-specify-ssh-port}:22"
@@ -330,6 +344,7 b' services:'
330 *custom-logging
344 *custom-logging
331
345
332 labels:
346 labels:
347 - "autoheal=true"
333 - "traefik.enable=true"
348 - "traefik.enable=true"
334 - "traefik.http.routers.sshd.entrypoints=ssh"
349 - "traefik.http.routers.sshd.entrypoints=ssh"
335 - "traefik.http.routers.sshd.rule=Host(`*`)"
350 - "traefik.http.routers.sshd.rule=Host(`*`)"
@@ -838,7 +838,7 b' rccontrol_stack_upgrade_rhodecode_usage() {'
838
838
839 # :flag.usage
839 # :flag.usage
840 echo " --stop-wait STOP_WAIT"
840 echo " --stop-wait STOP_WAIT"
841 printf " Number of seconds to wait for stopping old containers\n"
841 printf " Number of seconds to wait for stopping old containers, use low value to\n quickly restart and recycle containers\n"
842 printf " Default: 120\n"
842 printf " Default: 120\n"
843 echo
843 echo
844
844
@@ -1667,7 +1667,7 b' rccontrol_self_update_command() {'
1667
1667
1668 fi
1668 fi
1669
1669
1670 echo "$(green self-update: update to new version: $version_dl)"
1670 echo "$(green self-update: updating rccontrol script to new version: $version_dl)"
1671 rm $FINAL_TARGET && mv -v $DL_TARGET $FINAL_TARGET
1671 rm $FINAL_TARGET && mv -v $DL_TARGET $FINAL_TARGET
1672
1672
1673 get_docker_definitions $revision
1673 get_docker_definitions $revision
@@ -2273,7 +2273,7 b' rccontrol_stack_upgrade_rhodecode_command() {'
2273 RC_EDITION=$REPLY
2273 RC_EDITION=$REPLY
2274
2274
2275 if [[ $restart_unhealthy ]]; then
2275 if [[ $restart_unhealthy ]]; then
2276 unhealthy=$(docker ps -f health=unhealthy --format "{{.ID}}")
2276 unhealthy=$(docker ps --filter health=unhealthy --filter label=autoheal=true --format "{{.ID}}")
2277
2277
2278 if [[ $unhealthy == "" ]]; then
2278 if [[ $unhealthy == "" ]]; then
2279 echo "$(green no unhealthy containers found)"
2279 echo "$(green no unhealthy containers found)"
@@ -2350,12 +2350,12 b' rccontrol_stack_upgrade_rhodecode_command() {'
2350
2350
2351 }
2351 }
2352
2352
2353 # RHODECODE
2354 stop_containers "rhodecode" $docker_stop_wait $stop_wait
2355
2356 # VCSSERVER
2353 # VCSSERVER
2357 stop_containers "vcsserver" $docker_stop_wait $stop_wait
2354 stop_containers "vcsserver" $docker_stop_wait $stop_wait
2358
2355
2356 # RHODECODE
2357 stop_containers "rhodecode" $docker_stop_wait $stop_wait
2358
2359 # SVN
2359 # SVN
2360 stop_containers "svn" $docker_stop_wait $stop_wait
2360 stop_containers "svn" $docker_stop_wait $stop_wait
2361
2361
@@ -4445,7 +4445,7 b' rccontrol__completions_parse_requirements() {'
4445
4445
4446 # :command.initialize
4446 # :command.initialize
4447 initialize() {
4447 initialize() {
4448 version="4.28.0.REL.2022.12.21.1"
4448 version="4.28.0.REL.2022.12.21.2"
4449 long_usage=''
4449 long_usage=''
4450 set -e
4450 set -e
4451
4451
General Comments 0
You need to be logged in to leave comments. Login now