/drogue-cloud

Serverless IoT

Primary LanguageRustApache License 2.0Apache-2.0

Drogue IoT Cloud

CI GitHub release (latest SemVer) Matrix

Cloud Native IoT.

Drogue IoT Cloud is an IoT/Edge connectivity layer that allows IoT devices to communicate with a cloud platform over various protocols. It acts both as data ingestion plane, and as control plane. In short, Drogue IoT Cloud takes care of the data on the cloud side.

Overview diagram

It offers:

  • IoT friendly protocol endpoints and APIs
  • Protocol normalization based on Cloud Events
  • Management of device credentials and properties
  • APIs, a CLI, and a graphical console to manage devices and data flows

It is built on top of:

  • Kubernetes – For running workloads
  • Cloud Events - For normalizing transport protocols
  • Apache Kafka – For persisting events
  • Keycloak - For single-sign-on

You can learn more about the architecture in our documentation.

Protocol Support

Device endpointsIntegration APIs
  • HTTP
    • Generic HTTP
    • The Things Network v2/v3
  • MQTT v3.1.1/v5
  • CoAP
  • Kafka
  • WebSocket
  • MQTT v3.1.1/v5

Installation

Take a look at the deployment instructions.

If you know what you are doing, the next sections give you a quick may of deploying the "latest" version of Drogue Cloud.

Minikube

minikube start --cpus 4 --memory 16384 --disk-size 20gb --addons ingress
minikube tunnel # run this in a separate terminal, as it needs to keep running
make deploy CLUSTER=minikube

Kind

kind create cluster --config=deploy/kind/cluster-config.yaml
make deploy CLUSTER=kind

Useful Links

Contributing

See the document CONTRIBUTING.md.

Community