A central service that runs on (Linux) devices for collecting and delivering messages from N apps using 1 MQTT connection to Astarte.
- protobuf >= 3.15
- Rust version >= 1.72.0
The Astarte Message Hub is configured through message-hub-config.toml
in the current working
directory, otherwise the system wide /etc/message-hub/config.toml
can be used. In alternative, you
can specify the path to the configuration file with the -c/--config
cli option.
The format for the configuration file is the following:
##
# Required fields
#
realm = "<REALM>"
pairing_url = "<PAIRING_URL>"
# Used to register a device and obtain a `credentials_secret`
pairing_token = "[PAIRING_TOKEN]"
# Credential secret, if not provided the `pairing_token` is required
credentials_secret = "[CREDENTIALS_SECRET]"
# Device id, if not provided it will be retrieved from `io.edgehog.Device` dbus-service
device_id = "[DEVICE_ID]"
##
# Optional fields
#
# Directory containing the JSON interfaces
interfaces_directory = "[INTERFACES_DIRECTORY]"
##
# Other fields, with defaults
#
# Path to store persistent data
store_directory = "./"
# Address the gRPC connection will bind to
grpc_socket_host = "127.0.0.1"
grpc_socket_port = 5051
[astarte]
# Ignore SSL errors
ignore_ssl = false
An example configuration file can be found in the examples direction.
You can override the configuration file options by passing arguments to the command line or
exporting the corresponding environment variables. Run the massage hub with --help
to see all the
options.
Have a look at the examples for an usage example showing how to send and receive data.