mirror of
https://github.com/OpenMTC/OpenMTC.git
synced 2024-12-30 17:57:03 +00:00
80 lines
2.3 KiB
Bash
Executable File
80 lines
2.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
CONFIG_FILE="/etc/openmtc/mqttconnector/config.json"
|
|
|
|
NAME=${NAME-"mqttConnector"}
|
|
EP=${EP-"http://localhost:8000"}
|
|
CSE_BASE=${CSE_BASE-"onem2m"}
|
|
POAS=${POAS-'["http://auto:21753"]'}
|
|
ORIGINATOR_PRE=${ORIGINATOR_PRE-"//openmtc.org/mn-cse-1"}
|
|
SSL_CRT=${SSL_CRT-"/etc/openmtc/certs/mqttconnector.cert.pem"}
|
|
SSL_KEY=${SSL_KEY-"/etc/openmtc/certs/mqttconnector.key.pem"}
|
|
SSL_CA=${SSL_CA-"/etc/openmtc/certs/ca-chain.cert.pem"}
|
|
BROKER_EP=${BROKER_EP-"localhost:1883"}
|
|
TOPIC_PRE=${TOPIC_PRE-"exampleTopic"}
|
|
TOPIC_INDEX_LOCATION=${TOPIC_INDEX_LOCATION-1}
|
|
TOPIC_INDEX_DEVICE=${TOPIC_INDEX_DEVICE:-1}
|
|
FIWARE_SERVICE=${FIWARE_SERVICE}
|
|
BROKER_USER=${BROKER_USER-""}
|
|
BROKER_USER_PW=${BROKER_USER_PW-""}
|
|
MQTTS_ENABLED=${MQTTS_ENABLED-false}
|
|
MQTTS_CA_CERTS=${MQTTS_CA_CERTS}
|
|
MQTTS_CERTFILE=${MQTTS_CERTFILE}
|
|
MQTTS_KEYFILE=${MQTTS_KEYFILE}
|
|
|
|
# defaults logging
|
|
LOGGING_FILE=${LOGGING_FILE-"/var/log/openmtc/mqttconnector.log"}
|
|
LOGGING_LEVEL=${LOGGING_LEVEL-"ERROR"}
|
|
|
|
# ensure correct level
|
|
case ${LOGGING_LEVEL} in
|
|
FATAL|ERROR|WARN|INFO|DEBUG)
|
|
;;
|
|
*)
|
|
LOGGING_LEVEL="ERROR"
|
|
;;
|
|
esac
|
|
|
|
# local ip
|
|
LOCAL_IP=$(ip r get 8.8.8.8 | awk 'NR==1 {print $NF}')
|
|
|
|
# set hostname
|
|
HOST_NAME=${EXTERNAL_IP-${LOCAL_IP}}
|
|
|
|
# Configuration of the service.
|
|
CONFIG_TEMP=${CONFIG_FILE}".tmp"
|
|
echo -n "Configuring M2M mqttconnector..."
|
|
JQ_STRING='.'
|
|
|
|
# basics
|
|
JQ_STRING=${JQ_STRING}' |
|
|
.name = "'${NAME}'" |
|
|
.ep = "'${EP}'" |
|
|
.cse_base = "'${CSE_BASE}'" |
|
|
.poas = '${POAS}' |
|
|
.originator_pre = "'${ORIGINATOR_PRE}'" |
|
|
.ssl_certs.cert_file = "'${SSL_CRT}'" |
|
|
.ssl_certs.key_file = "'${SSL_KEY}'" |
|
|
.ssl_certs.ca_certs = "'${SSL_CA}'" |
|
|
.broker_ep = "'${BROKER_EP}'" |
|
|
.topic_pre = "'${TOPIC_PRE}'" |
|
|
.topic_index_location = '${TOPIC_INDEX_LOCATION}' |
|
|
.topic_index_device = '${TOPIC_INDEX_DEVICE}' |
|
|
.fiware_service = "'${FIWARE_SERVICE}'" |
|
|
.broker_user = "'${BROKER_USER}'" |
|
|
.broker_user_pw = "'${BROKER_USER_PW}'" |
|
|
.mqtts_enabled = '${MQTTS_ENABLED}' |
|
|
.mqtts_ca_certs = "'${MQTTS_CA_CERTS}'" |
|
|
.mqtts_certfile = "'${MQTTS_CERTFILE}'" |
|
|
.mqtts_keyfile = "'${MQTTS_KEYFILE}'" |
|
|
.logging.file |= "'${LOGGING_FILE}'" |
|
|
.logging.level |= "'${LOGGING_LEVEL}'"
|
|
'
|
|
|
|
cat ${CONFIG_FILE} | jq -M "${JQ_STRING}"> ${CONFIG_TEMP}
|
|
mv ${CONFIG_TEMP} ${CONFIG_FILE}
|
|
|
|
echo "done"
|
|
|
|
exec python3 -m mqttconnector $@
|