Loading go-apps/meep-iot-pltf/tinyiot-in-cse/entrypoint.sh +111 −74 Original line number Diff line number Diff line Loading @@ -2,48 +2,45 @@ set -e MQTT_ENABLE=${MQTT_ENABLE:-1} #SERVER_IP="${SERVER_IP:-192.168.0.112}" SERVER_IP="${MEEP_HOST_URL#http://}"; MEEP_HOST_URL="${MEEP_HOST_URL#https://}" echo "Using Helm-injected and Kubernetes auto-injected environment variables instead of API queries" # MEEP / MEC injected variables 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}" if [[ ! -z "${MEEP_MEP_NAME}" ]]; then svcPath="${MEEP_SANDBOX_NAME}/${MEEP_MEP_NAME}" else svcPath="${MEEP_SANDBOX_NAME}" fi if [ "${MEEP_HOST_URL}" == "" ] then echo "$0: MEEP_HOST_URL parameter is not set" MEEP_HOST_URL=mec-platform.etsi.org fi # Normalize host without modifying original MEEP_HOST_URL SERVER_IP="${MEEP_HOST_URL#http://}" SERVER_IP="${SERVER_IP#https://}" sleep 5 # Wait for ETSI MEC Platform up and stable MQTT_ENABLE=${MQTT_ENABLE:-1} # 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:-3002} [ -z "$SERVER_PORT" ] && SERVER_PORT="3002" ENABLE_COAP=${ENABLE_COAP:-0} CSE_BASE_NAME=${CSE_BASE_NAME:-"TinyIoT"} CSE_BASE_RI=${CSE_BASE_RI:-"tinyiot"} SERVER_TYPE=${SERVER_TYPE:-IN_CSE} [ -z "$SERVER_TYPE" ] && SERVER_TYPE="IN_CSE" # MQTT_USERNAME=${MQTT_USERNAME:-"tinyiot-in-cse"} # MQTT_PASSWORD=${MQTT_PASSWORD:-"mqtt"} echo "MQTT_USERNAME: ${MQTT_USERNAME}" echo "MQTT_PASSWORD: ${MQTT_PASSWORD}" # ------------------------------------------------------------------ # 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} MEC_PLATFORM=${MEEP_MEP_NAME:-${MEC_PLATFORM:-"mep1"}} MEC_SANDBOX_ID=${MEEP_SANDBOX_NAME:-"meep-sandbox"} MEC_APP_INSTANCE_ID=${MEEP_INSTANCE_ID:-"tinyiot-in-cse-instance"} MEC_HTTP_HOST=${MEC_HTTP_HOST:-"meep-tinyiot-in-cse"} echo "ENVIRONMENT VARIABLES SET:" Loading @@ -52,78 +49,118 @@ echo "SERVER_TYPE: ${SERVER_TYPE}" echo "SERVER_PORT: ${SERVER_PORT}" echo "CSE_BASE_NAME: ${CSE_BASE_NAME}" echo "CSE_BASE_RI: ${CSE_BASE_RI}" echo "MQTT_HOST: ${MQTT_HOST}" echo "MQTT_ENABLE: ${MQTT_ENABLE}" echo "MQTT_PORT: ${MQTT_PORT}" echo "MQTT_USERNAME: ${MQTT_USERNAME}" echo "MQTT_PASSWORD: ${MQTT_PASSWORD}" echo "MEC_ENABLE: ${MEC_ENABLE}" echo "MEC_HOST_URL: ${MEC_HOST_URL}" echo "MEC_PLATFORM: ${MEC_PLATFORM}" echo "MEC_SANDBOX_ID: ${MEC_SANDBOX_ID}" 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 MEC_ENABLE MEC_HOST_URL MEC_PLATFORM MEC_SANDBOX_ID MEC_APP_INSTANCE_ID MEC_HTTP_HOST 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 MEC_ENABLE export MEC_HOST_URL export MEC_PLATFORM export MEC_SANDBOX_ID export 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-in-cse/entrypoint.sh +111 −74 Original line number Diff line number Diff line Loading @@ -2,48 +2,45 @@ set -e MQTT_ENABLE=${MQTT_ENABLE:-1} #SERVER_IP="${SERVER_IP:-192.168.0.112}" SERVER_IP="${MEEP_HOST_URL#http://}"; MEEP_HOST_URL="${MEEP_HOST_URL#https://}" echo "Using Helm-injected and Kubernetes auto-injected environment variables instead of API queries" # MEEP / MEC injected variables 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}" if [[ ! -z "${MEEP_MEP_NAME}" ]]; then svcPath="${MEEP_SANDBOX_NAME}/${MEEP_MEP_NAME}" else svcPath="${MEEP_SANDBOX_NAME}" fi if [ "${MEEP_HOST_URL}" == "" ] then echo "$0: MEEP_HOST_URL parameter is not set" MEEP_HOST_URL=mec-platform.etsi.org fi # Normalize host without modifying original MEEP_HOST_URL SERVER_IP="${MEEP_HOST_URL#http://}" SERVER_IP="${SERVER_IP#https://}" sleep 5 # Wait for ETSI MEC Platform up and stable MQTT_ENABLE=${MQTT_ENABLE:-1} # 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:-3002} [ -z "$SERVER_PORT" ] && SERVER_PORT="3002" ENABLE_COAP=${ENABLE_COAP:-0} CSE_BASE_NAME=${CSE_BASE_NAME:-"TinyIoT"} CSE_BASE_RI=${CSE_BASE_RI:-"tinyiot"} SERVER_TYPE=${SERVER_TYPE:-IN_CSE} [ -z "$SERVER_TYPE" ] && SERVER_TYPE="IN_CSE" # MQTT_USERNAME=${MQTT_USERNAME:-"tinyiot-in-cse"} # MQTT_PASSWORD=${MQTT_PASSWORD:-"mqtt"} echo "MQTT_USERNAME: ${MQTT_USERNAME}" echo "MQTT_PASSWORD: ${MQTT_PASSWORD}" # ------------------------------------------------------------------ # 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} MEC_PLATFORM=${MEEP_MEP_NAME:-${MEC_PLATFORM:-"mep1"}} MEC_SANDBOX_ID=${MEEP_SANDBOX_NAME:-"meep-sandbox"} MEC_APP_INSTANCE_ID=${MEEP_INSTANCE_ID:-"tinyiot-in-cse-instance"} MEC_HTTP_HOST=${MEC_HTTP_HOST:-"meep-tinyiot-in-cse"} echo "ENVIRONMENT VARIABLES SET:" Loading @@ -52,78 +49,118 @@ echo "SERVER_TYPE: ${SERVER_TYPE}" echo "SERVER_PORT: ${SERVER_PORT}" echo "CSE_BASE_NAME: ${CSE_BASE_NAME}" echo "CSE_BASE_RI: ${CSE_BASE_RI}" echo "MQTT_HOST: ${MQTT_HOST}" echo "MQTT_ENABLE: ${MQTT_ENABLE}" echo "MQTT_PORT: ${MQTT_PORT}" echo "MQTT_USERNAME: ${MQTT_USERNAME}" echo "MQTT_PASSWORD: ${MQTT_PASSWORD}" echo "MEC_ENABLE: ${MEC_ENABLE}" echo "MEC_HOST_URL: ${MEC_HOST_URL}" echo "MEC_PLATFORM: ${MEC_PLATFORM}" echo "MEC_SANDBOX_ID: ${MEC_SANDBOX_ID}" 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 MEC_ENABLE MEC_HOST_URL MEC_PLATFORM MEC_SANDBOX_ID MEC_APP_INSTANCE_ID MEC_HTTP_HOST 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 MEC_ENABLE export MEC_HOST_URL export MEC_PLATFORM export MEC_SANDBOX_ID export 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