1
0
Fork 0
mirror of https://github.com/overleaf/toolkit.git synced 2025-04-19 07:18:06 +02:00

Merge pull request #304 from overleaf/jpa-pull-before-stop

Pull new images from bin/upgrade ahead of stopping containers
This commit is contained in:
Jakob Ackermann 2024-10-30 08:49:37 +01:00 committed by GitHub
commit 1a4d138ade
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 44 additions and 21 deletions

View file

@ -1,5 +1,9 @@
# Changelog
## 2024-10-29
### Added
- Pull new images from `bin/upgrade` ahead of stopping containers
## 2024-10-24
### Added
- Updated default [`version`](https://github.com/overleaf/toolkit/blob/master/lib/config-seed/version) to `5.2.1`.

View file

@ -76,15 +76,7 @@ function set_base_vars() {
DOCKER_COMPOSE_FLAGS+=(-f "$TOOLKIT_ROOT/lib/docker-compose.vars.yml")
fi
local image_name
if [[ -n ${OVERLEAF_IMAGE_NAME:-} ]]; then
image_name="$OVERLEAF_IMAGE_NAME"
elif [[ $SERVER_PRO == "true" ]]; then
image_name="quay.io/sharelatex/sharelatex-pro"
else
image_name="sharelatex/sharelatex"
fi
export IMAGE="$image_name:$IMAGE_VERSION"
set_server_pro_image_name "$IMAGE_VERSION"
if [[ ${OVERLEAF_LISTEN_IP:-null} == "null" ]];
then
@ -95,11 +87,6 @@ function set_base_vars() {
fi
export OVERLEAF_LISTEN_IP
if [[ $SERVER_PRO != "true" || $IMAGE_VERSION_MAJOR -lt 4 ]]; then
# Force git bridge to be disabled if not ServerPro >= 4
GIT_BRIDGE_ENABLED=false
fi
HAS_WEB_API=false
if [[ $IMAGE_VERSION_MAJOR -gt 4 ]]; then
HAS_WEB_API=true
@ -204,12 +191,7 @@ function set_nginx_vars() {
# Set environment variables for docker-compose.git-bridge.yml
function set_git_bridge_vars() {
local image_name
if [[ -n ${GIT_BRIDGE_IMAGE:-} ]]; then
image_name="$GIT_BRIDGE_IMAGE:$IMAGE_VERSION"
else
image_name="quay.io/sharelatex/git-bridge:$IMAGE_VERSION"
fi
set_git_bridge_image_name "$IMAGE_VERSION"
GIT_BRIDGE_API_BASE_URL="http://sharelatex/api/v0/"
if [[ $HAS_WEB_API == "true" ]]; then
@ -218,7 +200,6 @@ function set_git_bridge_vars() {
DOCKER_COMPOSE_FLAGS+=(-f "$TOOLKIT_ROOT/lib/docker-compose.git-bridge.yml")
export GIT_BRIDGE_API_BASE_URL
export GIT_BRIDGE_IMAGE=${image_name}
export GIT_BRIDGE_DATA_PATH
export GIT_BRIDGE_LOG_LEVEL
}

View file

@ -156,6 +156,14 @@ function handle_image_upgrade() {
prompt "Are you following the recovery process?"
fi
echo "Pulling new images"
set_server_pro_image_name "$SEED_IMAGE_VERSION"
docker pull "$IMAGE"
if [[ $GIT_BRIDGE_ENABLED == "true" ]]; then
set_git_bridge_image_name "$SEED_IMAGE_VERSION"
docker pull "$GIT_BRIDGE_IMAGE"
fi
## Offer to stop docker services
local services_stopped="false"
if services_up; then
@ -260,6 +268,7 @@ function __main__() {
read_seed_image_version
read_image_version
read_config
handle_rc_rebranding
handle_image_upgrade

View file

@ -6,6 +6,11 @@ function read_config() {
source "$TOOLKIT_ROOT/lib/default.rc"
# shellcheck source=/dev/null
source "$TOOLKIT_ROOT/config/overleaf.rc"
if [[ $SERVER_PRO != "true" || $IMAGE_VERSION_MAJOR -lt 4 ]]; then
# Force git bridge to be disabled if not ServerPro >= 4
GIT_BRIDGE_ENABLED=false
fi
}
function read_image_version() {
@ -70,6 +75,30 @@ function read_mongo_version() {
fi
}
function set_server_pro_image_name() {
local version=$1
local image_name
if [[ -n ${OVERLEAF_IMAGE_NAME:-} ]]; then
image_name="$OVERLEAF_IMAGE_NAME"
elif [[ $SERVER_PRO == "true" ]]; then
image_name="quay.io/sharelatex/sharelatex-pro"
else
image_name="sharelatex/sharelatex"
fi
export IMAGE="$image_name:$version"
}
function set_git_bridge_image_name() {
local version=$1
local image_name
if [[ -n ${GIT_BRIDGE_IMAGE:-} ]]; then
image_name="$GIT_BRIDGE_IMAGE"
else
image_name="quay.io/sharelatex/git-bridge"
fi
export GIT_BRIDGE_IMAGE="$image_name:$version"
}
function check_retracted_version() {
if [[ "${OVERLEAF_SKIP_RETRACTION_CHECK:-null}" == "$IMAGE_VERSION" ]]; then
return