deployment: Add script to update load balancer IPs in enterprise-ha deployment

pull/809/head
cruizba 2023-05-29 16:46:07 +02:00
parent b81c0dfccc
commit c1f3b22bc9
3 changed files with 39 additions and 2 deletions

View File

@ -298,6 +298,7 @@ usage() {
printf "\n\tstart\t\t\tStart all services"
printf "\n\tstop\t\t\tStop all services"
printf "\n\trestart\t\t\tRestart all stopped and running services"
printf "\n\tupdate-loadbalancer\tUpdate load balancer IPs \n\t\t\t\tfrom OPENVIDU_ENTERPRISE_HA_NODE_IPS"
printf "\n\tlogs\t\t\tShow openvidu-server logs"
printf "\n\tupgrade\t\t\tUpgrade to the latest Openvidu version"
printf "\n\tupgrade [version]\tUpgrade to the specific Openvidu version"
@ -333,6 +334,14 @@ restart)
fi
;;
update-loadbalancer)
validate_env_vars
OPENVIDU_ENTERPRISE_HA_NODE_IPS=$(get_env_var_value "OPENVIDU_ENTERPRISE_HA_NODE_IPS")
docker-compose exec -it \
-e OPENVIDU_ENTERPRISE_HA_NODE_IPS="${OPENVIDU_ENTERPRISE_HA_NODE_IPS}" \
loadbalancer update_enterprise_ha_nodes.sh
;;
logs)
case "${2-}" in
--follow|-f)

View File

@ -15,7 +15,7 @@ COPY ./default.conf /etc/nginx/conf.d/default.conf
COPY ./default_nginx_conf /default_nginx_conf
# Entrypoint and discover public ip scripts
COPY ./discover_my_public_ip.sh /usr/local/bin
COPY ./discover_my_public_ip.sh ./update_enterprise_ha_nodes.sh /usr/local/bin/
# Copy nginx.conf
COPY ./nginx.conf /etc/nginx/nginx.conf
@ -27,6 +27,7 @@ RUN mkdir -p /var/www/certbot && \
mkdir -p /etc/nginx/vhost.d/ && \
mkdir -p /custom-nginx && \
chmod +x /usr/local/bin/entrypoint.sh && \
chmod +x /usr/local/bin/discover_my_public_ip.sh
chmod +x /usr/local/bin/discover_my_public_ip.sh && \
chmod +x /usr/local/bin/update_enterprise_ha_nodes.sh
CMD [ "/usr/local/bin/entrypoint.sh" ]

View File

@ -0,0 +1,27 @@
#!/bin/bash
# Check if PROXY_MODE is ENTERPRISE_HA
if [[ "${PROXY_MODE}" != "ENTERPRISE_HA" ]]; then
echo "PROXY_MODE is not ENTERPRISE_HA"
exit 1
fi
if [[ -z "${OPENVIDU_ENTERPRISE_HA_NODE_IPS}" ]]; then
echo "OPENVIDU_ENTERPRISE_HA_NODE_IPS is not set."
exit 1
else
echo "Updating OPENVIDU_ENTERPRISE_HA_NODE_IPS in load balancer"
echo "OPENVIDU_ENTERPRISE_HA_NODE_IPS: ${OPENVIDU_ENTERPRISE_HA_NODE_IPS}"
OPENVIDU_ENTERPRISE_HA_NODE_IPS="10.5.0.8,10.5.0.9"
IFS=',' read -ra IP_ARRAY <<< "$OPENVIDU_ENTERPRISE_HA_NODE_IPS"
NEW_UPSTREAM=""
for i in "${IP_ARRAY[@]}"; do
NEW_UPSTREAM+=" server ${i}:4443 max_fails=2 fail_timeout=3s;\n"
done
unset IFS
sed -i "/upstream openviduserver {/,/}/c\upstream openviduserver {\n$NEW_UPSTREAM}" /etc/nginx/conf.d/*
echo "Updated OPENVIDU_ENTERPRISE_HA_NODE_IPS in load balancer"
echo "Reloading nginx"
nginx -s reload
echo "Nginx updated successfully"
fi