62 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| set -e
 | |
| 
 | |
| script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}"  )" >/dev/null 2>&1 && pwd )"
 | |
| 
 | |
| grpc_domain=localhost
 | |
| grpc_port=50051
 | |
| pccs_url="https://localhost:8081/sgx/certification/v3/"
 | |
| registry="demo"
 | |
| tag="latest"
 | |
| 
 | |
| function usage {
 | |
|     cat << EOM
 | |
| Run container images init_ra_server and tf_demo on background.
 | |
| usage: $(basename "$0") [OPTION]...
 | |
|     -s <GRPC Server Domain> default localhost.
 | |
|     -p <GRPC Server port> default 50051.
 | |
|     -u <PCCS URL> default https://localhost:8081/sgx/certification/v3/.
 | |
|     -r <registry prefix> the registry for this demo container images.
 | |
|     -g <image tag> the container images tag, default it is "latest".
 | |
|     -h <usage> usage help
 | |
| EOM
 | |
|     exit 0
 | |
| }
 | |
| 
 | |
| function process_args {
 | |
|     while getopts ":s:p:u:r:g:h" option; do
 | |
|         case "${option}" in
 | |
|             s) grpc_domain=${OPTARG};;
 | |
|             p) grpc_port=${OPTARG};;
 | |
|             u) pccs_url=${OPTARG};;
 | |
|             r) registry=${OPTARG};;
 | |
|             g) tag=${OPTARG};;
 | |
|             h) usage;;
 | |
|         esac
 | |
|     done
 | |
| }
 | |
| 
 | |
| process_args "$@"
 | |
| 
 | |
| echo "Start GRPC server on backgound ..."
 | |
| 
 | |
| docker run --network host \
 | |
|         --device /dev/sgx/enclave --device /dev/sgx/provision \
 | |
|         --env PCCS_URL=${pccs_url} \
 | |
|         ${registry}/init_ra_server:${tag} \
 | |
|         occlum run /bin/server ${grpc_domain}:${grpc_port} &
 | |
| 
 | |
| sleep 3
 | |
| 
 | |
| echo "Start Tensorflow-Serving on backgound ..."
 | |
| GRPC_SERVER="${grpc_domain}:${grpc_port}"
 | |
| 
 | |
| docker run --network host \
 | |
|         --device /dev/sgx/enclave --device /dev/sgx/provision \
 | |
|         --env PCCS_URL=${pccs_url} \
 | |
|         --env OCCLUM_INIT_RA_KMS_SERVER="${GRPC_SERVER}" \
 | |
|         ${registry}/tf_demo:${tag} \
 | |
|         taskset -c 0,1 occlum run /bin/tensorflow_model_server \
 | |
|         --model_name=resnet --model_base_path=/models/resnet \
 | |
|         --port=9000 --ssl_config_file="/etc/tf_ssl.cfg" &
 |