updates to deploy testing and certbot commands
This commit is contained in:
@@ -1,13 +1,15 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
#set -x
|
||||
set -x
|
||||
|
||||
LETSENCRYPT_IMAGE=dkregistry.xai-corp.net:5000/xaicorp/acme-certbot
|
||||
LETSENCRYPT_MOUNT=/opt/shared/letsencrypt-2-staging
|
||||
CERT_NAME=xai-corp.net
|
||||
|
||||
export DOCKER_HOST=${DOCKER_HOST:-'dkhost:2376'}
|
||||
export LETSENCRYPT_MOUNT
|
||||
export LETSENCRYPT_IMAGE
|
||||
export CERT_NAME
|
||||
|
||||
run() {
|
||||
docker-compose \
|
||||
@@ -22,10 +24,4 @@ run_help() {
|
||||
}
|
||||
|
||||
|
||||
while getopts h name
|
||||
do
|
||||
case $name in
|
||||
h) run_help $@;;
|
||||
*) run $@;;
|
||||
esac
|
||||
done
|
||||
run $@
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
#set -x
|
||||
set -x
|
||||
|
||||
LETSENCRYPT_IMAGE=dkregistry.xai-corp.net:5000/xaicorp/acme-certbot
|
||||
LETSENCRYPT_MOUNT=/opt/shared/letsencrypt-2-staging
|
||||
CERT_NAME=xai-corp.net
|
||||
|
||||
LOG=$(mktemp)
|
||||
|
||||
@@ -25,11 +26,12 @@ update() {
|
||||
export DOCKER_HOST=${DOCKER_HOST:-'dkhost:2376'}
|
||||
export LETSENCRYPT_MOUNT
|
||||
export LETSENCRYPT_IMAGE
|
||||
export CERT_NAME
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
docker-compose \
|
||||
-f docker-compose.tools.yml \
|
||||
run renew ${OPTIONS}
|
||||
run --name sslproxy_renew renew ${OPTIONS}
|
||||
}
|
||||
|
||||
function trap_exit() {
|
||||
@@ -58,12 +60,12 @@ print_usage() {
|
||||
######
|
||||
|
||||
ENVIRONMENT=dev
|
||||
OPTIONS=''
|
||||
OPTIONS="--cert-name ${CERT_NAME}"
|
||||
while getopts de: name
|
||||
do
|
||||
case $name in
|
||||
d)
|
||||
OPTIONS="$OPTIONS --dryrun"
|
||||
OPTIONS="$OPTIONS --dry-run"
|
||||
;;
|
||||
e)
|
||||
if [ $OPTARG == 'prod' ]; then
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
set -x
|
||||
#set -x
|
||||
|
||||
LOCAL_IMAGE=sslproxy
|
||||
#TAG=2.2.${BUILD_NUMBER:-dev}
|
||||
TAG=2.2.${BUILD_NUMBER:-dev}
|
||||
TAG=2.1
|
||||
REMOTE_IMAGE=dkregistry.xai-corp.net:5000/${LOCAL_IMAGE}:${TAG}
|
||||
APP_NAME=sslproxy_app
|
||||
@@ -18,19 +18,40 @@ export DOCKER_HOST=${DOCKER_HOST:-'dkhost:2376'}
|
||||
|
||||
###
|
||||
function deploy() {
|
||||
docker pull "$REMOTE_IMAGE"
|
||||
|
||||
docker stack deploy \
|
||||
--with-registry-auth \
|
||||
--prune \
|
||||
-c docker-compose.prod.yml \
|
||||
sslproxy
|
||||
|
||||
(cd ../ && chmod +x ./scaleout.sh && ./scaleout.sh sslproxy_app 30)
|
||||
docker stack ps sslproxy
|
||||
|
||||
sleep 2
|
||||
docker service ps --filter "desired-state=Running" sslproxy_app
|
||||
|
||||
wait_for_completed
|
||||
}
|
||||
|
||||
wait_for_completed() {
|
||||
#states supported: "rollback_completed", "updating", "completed"
|
||||
state=$(docker service inspect sslproxy_app | jq -r .[0].UpdateStatus.State)
|
||||
while [ "completed" != "$state" ]; do
|
||||
echo "$state"
|
||||
sleep 3
|
||||
state=$(docker service inspect sslproxy_app | jq -r .[0].UpdateStatus.State)
|
||||
done
|
||||
}
|
||||
|
||||
function deploy_test() {
|
||||
docker ps | grep sslproxy_app
|
||||
|
||||
curl -If https://git.xai-corp.net/
|
||||
# assertOK https abcapi.xai-corp.net
|
||||
assertOK https dkui.xai-corp.net
|
||||
assertOK https git.xai-corp.net
|
||||
assertOK https jenkins.xai-corp.net
|
||||
assertOK https xaibox.xai-corp.net
|
||||
# curl -If https://git.xai-corp.net/
|
||||
# curl -If -H "Host: not.xai-corp.net" https://dkhost
|
||||
}
|
||||
|
||||
@@ -48,11 +69,21 @@ dc() {
|
||||
$@
|
||||
}
|
||||
|
||||
function assertOK() {
|
||||
proto=$1
|
||||
domain=$2
|
||||
set -e
|
||||
echo -e "\033[94m${proto}://${domain}\033[39m"
|
||||
curl --no-progress-meter -IskH "Host: ${domain}" "${proto}://dkhost.xai-corp.net" \
|
||||
| tee "$LOG" | grep -P "200 OK|302 Found|403 Forbidden"
|
||||
}
|
||||
|
||||
function trap_exit() {
|
||||
code=$?
|
||||
docker service ls | grep "${APP_NAME}"
|
||||
if [ $code -gt 0 ]; then
|
||||
echo
|
||||
cat "$LOG"
|
||||
rm "$LOG"
|
||||
echo -e "\033[31mFailed to deploy ${REMOTE_IMAGE} \033[39m"
|
||||
exit $code
|
||||
|
||||
@@ -3,5 +3,9 @@ set -e
|
||||
|
||||
export DOCKER_HOST=${DOCKER_HOST:-'dkhost:2376'}
|
||||
|
||||
docker exec $@
|
||||
#docker exec $@
|
||||
#docker network inspect ingress
|
||||
|
||||
#docker service $@
|
||||
|
||||
docker $@
|
||||
|
||||
@@ -18,12 +18,26 @@ export DOCKER_HOST=${DOCKER_HOST:-'dkhost:2376'}
|
||||
###
|
||||
|
||||
function rollback() {
|
||||
docker service inspect ${APP_NAME}
|
||||
# docker service inspect ${APP_NAME}
|
||||
docker service update --rollback "${APP_NAME}"
|
||||
docker service scale "${APP_NAME}=2"
|
||||
|
||||
wait_for_completed
|
||||
# docker service scale "${APP_NAME}=2"
|
||||
}
|
||||
|
||||
wait_for_completed() {
|
||||
#states supported: "rollback_completed", "updating", "completed"
|
||||
state=$(docker service inspect sslproxy_app | jq -r .[0].UpdateStatus.State)
|
||||
while [ "rollback_completed" != "$state" ]; do
|
||||
echo "$state"
|
||||
sleep 3
|
||||
state=$(docker service inspect sslproxy_app | jq -r .[0].UpdateStatus.State)
|
||||
done
|
||||
}
|
||||
|
||||
function rollback_test() {
|
||||
docker service ps --filter "desired-state=Running" sslproxy_app
|
||||
|
||||
docker ps | grep "${APP_NAME}"
|
||||
|
||||
curl -If https://git.xai-corp.net/
|
||||
|
||||
Reference in New Issue
Block a user