Skip to content
/ qtt Public

This is experiment about handling MQTT message via webhook

License

Notifications You must be signed in to change notification settings

muratsplat/qtt

Repository files navigation

Build Status

Qtt is simple message broker on based webhook

This project is not completed yet. Don't use it on your production until further notice..

This is experiment about handling MQTT mesage from clients. Main goal is forwarding all message by HTTP2 to another point. It is easy to deliver massive message via HTTP2 layer on any load balancer(nginx, or kubernetes).

Requiretments

  • Golang >= 1.8
  • Dep as dependency manager

How to build and run it

You can build source code via calling Makefile.

$ make build
    rm -f qtt
    go get -u github.com/golang/dep/cmd/dep
    dep ensure -vendor-only -v
    (1/2) Wrote github.com/joho/godotenv@v1.2.0
    (2/2) Wrote github.com/eclipse/paho.mqtt.golang@v1.1.1
    go build -v  -o qtt

Makefile builds application. Artifact name will be qtt. An than you can run like this:

$ ./qtt
2018/08/05 15:09:08 :1883 address is listening...

Makefile is a program building tool which runs on Unix, Linux, and their flavors. You dont know this tool, you can build offical golang tool instead of Makefile.

Building via go build

$ go get -u github.com/golang/dep/cmd/dep
$ dep ensure -vendor-only -v
$ go build -v  -o myArtifact

Configuration

Qtt app firstly look at a file has name .env. If the file is not exist. The app will get congigurations on the evironment.

You can find out an example of .env in the project. The name is .env.example. There are a lot of default configuration in there.

Todo:

  • Auth and Publish feature
  • MQTT 3.1.1 support
  • Full WebHook support for above feature
  • Stabilty for production..
  • SubScription support
  • Simple configuration managment
  • Kubernetes support

Thanks to

  • github.com/eclipse/paho.mqtt.golang

About

This is experiment about handling MQTT message via webhook

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages