working docker compose with two edge routers - one regular, one wss

This commit is contained in:
dovholuknf
2021-04-23 19:36:04 -04:00
parent ac9b10a4a4
commit a609f466eb
17 changed files with 228 additions and 270 deletions
+3
View File
@@ -0,0 +1,3 @@
ZITI_CONTROLLER_RAWNAME=ziti-controller
ZITI_EDGE_CONTROLLER_RAWNAME=ziti-edge-controller
ZITI_ZAC_RAWNAME=ziti-zac
+21 -2
View File
@@ -2,6 +2,8 @@ version: '2.4'
services:
ziti-controller:
image: openziti/ziti-quickstart
env_file:
- ./default.env
build: ./image
ports:
- 1280:1280
@@ -17,6 +19,8 @@ services:
ziti-edge-router:
image: openziti/ziti-quickstart
environment:
- ZITI_EDGE_ROUTER_RAWNAME=ziti-edge-router
depends_on:
ziti-controller:
condition: service_started
@@ -30,8 +34,24 @@ services:
- ziti-fs:/openziti
entrypoint:
- /openziti/run-edge-router.sh
#command: ["wait-for-it", "ziti-controller:1280", "-t", "120", "--", "./run-edge-router.sh"]
ziti-edge-router-wss:
image: openziti/ziti-quickstart
environment:
- ZITI_EDGE_ROUTER_RAWNAME=ziti-edge-router-wss
depends_on:
ziti-controller:
condition: service_started
ports:
- 3023:3022
networks:
ziticontrol:
aliases:
- ziti-edge-router
volumes:
- ziti-fs:/openziti
entrypoint: /bin/bash
command: "/openziti/run-edge-router.sh wss"
networks:
ziticontrol:
zitired:
@@ -40,4 +60,3 @@ networks:
volumes:
ziti-fs:
+6 -14
View File
@@ -14,18 +14,10 @@ WORKDIR /openziti
COPY --chown=ziti ziti.ignore /usr/local/bin/
COPY --chown=ziti *.sh ./
RUN export ZITI_HOME=/openziti && \
export ENV_FILE=/openziti/ziti.env && \
export ZITI_NETWORK=ziti && \
export ZITI_CONTROLLER_RAWNAME=ziti-controller && \
export ZITI_EDGE_CONTROLLER_RAWNAME=ziti-edge-controller && \
export ZITI_EDGE_ROUTER_RAWNAME=ziti-edge-router && \
export ZITI_EDGE_WSS_ROUTER_RAWNAME=ziti-edge-router-wss && \
export ZITI_ROUTER_BR_RAWNAME=ziti-edge-router-br && \
export ZITI_ROUTER_BLUE_RAWNAME=ziti-edge-router-blue && \
export ZITI_ROUTER_RED_RAWNAME=ziti-edge-router-red && \
export ZITI_ZAC_RAWNAME=ziti-zac && \
/openziti/env.sh && \
echo "source /openziti/ziti.env" >> ~/.bashrc && \
echo "alias ziti-fabric='ziti-fabric -e \${fabric_controller_uri}'" >> ~/.bashrc
ENV ZITI_HOME=/openziti
ENV ENV_FILE=/openziti/ziti.env
ENV ZITI_NETWORK=ziti
RUN /openziti/env.sh && \
echo "source /openziti/ziti.env" >> ~/.bashrc
@@ -18,10 +18,10 @@ identity:
ca: "${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_CONTROLLER_HOSTNAME}-server.chain.pem"
ctrl:
listener: tls:${ZITI_EDGE_CONTROLLER_HOSTNAME}:${ZITI_FAB_CTRL_PORT}
listener: tls:${ZITI_CONTROLLER_HOSTNAME}:${ZITI_FAB_CTRL_PORT}
mgmt:
listener: tls:${ZITI_EDGE_CONTROLLER_HOSTNAME}:${ZITI_FAB_MGMT_PORT}
listener: tls:${ZITI_CONTROLLER_HOSTNAME}:${ZITI_FAB_MGMT_PORT}
#metrics:
# influxdb:
@@ -11,6 +11,16 @@ identity:
ctrl:
endpoint: tls:${ZITI_CONTROLLER_HOSTNAME}:${ZITI_FAB_CTRL_PORT}
link:
listeners:
- binding: transport
bind: tls:0.0.0.0:80
advertise: tls:${ZITI_EDGE_ROUTER_HOSTNAME}:80
options:
outQueueSize: 16
dialers:
- binding: transport
listeners:
- binding: tunnel
options:
@@ -34,7 +44,32 @@ edge:
ip:
- "127.0.0.1"
dialers:
- binding: udp
- binding: transport
listeners:
- binding: edge
address: tls:0.0.0.0:443
options:
advertise: ${ZITI_EDGE_ROUTER_HOSTNAME}:443
connectTimeoutMs: 5000
getSessionTimeout: 60s
transport:
wss:
writeTimeout: 10
readTimeout: 5
idleTimeout: 5
pongTimeout: 60
pingInterval: 54
handshakeTimeout: 10
readBufferSize: 4096
writeBufferSize: 4096
enableCompression: true
server_cert: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_EDGE_WSS_ROUTER_HOSTNAME}-router-server.cert
key: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/keys/${ZITI_EDGE_WSS_ROUTER_HOSTNAME}-router-server.key
forwarder:
latencyProbeInterval: 1000
xgressDialQueueLength: 1000
xgressDialWorkerCount: 128
linkDialQueueLength: 1000
linkDialWorkerCount: 10
HereDocForEdgeRouter
+4 -5
View File
@@ -75,8 +75,7 @@ echo " "
pki_client_server "${ZITI_CONTROLLER_HOSTNAME}" "${ZITI_CONTROLLER_INTERMEDIATE_NAME}"
pki_client_server "${ZITI_EDGE_CONTROLLER_HOSTNAME}" "${ZITI_EDGE_CONTROLLER_INTERMEDIATE_NAME}"
pki_client_server "${ZITI_EDGE_ROUTER_HOSTNAME}" "${ZITI_CONTROLLER_INTERMEDIATE_NAME}"
pki_client_server "${ZITI_EDGE_WSS_ROUTER_HOSTNAME}" "${ZITI_CONTROLLER_INTERMEDIATE_NAME}"
pki_client_server "${ZITI_ROUTER_BR_HOSTNAME}" "${ZITI_CONTROLLER_INTERMEDIATE_NAME}"
pki_client_server "${ZITI_ROUTER_BLUE_HOSTNAME}" "${ZITI_CONTROLLER_INTERMEDIATE_NAME}"
pki_client_server "${ZITI_ROUTER_RED_HOSTNAME}" "${ZITI_CONTROLLER_INTERMEDIATE_NAME}"
pki_client_server "${ZITI_ZAC_HOSTNAME}" "${ZITI_CONTROLLER_INTERMEDIATE_NAME}"
#pki_client_server "${ZITI_EDGE_WSS_ROUTER_HOSTNAME}" "${ZITI_CONTROLLER_INTERMEDIATE_NAME}"
#pki_client_server "${ZITI_ROUTER_BR_HOSTNAME}" "${ZITI_CONTROLLER_INTERMEDIATE_NAME}"
#pki_client_server "${ZITI_ROUTER_RED_HOSTNAME}" "${ZITI_CONTROLLER_INTERMEDIATE_NAME}"
#pki_client_server "${ZITI_ZAC_HOSTNAME}" "${ZITI_CONTROLLER_INTERMEDIATE_NAME}"
@@ -0,0 +1,54 @@
#!/bin/bash
function pki_client_server {
name_local=$1
ZITI_CA_NAME_local=$2
if ! test -f "${ZITI_PKI}/${ZITI_CA_NAME_local}/keys/${name_local}-server.key"; then
echo "Creating server cert from ca: ${ZITI_CA_NAME_local} for ${name_local}"
ziti pki create server --pki-root="${ZITI_PKI}" --ca-name "${ZITI_CA_NAME_local}" \
--server-file "${name_local}-server" \
--dns "${name_local},localhost" --ip 127.0.0.1 \
--server-name "${name_local} server certificate"
else
echo "Creating server cert from ca: ${ZITI_CA_NAME_local} for ${name_local}"
echo "key exists"
fi
if ! test -f "${ZITI_PKI}/${ZITI_CA_NAME_local}/keys/${name_local}-client.key"; then
echo "Creating client cert from ca: ${ZITI_CA_NAME_local} for ${name_local}"
ziti pki create client --pki-root="${ZITI_PKI}" --ca-name "${ZITI_CA_NAME_local}" \
--client-file "${name_local}-client" \
--key-file "${name_local}-server" \
--client-name "${name_local}"
else
echo "Creating client cert from ca: ${ZITI_CA_NAME_local} for ${name_local}"
echo "key exists"
fi
echo " "
}
function pki_create_ca {
if ! test -f "${ZITI_PKI}/${1}/keys/${1}.key"; then
echo "Creating CA: ${1}"
ziti pki create ca --pki-root="${ZITI_PKI}" --ca-file="${1}" --ca-name="${1} Root CA"
else
echo "Creating CA: ${1}"
echo "key exists"
fi
echo " "
}
function pki_create_intermediate {
if ! test -f "${ZITI_PKI}/${2}/keys/${2}.key"; then
echo "Creating intermediate: ${1} ${2} ${3}"
ziti pki create intermediate --pki-root "${ZITI_PKI}" --ca-name "${1}" \
--intermediate-name "${2}" \
--intermediate-file "${2}" --max-path-len ${3}
else
echo "Creating intermediate: ${1} ${2} ${3}"
echo "key exists"
fi
echo " "
}
pki_client_server "${ZITI_EDGE_ROUTER_HOSTNAME}" "${ZITI_CONTROLLER_INTERMEDIATE_NAME}"
@@ -0,0 +1,75 @@
#!/bin/bash
cat > ${ZITI_HOME}/${ZITI_EDGE_ROUTER_HOSTNAME}.yaml <<HereDocForEdgeRouter
v: 3
identity:
cert: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_EDGE_ROUTER_HOSTNAME}-router-client.cert
server_cert: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_EDGE_ROUTER_HOSTNAME}-router-server.cert
key: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/keys/${ZITI_EDGE_ROUTER_HOSTNAME}-router-server.key
ca: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_EDGE_ROUTER_HOSTNAME}-router-server.chain.pem
ctrl:
endpoint: tls:${ZITI_CONTROLLER_HOSTNAME}:${ZITI_FAB_CTRL_PORT}
link:
listeners:
- binding: transport
bind: tls:0.0.0.0:80
advertise: tls:${ZITI_EDGE_ROUTER_HOSTNAME}:80
options:
outQueueSize: 16
dialers:
- binding: transport
listeners:
- binding: tunnel
options:
mode: host #tproxy|tun|host
- binding: edge
address: wss:0.0.0.0:3023
options:
advertise: ${ZITI_EDGE_WSS_ROUTER_HOSTNAME}:3023
edge:
csr:
country: US
province: NC
locality: Charlotte
organization: NetFoundry
organizationalUnit: Ziti
sans:
dns:
- ${ZITI_EDGE_ROUTER_HOSTNAME}
- localhost
ip:
- "127.0.0.1"
listeners:
- binding: edge
address: tls:0.0.0.0:443
options:
advertise: ${ZITI_EDGE_ROUTER_HOSTNAME}:443
connectTimeoutMs: 5000
getSessionTimeout: 60s
transport:
wss:
writeTimeout: 10
readTimeout: 5
idleTimeout: 5
pongTimeout: 60
pingInterval: 54
handshakeTimeout: 10
readBufferSize: 4096
writeBufferSize: 4096
enableCompression: true
server_cert: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_EDGE_WSS_ROUTER_HOSTNAME}-router-server.cert
key: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/keys/${ZITI_EDGE_WSS_ROUTER_HOSTNAME}-router-server.key
forwarder:
latencyProbeInterval: 1000
xgressDialQueueLength: 1000
xgressDialWorkerCount: 128
linkDialQueueLength: 1000
linkDialWorkerCount: 10
HereDocForEdgeRouter
+1 -11
View File
@@ -14,6 +14,7 @@ if [[ "${1}" != "" ]]; then
export ZITI_NETWORK=${1}
fi
if [[ "${ZITI_NETWORK}" = "" ]]; then
echo "ERROR: ZITI_NETWORK HAS NOT BEEN DECLARED! USING hostname: $(hostname)"
export ZITI_NETWORK=$(hostname)
fi
@@ -27,23 +28,12 @@ export ZITI_FAB_CTRL_PORT="6262"
if [[ "${ZITI_CONTROLLER_RAWNAME}" == "" ]]; then export ZITI_CONTROLLER_RAWNAME="${ZITI_NETWORK}-controller"; fi
if [[ "${ZITI_EDGE_CONTROLLER_RAWNAME}" == "" ]]; then export ZITI_EDGE_CONTROLLER_RAWNAME="${ZITI_NETWORK}-edge-controller"; fi
if [[ "${ZITI_EDGE_ROUTER_RAWNAME}" == "" ]]; then export ZITI_EDGE_ROUTER_RAWNAME="${ZITI_NETWORK}-edge-router"; fi
if [[ "${ZITI_EDGE_ROUTER_RAWNAME_WSS}" == "" ]]; then export ZITI_EDGE_ROUTER_RAWNAME_WSS="${ZITI_NETWORK}-wss-edge-router"; fi
if [[ "${ZITI_ROUTER_BR_RAWNAME}" == "" ]]; then export ZITI_ROUTER_BR_RAWNAME="${ZITI_NETWORK}-edge-router-br"; fi
if [[ "${ZITI_ROUTER_BLUE_RAWNAME}" == "" ]]; then export ZITI_ROUTER_BLUE_RAWNAME="${ZITI_NETWORK}-edge-router-blue"; fi
if [[ "${ZITI_ROUTER_RED_RAWNAME}" == "" ]]; then export ZITI_ROUTER_RED_RAWNAME="${ZITI_NETWORK}-edge-router-red"; fi
if [[ "${ZITI_ZAC_RAWNAME}" == "" ]]; then export ZITI_ZAC_RAWNAME="${ZITI_NETWORK}-zac"; fi
export ZITI_PKI="${ZITI_HOME}/pki"
export ZITI_EDGE_CONTROLLER_PORT="1280"
export ZITI_CONTROLLER_HOSTNAME="${ZITI_CONTROLLER_RAWNAME}${ZITI_DOMAIN_SUFFIX}"
export ZITI_EDGE_CONTROLLER_HOSTNAME="${ZITI_EDGE_CONTROLLER_RAWNAME}${ZITI_DOMAIN_SUFFIX}"
export ZITI_EDGE_ROUTER_HOSTNAME="${ZITI_EDGE_ROUTER_RAWNAME}${ZITI_DOMAIN_SUFFIX}"
export ZITI_EDGE_ROUTER_RAWNAME_WSS="${ZITI_EDGE_ROUTER_RAWNAME_WSS}${ZITI_DOMAIN_SUFFIX}"
export ZITI_ROUTER_BR_HOSTNAME="${ZITI_ROUTER_BR_RAWNAME}${ZITI_DOMAIN_SUFFIX}"
export ZITI_ROUTER_BLUE_HOSTNAME="${ZITI_ROUTER_BLUE_RAWNAME}${ZITI_DOMAIN_SUFFIX}"
export ZITI_ROUTER_RED_HOSTNAME="${ZITI_ROUTER_RED_RAWNAME}${ZITI_DOMAIN_SUFFIX}"
export ZITI_ZAC_HOSTNAME="${ZITI_ZAC_RAWNAME}${ZITI_DOMAIN_SUFFIX}"
export ZITI_EDGE_CONTROLLER_API="${ZITI_EDGE_CONTROLLER_HOSTNAME}:${ZITI_EDGE_CONTROLLER_PORT}"
+1 -1
View File
@@ -29,7 +29,7 @@ mkdir -p $ZITI_HOME
cd $ZITI_HOME
# create the $ZITI_HOME/identites.json file - currently REQUIRED for the fabric
cat > ${ZITI_HOME}/identities.json <<IdentitiesJsonHereDoc
cat > ${ZITI_HOME}/identities.yml <<IdentitiesJsonHereDoc
---
default:
caCert: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_EDGE_CONTROLLER_HOSTNAME}-server.chain.pem
+11
View File
@@ -14,5 +14,16 @@ ziti-controller edge init "${ZITI_HOME}/controller.yaml" -u "${ZITI_USER}" -p "$
# create a place for the internal db
mkdir -p $ZITI_HOME/db
cat > ${ZITI_HOME}/identities.yml <<IdentitiesJsonHereDoc
---
default:
caCert: "${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_CONTROLLER_HOSTNAME}-server.chain.pem"
cert: "${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_NETWORK}-dotzeet.cert"
key: "${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/keys/${ZITI_NETWORK}-dotzeet.key"
endpoint: tls:${ZITI_CONTROLLER_HOSTNAME}:${ZITI_FAB_MGMT_PORT}
IdentitiesJsonHereDoc
ziti-controller run "${ZITI_HOME}/controller.yaml"
/openziti/pki/ziti-controller-intermediate/keys/ziti-dotzeet.key
@@ -1,4 +1,7 @@
#!/bin/bash
echo 'export ZITI_EDGE_ROUTER_RAWNAME="'"${ZITI_EDGE_ROUTER_RAWNAME}"'"' >> ziti.env
echo 'export ZITI_EDGE_ROUTER_HOSTNAME="'"${ZITI_EDGE_ROUTER_RAWNAME}${ZITI_DOMAIN_SUFFIX}"'"' >> ziti.env
. /openziti/ziti.env
until $(curl -s -o /dev/null --fail -k "https://${ZITI_EDGE_CONTROLLER_API}"); do
@@ -6,10 +9,19 @@ until $(curl -s -o /dev/null --fail -k "https://${ZITI_EDGE_CONTROLLER_API}"); d
sleep 2
done
if [[ "$1" == "wss" ]]; then
echo "CREATING WSS EDGE ROUTER"
"/openziti/create-wss-router-pki.sh"
else
echo "CREATING EDGE ROUTER"
"/openziti/create-router-pki.sh"
fi
echo "logging into ziti controller: ${ZITI_EDGE_API_HOSTNAME}"
ziti edge login "${ZITI_EDGE_CONTROLLER_API}" -u "${ZITI_USER}" -p "${ZITI_PWD}" -c "${ZITI_PKI}/${ZITI_EDGE_CONTROLLER_ROOTCA_NAME}/certs/${ZITI_EDGE_CONTROLLER_INTERMEDIATE_NAME}.cert"
echo "CREATING CONFIG"
#sleep 1000
"/openziti/create-edge-router-config.sh"
echo "---------- Creating edge-router ${ZITI_EDGE_ROUTER_HOSTNAME}...."
-68
View File
@@ -1,68 +0,0 @@
#!/bin/bash
${curdir}/create-controller-config.sh
${curdir}/create-edge-router-config.sh
${curdir}/create-edge-wss-router-config.sh
echo "
---
default:
caCert: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_CONTROLLER_HOSTNAME}-server.chain.pem
cert: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_NETWORK}-dotzeet.cert
key: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/keys/${ZITI_NETWORK}-dotzeet.key
endpoint: tls:${ZITI_CONTROLLER_HOSTNAME}:${ZITI_FAB_MGMT_PORT}
" > $ZITI_HOME/identities.yml
echo "v: 3
identity:
cert: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_ROUTER_BR_HOSTNAME}-client.cert
server_cert: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_ROUTER_BR_HOSTNAME}-server.cert
key: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/keys/${ZITI_ROUTER_BR_HOSTNAME}-server.key
ca: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_ROUTER_BR_HOSTNAME}-server.chain.pem
ctrl:
endpoint: tls:${ZITI_CONTROLLER_HOSTNAME}:${ZITI_FAB_CTRL_PORT}
link:
listener: tls:${ZITI_ROUTER_BR_HOSTNAME}:6001
" > $ZITI_HOME/${ZITI_ROUTER_BR_NAME}.yaml
echo "v: 3
identity:
cert: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_ROUTER_BLUE_HOSTNAME}-client.cert
server_cert: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_ROUTER_BLUE_HOSTNAME}-server.cert
key: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/keys/${ZITI_ROUTER_BLUE_HOSTNAME}-server.key
ca: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_ROUTER_BLUE_HOSTNAME}-server.chain.pem
ctrl:
endpoint: tls:${ZITI_CONTROLLER_HOSTNAME}:${ZITI_FAB_CTRL_PORT}
" > $ZITI_HOME/${ZITI_ROUTER_BLUE_NAME}.yaml
echo "v: 3
identity:
cert: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_ROUTER_RED_HOSTNAME}-client.cert
server_cert: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_ROUTER_RED_HOSTNAME}-server.cert
key: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/keys/${ZITI_ROUTER_RED_HOSTNAME}-server.key
ca: ${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_ROUTER_RED_HOSTNAME}-server.chain.pem
ctrl:
endpoint: tls:${ZITI_CONTROLLER_HOSTNAME}:${ZITI_FAB_CTRL_PORT}
listeners:
# example xgress_transport
- binding: transport
address: tls:0.0.0.0:7002
options:
retransmission: true
dialers:
- binding: transport
options:
retransmission: true
" > $ZITI_HOME/${ZITI_ROUTER_RED_NAME}.yaml
View File
@@ -56,10 +56,6 @@ function generateEnvFile {
export ZITI_EDGE_CONTROLLER_RAWNAME="${ZITI_NETWORK}"
export ZITI_ZAC_RAWNAME="${ZITI_NETWORK}"
export ZITI_EDGE_ROUTER_RAWNAME="${ZITI_NETWORK}"
export ZITI_EDGE_ROUTER_RAWNAME_WSS="${ZITI_NETWORK}"
export ZITI_ROUTER_BR_RAWNAME="${ZITI_NETWORK}"
export ZITI_ROUTER_BLUE_RAWNAME="${ZITI_NETWORK}"
export ZITI_ROUTER_RED_RAWNAME="${ZITI_NETWORK}"
export ZITI_HOME=${HOME}/.ziti/quickstart/${ZITI_NETWORK}
export ENV_FILE="${ZITI_HOME}/${ZITI_NETWORK}.env"
-116
View File
@@ -1,116 +0,0 @@
#!/bin/bash
commands_to_test=(ziti ziti-router ziti-controller bash tee jq curl cat dos2unix)
if [[ "" == "$1" ]]
then
echo " "
echo "USAGE: $0 <path to ziti binaries> <network name>"
echo " "
echo " Please provide the path to the ziti binaries"
exit 1
else
export PATH="$PATH:$1"
fi
# verify all the commands required in the automation exist before trying to run the full suite
for cmd in "${commands_to_test[@]}"
do
# checking all commands are on the path before continuing...
if ! [[ -x "$(command -v ${cmd})" ]]; then
missing_requirements="${missing_requirements} * ${cmd}\n"
fi
done
# are requirements ? if yes, stop here and help 'em out
if ! [[ "" = "${missing_requirements}" ]]; then
echo " "
echo "The commands listed below are required to be on the path for this script to function properly."
echo "Please ensure the commands listed are on the path and then try again."
printf "\n${missing_requirements}"
exit 1
fi
echo "All required commands are found - continuing"
echo "${missing_requirements}"
# set a variable to the location of the script running in case it's needed
export curdir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
# if no network name is supplied, use the current user name as the network name
if [[ "" == "$2" ]]
then
export network_name="${USER}"
else
export network_name="$2"
fi
echo "Network name set to: ${network_name}"
. ${curdir}/env.sh
echo "This script relies on the following hosts being active on your network and since this is a local"
echo "installation it expects them all to be at localhost/127.0.0.1. Please make sure the following"
echo "entries are in your hosts file before continuing:"
echo " - ${ZITI_CONTROLLER_HOSTNAME}"
echo " - ${ZITI_EDGE_CONTROLLER_HOSTNAME}"
echo " - ${ZITI_ZAC_HOSTNAME}"
echo " - ${ZITI_EDGE_ROUTER_HOSTNAME}"
echo " - ${ZITI_EDGE_WSS_ROUTER_HOSTNAME}"
echo " - ${ZITI_ROUTER_BR_HOSTNAME}"
echo " - ${ZITI_ROUTER_BLUE_HOSTNAME}"
echo " - ${ZITI_ROUTER_RED_HOSTNAME}"
echo ""
echo " example:"
echo " 127.0.0.1 ${ZITI_CONTROLLER_HOSTNAME} ${ZITI_EDGE_CONTROLLER_HOSTNAME} ${ZITI_ZAC_HOSTNAME} ${ZITI_EDGE_ROUTER_HOSTNAME} ${ZITI_EDGE_WSS_ROUTER_HOSTNAME} ${ZITI_ROUTER_BR_HOSTNAME} ${ZITI_ROUTER_BLUE_HOSTNAME} ${ZITI_ROUTER_RED_HOSTNAME}"
echo ""
DIRNAME=$(dirname $0)
[[ ${USE_DNSMASQ:-} -eq 1 ]] && source ${DIRNAME}/run-dns.sh
while true; do
read -p "Are the hosts in your hosts file? " yn
case $yn in
[Yy]* )
break;;
[Nn]* )
echo ""; echo "Ok - come back when you're ready."
exit;;
* ) echo "Please answer yes or no. (yes/NO)";;
esac
done
mkdir -p $ZITI_HOME
cd $ZITI_HOME
if [ -d "${ZITI_PKI}/${ZITI_CONTROLLER_ROOTCA_NAME}" ]
then
echo "Reusing existing PKI...."
else
echo "Generating PKI"
. ${curdir}/create-pki.sh
fi
. ${curdir}/create-config-files.sh
. ${curdir}/prep-ziti.sh
. ${curdir}/start-ziti.sh
. ${curdir}/test-ziti.sh
echo "starting a new bash shell to retain all environment variables without polluting the initial shell"
bash --rcfile <(cat << HERE
. ~/.bashrc
. ~/.bash_aliases
export PS1="ZITI IS RUNNING ${network_name}: "
echo "adding pki-functions to bash shell"
. ${curdir}/pki-functions.sh
alias zec='ziti edge'
alias zlogin='ziti edge login "${ZITI_EDGE_CONTROLLER_API}" -u "${ZITI_USER}" -p "${ZITI_PWD}" -c "${ZITI_PKI}/${ZITI_EDGE_CONTROLLER_ROOTCA_NAME}/certs/${ZITI_EDGE_CONTROLLER_INTERMEDIATE_NAME}.cert"'
alias psz='ps -ef | grep ziti'
echo "generating env file"
for f in $(env); do if [[ $f = ZITI_* ]]; then echo "export $f" >> make-env.sh ; fi; done
HERE
)
-44
View File
@@ -1,44 +0,0 @@
# if needed, initialize the controller
ziti-controller edge init "${ZITI_HOME}/controller.yaml" -u "${ZITI_USER}" -p "${ZITI_PWD}"
mkdir -p ${ZITI_HOME}
sleep 1
# run the controller
ziti-controller run "${ZITI_HOME}/controller.yaml" > "${ZITI_HOME}/ziti-controller.log" 2>&1 &
# wait for the controller to come up...
sleep 2
ziti edge login "${ZITI_EDGE_CONTROLLER_API}" -u "${ZITI_USER}" -p "${ZITI_PWD}" -c "${ZITI_PKI}/${ZITI_EDGE_CONTROLLER_ROOTCA_NAME}/certs/${ZITI_EDGE_CONTROLLER_INTERMEDIATE_NAME}.cert"
ziti edge create edge-router-policy allEdgeRouters --edge-router-roles '#all' --identity-roles '#all'
ziti edge create service-edge-router-policy allSvcRouter --edge-router-roles '#all' --service-roles '#all'
sleep 1
ziti-fabric create router "${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_ROUTER_BR_HOSTNAME}-client.cert"
ziti-fabric create router "${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_ROUTER_BLUE_HOSTNAME}-client.cert"
ziti-fabric create router "${ZITI_PKI}/${ZITI_CONTROLLER_INTERMEDIATE_NAME}/certs/${ZITI_ROUTER_RED_HOSTNAME}-client.cert"
sleep 1
echo "---------- Creating edge-router ${ZITI_EDGE_ROUTER_HOSTNAME}...."
ziti edge create edge-router "${ZITI_EDGE_ROUTER_HOSTNAME}" -o "${ZITI_HOME}/${ZITI_EDGE_ROUTER_HOSTNAME}.jwt"
echo "--- DONE"
echo ""
echo "---------- Enrolling edge-router ${ZITI_EDGE_ROUTER_HOSTNAME}...."
ziti-router enroll "${ZITI_HOME}/${ZITI_EDGE_ROUTER_HOSTNAME}.yaml" --jwt "${ZITI_HOME}/${ZITI_EDGE_ROUTER_HOSTNAME}.jwt"
echo "--- DONE"
echo ""
echo "---------- Creating edge-router ${ZITI_EDGE_WSS_ROUTER_HOSTNAME}...."
ziti edge create edge-router "${ZITI_EDGE_WSS_ROUTER_HOSTNAME}" -o "${ZITI_HOME}/${ZITI_EDGE_WSS_ROUTER_HOSTNAME}.jwt"
echo "--- DONE"
echo ""
echo "---------- Enrolling edge-router ${ZITI_EDGE_WSS_ROUTER_HOSTNAME}...."
ziti-router enroll "${ZITI_HOME}/${ZITI_EDGE_WSS_ROUTER_HOSTNAME}.yaml" --jwt "${ZITI_HOME}/${ZITI_EDGE_WSS_ROUTER_HOSTNAME}.jwt"
echo "--- DONE"
echo ""