Loading go-apps/meep-iot-pltf/tinyiot-mn-cse/entrypoint.sh +120 −102 Original line number Diff line number Diff line Loading @@ -2,41 +2,19 @@ set -e MQTT_ENABLE=${MQTT_ENABLE:-1} # Process MEEP_HOST_URL SERVER_IP="${MEEP_HOST_URL#http://}"; MEEP_HOST_URL="${MEEP_HOST_URL#https://}" # ========== KUBERNETES API QUERIES COMMENTED OUT ========== # These queries return null in this environment. # Instead, use Kubernetes auto-injected environment variables or Helm-injected values. # # MEEP_SANDBOX_NAME # SERVICE_NAME="meep-tinyiot-in-cse" # # Get the namespace from the service account # NAMESPACE=$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace) # # Get the token from the service account # TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token) # # Query the Kubernetes API to get the NodePort for the service # NODE_PORT_IN_CSE=$(curl -sSk \ # -H "Authorization: Bearer $TOKEN" \ # https://kubernetes.default.svc/api/v1/namespaces/$NAMESPACE/services/$SERVICE_NAME \ # | jq -r '.spec.ports[0].nodePort') # echo "External NodePort exposed for service [$SERVICE_NAME] in namespace [$NAMESPACE] is: $NODE_PORT_IN_CSE" # SERVICE_NAME="meep-mosquitto" # NODE_PORT_MEEP_MOSQUITTO=$(curl -sSk \ # -H "Authorization: Bearer $TOKEN" \ # https://kubernetes.default.svc/api/v1/namespaces/$NAMESPACE/services/$SERVICE_NAME \ # | jq -r '.spec.ports[0].nodePort') # echo "External NodePort exposed for service [$SERVICE_NAME] in namespace [$NAMESPACE] is: $NODE_PORT_MEEP_MOSQUITTO" # ------------------------------------------------------------------ # MEEP / MEC injected variables # ------------------------------------------------------------------ echo "Using Helm-injected and Kubernetes auto-injected environment variables instead of API queries" echo "MEEP_HOST_URL: ${MEEP_HOST_URL}" echo "MEEP_MEP_NAME: ${MEEP_MEP_NAME}" echo "MEEP_SANDBOX_NAME: ${MEEP_SANDBOX_NAME}" echo "MEEP_INSTANCE_ID: ${MEEP_INSTANCE_ID}" # REMOTE_CSE_HOST=$(curl -sSk \ # -H "Authorization: Bearer $TOKEN" \ # https://kubernetes.default.svc/api/v1/namespaces/$NAMESPACE/services/$SERVICE_NAME \ # | jq -r '.spec.clusterIP') # Normalize host without modifying original MEEP_HOST_URL SERVER_IP="${MEEP_HOST_URL#http://}" SERVER_IP="${SERVER_IP#https://}" if [[ ! -z "${MEEP_MEP_NAME}" ]]; then svcPath="${MEEP_SANDBOX_NAME}/${MEEP_MEP_NAME}" Loading @@ -44,44 +22,56 @@ else svcPath="${MEEP_SANDBOX_NAME}" fi if [ "${MEEP_HOST_URL}" == "" ] then if [ -z "${MEEP_HOST_URL}" ]; then echo "$0: MEEP_HOST_URL parameter is not set" MEEP_HOST_URL=mec-platform.etsi.org MEEP_HOST_URL="mec-platform.etsi.org" fi sleep 30 # Wait for ETSI MEC Platform and IN-CSE to be up and stable MQTT_ENABLE=${MQTT_ENABLE:-1} # Use Helm-injected values or Kubernetes auto-injected variables # ------------------------------------------------------------------ # MQTT Configuration # ------------------------------------------------------------------ MQTT_HOST=${MQTT_HOST:-${MEP1_MEEP_MOSQUITTO_SERVICE_HOST:-${MEEP_MOSQUITTO_SERVICE_HOST:-"meep-mosquitto"}}} MQTT_PORT=${MQTT_PORT:-1883} SERVER_IP=${SERVER_IP:-"0.0.0.0"} [ -z "$SERVER_IP" ] && SERVER_IP="0.0.0.0" SERVER_IP="${SERVER_IP:-0.0.0.0}" SERVER_PORT=${SERVER_PORT:-3005} [ -z "$SERVER_PORT" ] && SERVER_PORT="3005" ENABLE_COAP=${ENABLE_COAP:-0} CSE_BASE_NAME=${CSE_BASE_NAME:-"id-mn"} CSE_BASE_RI=${CSE_BASE_RI:-"id-mn"} SERVER_TYPE=${SERVER_TYPE:- MN_CSE} [ -z "$SERVER_TYPE" ] && SERVER_TYPE="MN_CSE" # MQTT_USERNAME=${MQTT_USERNAME:-"tinyiot-mn-cse"} # MQTT_PASSWORD=${MQTT_PASSWORD:-"mqtt"} SERVER_TYPE=${SERVER_TYPE:-"MN_CSE"} MQTT_USERNAME=${MQTT_USERNAME:-"tinyiot-mn-cse"} MQTT_PASSWORD=${MQTT_PASSWORD:-"mqtt"} echo "MQTT_USERNAME: ${MQTT_USERNAME}" echo "MQTT_PASSWORD: ${MQTT_PASSWORD}" # ------------------------------------------------------------------ # Remote IN-CSE Configuration # ------------------------------------------------------------------ REMOTE_CSE_HOST=${REMOTE_CSE_HOST:-${MEEP_TINYIOT_IN_CSE_SERVICE_HOST:-"meep-tinyiot-in-cse"}} REMOTE_CSE_PORT=${REMOTE_CSE_PORT:-${MEEP_TINY_IN_CSE_SERVICE_PORT:-3002}} REMOTE_CSE_ID=${REMOTE_CSE_ID:-"TinyIoT"} REMOTE_CSE_NAME=${REMOTE_CSE_NAME:-"tinyiot"} # ------------------------------------------------------------------ # MEC Configuration # ------------------------------------------------------------------ MEC_ENABLE=${MEC_ENABLE:-1} # Strip http:// or https:// prefix from MEEP_HOST_URL for MEC_HOST_URL MEC_HOST_URL=$(echo "${MEEP_HOST_URL:-meep-platform.etsi.org}" | sed 's|https\?://||') [ -z "$MEC_HOST_URL" ] && MEC_HOST_URL="meep-platform.etsi.org" MEC_PLATFORM=${MEC_PLATFORM:-"mep1"} MEC_HOST_URL=${SERVER_IP} [ -z "$MEC_HOST_URL" ] && MEC_HOST_URL="mec-platform.etsi.org" MEC_PLATFORM=${MEEP_MEP_NAME:-${MEC_PLATFORM:-"mep1"}} MEC_SANDBOX_ID=${MEEP_SANDBOX_NAME:-"meep-sandbox"} MEC_APP_INSTANCE_ID=${MEEP_INSTANCE_ID:-"tinyiot-mn-cse-instance"} MEC_HTTP_HOST=${MEC_HTTP_HOST:-"meep-tinyiot-mn-cse"} # ------------------------------------------------------------------ # Environment Dump # ------------------------------------------------------------------ echo "ENVIRONMENT VARIABLES SET:" echo "SERVER_IP: ${SERVER_IP}" echo "SERVER_TYPE: ${SERVER_TYPE}" Loading @@ -101,73 +91,101 @@ echo "MEC_ENABLE: ${MEC_ENABLE}" echo "MEC_HOST_URL: ${MEC_HOST_URL}" echo "MEC_PLATFORM: ${MEC_PLATFORM}" echo "MEC_SANDBOX_ID: ${MEC_SANDBOX_ID}" export MQTT_ENABLE export MQTT_HOST export MQTT_PORT export MQTT_USERNAME export MQTT_PASSWORD export SERVER_PORT export SERVER_TYPE export SERVER_IP export ENABLE_COAP export CSE_BASE_NAME export CSE_BASE_RI export REMOTE_CSE_ID export REMOTE_CSE_NAME export REMOTE_CSE_HOST export REMOTE_CSE_PORT export MEC_ENABLE export MEC_HOST_URL export MEC_PLATFORM export MEC_SANDBOX_ID export MEC_HTTP_HOST echo "MEC_APP_INSTANCE_ID: ${MEC_APP_INSTANCE_ID}" echo "MEC_HTTP_HOST: ${MEC_HTTP_HOST}" # ------------------------------------------------------------------ # Export Variables # ------------------------------------------------------------------ export MQTT_ENABLE MQTT_HOST MQTT_PORT MQTT_USERNAME MQTT_PASSWORD export SERVER_PORT SERVER_TYPE SERVER_IP export ENABLE_COAP CSE_BASE_NAME CSE_BASE_RI export REMOTE_CSE_ID REMOTE_CSE_NAME REMOTE_CSE_HOST REMOTE_CSE_PORT export MEC_ENABLE MEC_HOST_URL MEC_PLATFORM MEC_SANDBOX_ID MEC_APP_INSTANCE_ID MEC_HTTP_HOST # ------------------------------------------------------------------ # Build TinyIoT # ------------------------------------------------------------------ workdir="/usr/src/app/tinyIoT/server" cd "$workdir" || { echo "Directory $workdir not found"; exit 1; } cd "$workdir" || { echo "Directory $workdir not found" exit 1 } envsubst < config.h.in > config.h make clean && make # Start server in background # ------------------------------------------------------------------ # Start TinyIoT Server # ------------------------------------------------------------------ ./server & SERVER_PID=$! # Register to MEC platform after server is ready if [ "${MEC_ENABLE}" == "1" ]; then # ------------------------------------------------------------------ # Register to MEC Platform # ------------------------------------------------------------------ if [ "${MEC_ENABLE}" = "1" ]; then sleep 5 echo "Registering to MEC platform..." curl -k -s -X POST "https://${MEC_HOST_URL}/${MEC_SANDBOX_ID}/${MEC_PLATFORM}/iots/v1/registered_iot_platforms" \ curl -k -s -X POST \ "https://${MEC_HOST_URL}/${MEC_SANDBOX_ID}/${MEC_PLATFORM}/iots/v1/registered_iot_platforms" \ -H "Content-Type: application/json" \ -d "{ \"iotPlatformId\": \"${CSE_BASE_RI}\", \"userTransportInfo\": [{ \"id\": \"${CSE_BASE_RI}-mqtt-01\", \"name\": \"${CSE_BASE_RI}\", \"description\": \"TinyIoT CSE MQTT\", \"type\": \"MB_TOPIC_BASED\", \"protocol\": \"MQTT\", \"version\": \"3.1.1\", \"endpoint\": {\"addresses\": [{\"host\": \"meep-cloud-mosquitto\", \"port\": 1883}]}, \"security\": {\"username\": \"${MQTT_USERNAME}\", \"password\": \"${MQTT_PASSWORD}\", \"useTLS\": false}, \"implSpecificInfo\": { \"eventTopics\": [\"/oneM2M/req/+/${CSE_BASE_RI}/#\"], \"uplinkTopics\": [\"/oneM2M/resp/${CSE_BASE_RI}/+/#\"], \"downlinkTopics\": [\"/oneM2M/reg_req/+/${CSE_BASE_RI}/#\", \"/oneM2M/reg_resp/${CSE_BASE_RI}/+/#\"] -d '{ "iotPlatformId": "'"${CSE_BASE_RI}"'", "userTransportInfo": [{ "id": "'"${CSE_BASE_RI}"'-mqtt-01", "name": "'"${CSE_BASE_RI}"'", "description": "TinyIoT CSE MQTT", "type": "MB_TOPIC_BASED", "protocol": "MQTT", "version": "3.1.1", "endpoint": { "addresses": [{ "host": "'"${MQTT_HOST}"'", "port": '"${MQTT_PORT}"' }] }, "security": { "username": "'"${MQTT_USERNAME}"'", "password": "'"${MQTT_PASSWORD}"'", "useTLS": false }, "implSpecificInfo": { "eventTopics": [ "/oneM2M/req/+/'"${CSE_BASE_RI}"'/#" ], "uplinkTopics": [ "/oneM2M/resp/'"${CSE_BASE_RI}"'/+/#" ], "downlinkTopics": [ "/oneM2M/reg_req/+/'"${CSE_BASE_RI}"'/#", "/oneM2M/reg_resp/'"${CSE_BASE_RI}"'/+/#" ] } }], \"customServicesTransportInfo\": [{ \"id\": \"${CSE_BASE_RI}-http-01\", \"name\": \"${CSE_BASE_RI}\", \"description\": \"TinyIoT CSE HTTP\", \"type\": \"REST_HTTP\", \"protocol\": \"REST_HTTP\", \"version\": \"1.1\", \"endpoint\": {\"addresses\": [{\"host\": \"${MEC_HTTP_HOST}\", \"port\": ${SERVER_PORT}}]}, \"security\": {} "customServicesTransportInfo": [{ "id": "'"${CSE_BASE_RI}"'-http-01", "name": "'"${CSE_BASE_RI}"'", "description": "TinyIoT CSE HTTP", "type": "REST_HTTP", "protocol": "REST_HTTP", "version": "1.1", "endpoint": { "addresses": [{ "host": "'"${MEC_HTTP_HOST}"'", "port": '"${SERVER_PORT}"' }] }, "security": {} }], \"enabled\": true }" && echo "MEC registration successful" || echo "MEC registration failed (non-fatal)" "enabled": true }' \ && echo "MEC registration successful" \ || echo "MEC registration failed (non-fatal)" fi # Wait for server process # ------------------------------------------------------------------ # Wait for Server Process # ------------------------------------------------------------------ wait $SERVER_PID No newline at end of file Loading
go-apps/meep-iot-pltf/tinyiot-mn-cse/entrypoint.sh +120 −102 Original line number Diff line number Diff line Loading @@ -2,41 +2,19 @@ set -e MQTT_ENABLE=${MQTT_ENABLE:-1} # Process MEEP_HOST_URL SERVER_IP="${MEEP_HOST_URL#http://}"; MEEP_HOST_URL="${MEEP_HOST_URL#https://}" # ========== KUBERNETES API QUERIES COMMENTED OUT ========== # These queries return null in this environment. # Instead, use Kubernetes auto-injected environment variables or Helm-injected values. # # MEEP_SANDBOX_NAME # SERVICE_NAME="meep-tinyiot-in-cse" # # Get the namespace from the service account # NAMESPACE=$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace) # # Get the token from the service account # TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token) # # Query the Kubernetes API to get the NodePort for the service # NODE_PORT_IN_CSE=$(curl -sSk \ # -H "Authorization: Bearer $TOKEN" \ # https://kubernetes.default.svc/api/v1/namespaces/$NAMESPACE/services/$SERVICE_NAME \ # | jq -r '.spec.ports[0].nodePort') # echo "External NodePort exposed for service [$SERVICE_NAME] in namespace [$NAMESPACE] is: $NODE_PORT_IN_CSE" # SERVICE_NAME="meep-mosquitto" # NODE_PORT_MEEP_MOSQUITTO=$(curl -sSk \ # -H "Authorization: Bearer $TOKEN" \ # https://kubernetes.default.svc/api/v1/namespaces/$NAMESPACE/services/$SERVICE_NAME \ # | jq -r '.spec.ports[0].nodePort') # echo "External NodePort exposed for service [$SERVICE_NAME] in namespace [$NAMESPACE] is: $NODE_PORT_MEEP_MOSQUITTO" # ------------------------------------------------------------------ # MEEP / MEC injected variables # ------------------------------------------------------------------ echo "Using Helm-injected and Kubernetes auto-injected environment variables instead of API queries" echo "MEEP_HOST_URL: ${MEEP_HOST_URL}" echo "MEEP_MEP_NAME: ${MEEP_MEP_NAME}" echo "MEEP_SANDBOX_NAME: ${MEEP_SANDBOX_NAME}" echo "MEEP_INSTANCE_ID: ${MEEP_INSTANCE_ID}" # REMOTE_CSE_HOST=$(curl -sSk \ # -H "Authorization: Bearer $TOKEN" \ # https://kubernetes.default.svc/api/v1/namespaces/$NAMESPACE/services/$SERVICE_NAME \ # | jq -r '.spec.clusterIP') # Normalize host without modifying original MEEP_HOST_URL SERVER_IP="${MEEP_HOST_URL#http://}" SERVER_IP="${SERVER_IP#https://}" if [[ ! -z "${MEEP_MEP_NAME}" ]]; then svcPath="${MEEP_SANDBOX_NAME}/${MEEP_MEP_NAME}" Loading @@ -44,44 +22,56 @@ else svcPath="${MEEP_SANDBOX_NAME}" fi if [ "${MEEP_HOST_URL}" == "" ] then if [ -z "${MEEP_HOST_URL}" ]; then echo "$0: MEEP_HOST_URL parameter is not set" MEEP_HOST_URL=mec-platform.etsi.org MEEP_HOST_URL="mec-platform.etsi.org" fi sleep 30 # Wait for ETSI MEC Platform and IN-CSE to be up and stable MQTT_ENABLE=${MQTT_ENABLE:-1} # Use Helm-injected values or Kubernetes auto-injected variables # ------------------------------------------------------------------ # MQTT Configuration # ------------------------------------------------------------------ MQTT_HOST=${MQTT_HOST:-${MEP1_MEEP_MOSQUITTO_SERVICE_HOST:-${MEEP_MOSQUITTO_SERVICE_HOST:-"meep-mosquitto"}}} MQTT_PORT=${MQTT_PORT:-1883} SERVER_IP=${SERVER_IP:-"0.0.0.0"} [ -z "$SERVER_IP" ] && SERVER_IP="0.0.0.0" SERVER_IP="${SERVER_IP:-0.0.0.0}" SERVER_PORT=${SERVER_PORT:-3005} [ -z "$SERVER_PORT" ] && SERVER_PORT="3005" ENABLE_COAP=${ENABLE_COAP:-0} CSE_BASE_NAME=${CSE_BASE_NAME:-"id-mn"} CSE_BASE_RI=${CSE_BASE_RI:-"id-mn"} SERVER_TYPE=${SERVER_TYPE:- MN_CSE} [ -z "$SERVER_TYPE" ] && SERVER_TYPE="MN_CSE" # MQTT_USERNAME=${MQTT_USERNAME:-"tinyiot-mn-cse"} # MQTT_PASSWORD=${MQTT_PASSWORD:-"mqtt"} SERVER_TYPE=${SERVER_TYPE:-"MN_CSE"} MQTT_USERNAME=${MQTT_USERNAME:-"tinyiot-mn-cse"} MQTT_PASSWORD=${MQTT_PASSWORD:-"mqtt"} echo "MQTT_USERNAME: ${MQTT_USERNAME}" echo "MQTT_PASSWORD: ${MQTT_PASSWORD}" # ------------------------------------------------------------------ # Remote IN-CSE Configuration # ------------------------------------------------------------------ REMOTE_CSE_HOST=${REMOTE_CSE_HOST:-${MEEP_TINYIOT_IN_CSE_SERVICE_HOST:-"meep-tinyiot-in-cse"}} REMOTE_CSE_PORT=${REMOTE_CSE_PORT:-${MEEP_TINY_IN_CSE_SERVICE_PORT:-3002}} REMOTE_CSE_ID=${REMOTE_CSE_ID:-"TinyIoT"} REMOTE_CSE_NAME=${REMOTE_CSE_NAME:-"tinyiot"} # ------------------------------------------------------------------ # MEC Configuration # ------------------------------------------------------------------ MEC_ENABLE=${MEC_ENABLE:-1} # Strip http:// or https:// prefix from MEEP_HOST_URL for MEC_HOST_URL MEC_HOST_URL=$(echo "${MEEP_HOST_URL:-meep-platform.etsi.org}" | sed 's|https\?://||') [ -z "$MEC_HOST_URL" ] && MEC_HOST_URL="meep-platform.etsi.org" MEC_PLATFORM=${MEC_PLATFORM:-"mep1"} MEC_HOST_URL=${SERVER_IP} [ -z "$MEC_HOST_URL" ] && MEC_HOST_URL="mec-platform.etsi.org" MEC_PLATFORM=${MEEP_MEP_NAME:-${MEC_PLATFORM:-"mep1"}} MEC_SANDBOX_ID=${MEEP_SANDBOX_NAME:-"meep-sandbox"} MEC_APP_INSTANCE_ID=${MEEP_INSTANCE_ID:-"tinyiot-mn-cse-instance"} MEC_HTTP_HOST=${MEC_HTTP_HOST:-"meep-tinyiot-mn-cse"} # ------------------------------------------------------------------ # Environment Dump # ------------------------------------------------------------------ echo "ENVIRONMENT VARIABLES SET:" echo "SERVER_IP: ${SERVER_IP}" echo "SERVER_TYPE: ${SERVER_TYPE}" Loading @@ -101,73 +91,101 @@ echo "MEC_ENABLE: ${MEC_ENABLE}" echo "MEC_HOST_URL: ${MEC_HOST_URL}" echo "MEC_PLATFORM: ${MEC_PLATFORM}" echo "MEC_SANDBOX_ID: ${MEC_SANDBOX_ID}" export MQTT_ENABLE export MQTT_HOST export MQTT_PORT export MQTT_USERNAME export MQTT_PASSWORD export SERVER_PORT export SERVER_TYPE export SERVER_IP export ENABLE_COAP export CSE_BASE_NAME export CSE_BASE_RI export REMOTE_CSE_ID export REMOTE_CSE_NAME export REMOTE_CSE_HOST export REMOTE_CSE_PORT export MEC_ENABLE export MEC_HOST_URL export MEC_PLATFORM export MEC_SANDBOX_ID export MEC_HTTP_HOST echo "MEC_APP_INSTANCE_ID: ${MEC_APP_INSTANCE_ID}" echo "MEC_HTTP_HOST: ${MEC_HTTP_HOST}" # ------------------------------------------------------------------ # Export Variables # ------------------------------------------------------------------ export MQTT_ENABLE MQTT_HOST MQTT_PORT MQTT_USERNAME MQTT_PASSWORD export SERVER_PORT SERVER_TYPE SERVER_IP export ENABLE_COAP CSE_BASE_NAME CSE_BASE_RI export REMOTE_CSE_ID REMOTE_CSE_NAME REMOTE_CSE_HOST REMOTE_CSE_PORT export MEC_ENABLE MEC_HOST_URL MEC_PLATFORM MEC_SANDBOX_ID MEC_APP_INSTANCE_ID MEC_HTTP_HOST # ------------------------------------------------------------------ # Build TinyIoT # ------------------------------------------------------------------ workdir="/usr/src/app/tinyIoT/server" cd "$workdir" || { echo "Directory $workdir not found"; exit 1; } cd "$workdir" || { echo "Directory $workdir not found" exit 1 } envsubst < config.h.in > config.h make clean && make # Start server in background # ------------------------------------------------------------------ # Start TinyIoT Server # ------------------------------------------------------------------ ./server & SERVER_PID=$! # Register to MEC platform after server is ready if [ "${MEC_ENABLE}" == "1" ]; then # ------------------------------------------------------------------ # Register to MEC Platform # ------------------------------------------------------------------ if [ "${MEC_ENABLE}" = "1" ]; then sleep 5 echo "Registering to MEC platform..." curl -k -s -X POST "https://${MEC_HOST_URL}/${MEC_SANDBOX_ID}/${MEC_PLATFORM}/iots/v1/registered_iot_platforms" \ curl -k -s -X POST \ "https://${MEC_HOST_URL}/${MEC_SANDBOX_ID}/${MEC_PLATFORM}/iots/v1/registered_iot_platforms" \ -H "Content-Type: application/json" \ -d "{ \"iotPlatformId\": \"${CSE_BASE_RI}\", \"userTransportInfo\": [{ \"id\": \"${CSE_BASE_RI}-mqtt-01\", \"name\": \"${CSE_BASE_RI}\", \"description\": \"TinyIoT CSE MQTT\", \"type\": \"MB_TOPIC_BASED\", \"protocol\": \"MQTT\", \"version\": \"3.1.1\", \"endpoint\": {\"addresses\": [{\"host\": \"meep-cloud-mosquitto\", \"port\": 1883}]}, \"security\": {\"username\": \"${MQTT_USERNAME}\", \"password\": \"${MQTT_PASSWORD}\", \"useTLS\": false}, \"implSpecificInfo\": { \"eventTopics\": [\"/oneM2M/req/+/${CSE_BASE_RI}/#\"], \"uplinkTopics\": [\"/oneM2M/resp/${CSE_BASE_RI}/+/#\"], \"downlinkTopics\": [\"/oneM2M/reg_req/+/${CSE_BASE_RI}/#\", \"/oneM2M/reg_resp/${CSE_BASE_RI}/+/#\"] -d '{ "iotPlatformId": "'"${CSE_BASE_RI}"'", "userTransportInfo": [{ "id": "'"${CSE_BASE_RI}"'-mqtt-01", "name": "'"${CSE_BASE_RI}"'", "description": "TinyIoT CSE MQTT", "type": "MB_TOPIC_BASED", "protocol": "MQTT", "version": "3.1.1", "endpoint": { "addresses": [{ "host": "'"${MQTT_HOST}"'", "port": '"${MQTT_PORT}"' }] }, "security": { "username": "'"${MQTT_USERNAME}"'", "password": "'"${MQTT_PASSWORD}"'", "useTLS": false }, "implSpecificInfo": { "eventTopics": [ "/oneM2M/req/+/'"${CSE_BASE_RI}"'/#" ], "uplinkTopics": [ "/oneM2M/resp/'"${CSE_BASE_RI}"'/+/#" ], "downlinkTopics": [ "/oneM2M/reg_req/+/'"${CSE_BASE_RI}"'/#", "/oneM2M/reg_resp/'"${CSE_BASE_RI}"'/+/#" ] } }], \"customServicesTransportInfo\": [{ \"id\": \"${CSE_BASE_RI}-http-01\", \"name\": \"${CSE_BASE_RI}\", \"description\": \"TinyIoT CSE HTTP\", \"type\": \"REST_HTTP\", \"protocol\": \"REST_HTTP\", \"version\": \"1.1\", \"endpoint\": {\"addresses\": [{\"host\": \"${MEC_HTTP_HOST}\", \"port\": ${SERVER_PORT}}]}, \"security\": {} "customServicesTransportInfo": [{ "id": "'"${CSE_BASE_RI}"'-http-01", "name": "'"${CSE_BASE_RI}"'", "description": "TinyIoT CSE HTTP", "type": "REST_HTTP", "protocol": "REST_HTTP", "version": "1.1", "endpoint": { "addresses": [{ "host": "'"${MEC_HTTP_HOST}"'", "port": '"${SERVER_PORT}"' }] }, "security": {} }], \"enabled\": true }" && echo "MEC registration successful" || echo "MEC registration failed (non-fatal)" "enabled": true }' \ && echo "MEC registration successful" \ || echo "MEC registration failed (non-fatal)" fi # Wait for server process # ------------------------------------------------------------------ # Wait for Server Process # ------------------------------------------------------------------ wait $SERVER_PID No newline at end of file