mirror of
https://github.com/hyperledger/fabric-samples.git
synced 2026-06-17 15:35:09 +00:00
Signed-off-by: AadithyanRaju <aadithyan75@gmail.com> Signed-off-by: Aadithyan Raju <93834376+AadithyanRaju@users.noreply.github.com>
113 lines
3 KiB
Bash
Executable file
113 lines
3 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
set -v -eou pipefail
|
|
|
|
# All tests run in the workshop root folder
|
|
cd "$(dirname "$0")"/..
|
|
|
|
# Clean house on exit
|
|
function exitHook() {
|
|
|
|
# Just in case the just left some bits running around
|
|
kind delete cluster --name kind
|
|
|
|
# Just in case ...
|
|
if docker inspect kind-registry &>/dev/null; then
|
|
echo "Stopping container registry"
|
|
docker kill kind-registry
|
|
docker rm kind-registry
|
|
fi
|
|
|
|
# Delete the sample network configuration and crypto material
|
|
rm -rf "${WORKSHOP_PATH}"/_cfg
|
|
}
|
|
|
|
trap exitHook SIGINT SIGTERM EXIT
|
|
|
|
|
|
###############################################################################
|
|
# 00-setup
|
|
###############################################################################
|
|
|
|
curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/main/scripts/install-fabric.sh | bash -s -- binary
|
|
|
|
export WORKSHOP_PATH="${PWD}"
|
|
export PATH="${WORKSHOP_PATH}/bin:${PATH}"
|
|
export FABRIC_CFG_PATH="${WORKSHOP_PATH}/config"
|
|
|
|
"${WORKSHOP_PATH}/check.sh"
|
|
|
|
|
|
###############################################################################
|
|
# 10-kube
|
|
###############################################################################
|
|
|
|
# env checks
|
|
[[ ${WORKSHOP_PATH+x} ]] || exit 1
|
|
[[ ${FABRIC_CFG_PATH+x} ]] || exit 1
|
|
|
|
just check-setup
|
|
|
|
# Set the ingress domain and target k8s namespace
|
|
export WORKSHOP_INGRESS_DOMAIN=localho.st
|
|
export WORKSHOP_NAMESPACE=fabricinfra
|
|
|
|
|
|
# Create a Kubernetes cluster in Docker, configure an Nginx ingress, and docker container registry
|
|
just kind
|
|
|
|
# KIND will set the current kube client context in ~/.kube/config
|
|
kubectl cluster-info
|
|
|
|
# Run k9s to observe the target namespace
|
|
# k9s -n $WORKSHOP_NAMESPACE
|
|
|
|
|
|
|
|
###############################################################################
|
|
# 20-fabric
|
|
###############################################################################
|
|
|
|
# Clear out any certs from a prior run, just in case
|
|
rm -rf ${WORKSHOP_PATH}/_cfg
|
|
|
|
just check-kube
|
|
|
|
|
|
# env checks
|
|
[[ ${WORKSHOP_PATH+x} ]] || exit 1
|
|
[[ ${FABRIC_CFG_PATH+x} ]] || exit 1
|
|
[[ ${WORKSHOP_INGRESS_DOMAIN+x} ]] || exit 1
|
|
[[ ${WORKSHOP_NAMESPACE+x} ]] || exit 1
|
|
|
|
# check Nginx ingress
|
|
kubectl -n ingress-nginx get all
|
|
kubectl -n ingress-nginx get deployment.apps/ingress-nginx-controller
|
|
|
|
curl http://${WORKSHOP_INGRESS_DOMAIN}
|
|
curl --insecure https://${WORKSHOP_INGRESS_DOMAIN}:443
|
|
|
|
# Bring up the operator and console
|
|
just ansible-review-config
|
|
|
|
just ansible-ingress
|
|
|
|
just ansible-operator
|
|
|
|
just ansible-console
|
|
|
|
# Bring up the fabric network with ansible
|
|
# Unfortunately, the GHA executors do not have enough RAM to run the full network setup.
|
|
# We can at least check that the operator and console came up OK.
|
|
# just ansible-network
|
|
|
|
|
|
# Operator running?
|
|
kubectl -n ${WORKSHOP_NAMESPACE} get deployment fabric-operator
|
|
|
|
# Console running?
|
|
kubectl -n ${WORKSHOP_NAMESPACE} get deployment hlf-console
|
|
|
|
# Console listening at the Nginx ingress?
|
|
curl --fail --insecure https://${WORKSHOP_NAMESPACE}-hlf-console-console.${WORKSHOP_INGRESS_DOMAIN}/
|
|
|