/xmidt

Highly scalable pipes for communicating with devices all over the place.

Primary LanguageGoApache License 2.0Apache-2.0

xmidt

Xmidt (pronounced "transmit") is a combination of a server cluster and client that provide a highly available data path to devices deployed all over the world.

tl;dr summary

A device connects to the xmidt cloud via the xmidt client. Cloud based services can use the xmidt cloud api to send and receive messages from the devices without needing to worry about where the device is in the world or in the network. Push and pull data from the device with ease.

the xmidt servers

caduceus

Caduceus provides the pub-sub message delivery mechanism for xmidt.

Build Status codecov.io Go Report Card Code Climate Issue Count Apache V2 License

scytale

Scytale accepts the inbound requests, fans out across data centers and delivers the messages to the Talaria machines that could be hosting the device connection.

Build Status codecov.io Go Report Card Code Climate Issue Count Apache V2 License

talaria

Talaria maintains the secure websocket connections from the device and passes the messages from or to the device.

Build Status codecov.io Go Report Card Code Climate Issue Count Apache V2 License

petasos

Petasos helps reduce the load on the Talaria machines during mass reboot cases by calculating which specific Talaria a device should connect to & redirecting the incoming request.

Build Status codecov.io Go Report Card Code Climate Issue Count Apache V2 License

mnemosyne

Mnemosyne provides a mapping between names of devices.

the xmidt client

parodus

Parodus is the light weight client that reaches out to the xmidt cloud to establish the connection.

Build Status codecov.io Coverity Apache V2 License

server support libraries

webpa-common

Build Status codecov.io Go Report Card

kratos

Build Status codecov.io Go Report Card

golang-money

Build Status codecov.io Go Report Card

tr18b1e

Build Status codecov.io Go Report Card

golang-discovery-client

Build Status codecov.io Go Report Card

client support libraries

nopoll fork

cimplog

Build Status codecov.io Coverity Apache V2 License

seshat

Build Status codecov.io Coverity Apache V2 License

cjwt

Build Status codecov.io Coverity Apache V2 License

cjson-extras

libucresolv

wrp-c

Build Status codecov.io Coverity Apache V2 License

trower-base64

Build Status codecov.io coverity