diff --git a/quickstart/docker/.env b/quickstart/docker/.env new file mode 100644 index 000000000..4222022e0 --- /dev/null +++ b/quickstart/docker/.env @@ -0,0 +1,5 @@ +# OpenZiti Variables +ZITI_IMAGE=openziti/quickstart +ZITI_VERSION=latest +ZITI_CONTROLLER_RAWNAME=ziti-controller +ZITI_EDGE_CONTROLLER_RAWNAME=ziti-edge-controller \ No newline at end of file diff --git a/quickstart/docker/README.md b/quickstart/docker/README.md index fa05e51aa..96707368c 100644 --- a/quickstart/docker/README.md +++ b/quickstart/docker/README.md @@ -4,8 +4,8 @@ Building and Deploying the Latest Quickstart Docker Image Build Docker Image for Local Dev (probably for docker-compose testing) ------------------ 1. change to this directory: `cd quickstart/docker` -2. run the questionably named `./pushDevBuild.sh` which will create a `openziti/quickstart:dev` tag -3. update `docker-compose.yml` and replace `:latest` with `:dev` +2. run the script `./buildLocalDev.sh` which will create a `openziti/quickstart:dev` tag +3. update `.env` and change the value for `ZITI_VERSION` to `dev` 4. run `docker-compose` as normal Build Docker Image For Publication diff --git a/quickstart/docker/pushDevBuild.sh b/quickstart/docker/buildLocalDev.sh old mode 100644 new mode 100755 similarity index 62% rename from quickstart/docker/pushDevBuild.sh rename to quickstart/docker/buildLocalDev.sh index 6af87a550..8dc9a0bad --- a/quickstart/docker/pushDevBuild.sh +++ b/quickstart/docker/buildLocalDev.sh @@ -1,9 +1,31 @@ #!/usr/bin/env bash set -eo pipefail +echo "${SHELL}" + +# This method is required for users bash prior to version 4. More specifically this is to support Mac users as Mac uses +# an older version of bash. +myrealpath() { + OURPWD=$PWD + cd "$(dirname "$1")" + LINK=$(readlink "$(basename "$1")") + while [ "$LINK" ]; do + cd "$(dirname "$LINK")" + LINK=$(readlink "$(basename "$1")") + done + REALPATH="$PWD/$(basename "$1")" + cd "$OURPWD" + echo "$REALPATH" +} + SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" -ZITI_QUICKSTART_ROOT="$(realpath ${SCRIPT_DIR}/..)" -ZITI_ROOT="$(realpath ${ZITI_QUICKSTART_ROOT}/..)" +if [ "${BASH_VERSINFO:-0}" -lt 4 ]; then + ZITI_QUICKSTART_ROOT="$(myrealpath "${SCRIPT_DIR}"/..)" + ZITI_ROOT="$(myrealpath "${ZITI_QUICKSTART_ROOT}"/..)" +else + ZITI_QUICKSTART_ROOT="$(realpath "${SCRIPT_DIR}"/..)" + ZITI_ROOT="$(realpath "${ZITI_QUICKSTART_ROOT}"/..)" +fi ZITI_DOCKER_ROOT="${ZITI_QUICKSTART_ROOT}/docker" echo "SCRIPT_DIR :$SCRIPT_DIR" diff --git a/quickstart/docker/docker-compose.yml b/quickstart/docker/docker-compose.yml index 227e6099e..c4d3631ac 100644 --- a/quickstart/docker/docker-compose.yml +++ b/quickstart/docker/docker-compose.yml @@ -1,7 +1,7 @@ version: '2.4' services: ziti-controller: - image: openziti/quickstart:latest + image: "${ZITI_IMAGE}:${ZITI_VERSION}" env_file: - ./default.env ports: @@ -19,10 +19,12 @@ services: - "/openziti/scripts/run-controller.sh" ziti-edge-router: - image: openziti/quickstart:latest + image: "${ZITI_IMAGE}:${ZITI_VERSION}" + depends_on: + - ziti-controller environment: - - ZITI_CONTROLLER_RAWNAME=ziti-controller - - ZITI_EDGE_CONTROLLER_RAWNAME=ziti-edge-controller + - ZITI_CONTROLLER_RAWNAME="${ZITI_CONTROLLER_RAWNAME}" + - ZITI_EDGE_CONTROLLER_RAWNAME="${ZITI_EDGE_CONTROLLER_RAWNAME}" - ZITI_EDGE_ROUTER_RAWNAME=ziti-edge-router ports: - "3022:3022" @@ -35,10 +37,12 @@ services: command: "/openziti/scripts/run-router.sh edge" ziti-edge-router-wss: - image: openziti/quickstart:latest + image: "${ZITI_IMAGE}:${ZITI_VERSION}" + depends_on: + - ziti-controller environment: - - ZITI_CONTROLLER_RAWNAME=ziti-controller - - ZITI_EDGE_CONTROLLER_RAWNAME=ziti-edge-controller + - ZITI_CONTROLLER_RAWNAME="${ZITI_CONTROLLER_RAWNAME}" + - ZITI_EDGE_CONTROLLER_RAWNAME="${ZITI_EDGE_CONTROLLER_RAWNAME}" - ZITI_EDGE_ROUTER_RAWNAME=ziti-edge-router-wss - ZITI_EDGE_ROUTER_PORT=3023 ports: @@ -52,10 +56,12 @@ services: command: "/openziti/scripts/run-router.sh wss" ziti-fabric-router-br: - image: openziti/quickstart:latest + image: "${ZITI_IMAGE}:${ZITI_VERSION}" + depends_on: + - ziti-controller environment: - - ZITI_CONTROLLER_RAWNAME=ziti-controller - - ZITI_EDGE_CONTROLLER_RAWNAME=ziti-edge-controller + - ZITI_CONTROLLER_RAWNAME="${ZITI_CONTROLLER_RAWNAME}" + - ZITI_EDGE_CONTROLLER_RAWNAME="${ZITI_EDGE_CONTROLLER_RAWNAME}" - ZITI_EDGE_ROUTER_RAWNAME=ziti-fabric-router-br #ports: # - 3024:3024 @@ -68,10 +74,12 @@ services: command: "/openziti/scripts/run-router.sh fabric" ziti-private-red: - image: openziti/quickstart:latest + image: "${ZITI_IMAGE}:${ZITI_VERSION}" + depends_on: + - ziti-controller environment: - - ZITI_CONTROLLER_RAWNAME=ziti-controller - - ZITI_EDGE_CONTROLLER_RAWNAME=ziti-edge-controller + - ZITI_CONTROLLER_RAWNAME="${ZITI_CONTROLLER_RAWNAME}" + - ZITI_EDGE_CONTROLLER_RAWNAME="${ZITI_EDGE_CONTROLLER_RAWNAME}" - ZITI_EDGE_ROUTER_RAWNAME=ziti-private-red #ports: # - 3025:3025 @@ -83,10 +91,12 @@ services: command: "/openziti/scripts/run-router.sh private" ziti-private-blue: - image: openziti/quickstart:latest + image: "${ZITI_IMAGE}:${ZITI_VERSION}" + depends_on: + - ziti-controller environment: - - ZITI_CONTROLLER_RAWNAME=ziti-controller - - ZITI_EDGE_CONTROLLER_RAWNAME=ziti-edge-controller + - ZITI_CONTROLLER_RAWNAME="${ZITI_CONTROLLER_RAWNAME}" + - ZITI_EDGE_CONTROLLER_RAWNAME="${ZITI_EDGE_CONTROLLER_RAWNAME}" - ZITI_EDGE_ROUTER_RAWNAME=ziti-private-blue #ports: # - 3026:3026 @@ -112,7 +122,7 @@ services: image: openziti/zac environment: - ZAC_SERVER_CERT_CHAIN=/openziti/pki/ziti-controller-intermediate/certs/ziti-controller-server.cert - - ZAC_SERVER_KEY=/openziti/pki/ziti-controller-intermediate/keys/ziti-controller-server.key -it + - ZAC_SERVER_KEY=/openziti/pki/ziti-controller-intermediate/keys/ziti-controller-server.key ports: - "1408:1408" - "8443:8443" diff --git a/quickstart/docker/image/run-router.sh b/quickstart/docker/image/run-router.sh old mode 100644 new mode 100755 diff --git a/quickstart/docker/image/ziti-cli-functions.sh b/quickstart/docker/image/ziti-cli-functions.sh old mode 100644 new mode 100755 index cf805488a..bb3054e11 --- a/quickstart/docker/image/ziti-cli-functions.sh +++ b/quickstart/docker/image/ziti-cli-functions.sh @@ -366,12 +366,12 @@ function generateEnvFile { export ZITI_BIN_ROOT="${ZITI_HOME-}/ziti-bin" fi + export ENV_FILE="${ZITI_HOME-}/${ZITI_NETWORK-}.env" + if ! ziti_createEnvFile; then return 1 fi - export ENV_FILE="${ZITI_HOME-}/${ZITI_NETWORK-}.env" - echo -e "environment file sourced from: $(BLUE "${ENV_FILE}")" } diff --git a/quickstart/docker/simplified-docker-compose.yml b/quickstart/docker/simplified-docker-compose.yml index c31c57704..7646adef9 100644 --- a/quickstart/docker/simplified-docker-compose.yml +++ b/quickstart/docker/simplified-docker-compose.yml @@ -1,7 +1,7 @@ version: '2.4' services: ziti-controller: - image: openziti/quickstart:latest + image: "${ZITI_IMAGE}:${ZITI_VERSION}" env_file: - ./default.env ports: @@ -19,9 +19,11 @@ services: - "/openziti/scripts/run-controller.sh" ziti-edge-router: - image: openziti/quickstart:latest + image: "${ZITI_IMAGE}:${ZITI_VERSION}" environment: - ZITI_EDGE_ROUTER_RAWNAME=ziti-edge-router + depends_on: + - ziti-controller ports: - "3022:3022" networks: @@ -36,7 +38,9 @@ services: image: openziti/zac environment: - ZAC_SERVER_CERT_CHAIN=/openziti/pki/ziti-controller-intermediate/certs/ziti-controller-server.cert - - ZAC_SERVER_KEY=/openziti/pki/ziti-controller-intermediate/keys/ziti-controller-server.key -it + - ZAC_SERVER_KEY=/openziti/pki/ziti-controller-intermediate/keys/ziti-controller-server.key + depends_on: + - ziti-controller ports: - "1408:1408" - "8443:8443"