Coder Social home page Coder Social logo

wasp's Introduction

Wasp

FOSSA Status Codacy Badge

Distributed MQTT broker, written in Go.

Project status disclaimer

This project is a "personnal hobby playground" project.

It won't suit your needs if you are looking for an entreprise-grade MQTT Broker.

For example, Security, Release management, Automated feature and performance testing, Technical support (this list is obviously non-exhaustive)... are jobs that this project team does NOT do, or actively work on.

However, if you want to play and learn with Golang, MQTT, Gossip, GRPC, and other fun technologies, have fun with this project, and fell free to contribute by forking the project, hacking on it, or submiting a Pull Request !

Installing

Wasp is currently released as a built binary file, you just have to download it, make it executable, and run it.

Linux

If you are using Archlinux, an AUR package is available (named wasp). For other Linux distributions, you can run the following shell one-liner:

curl -sLo Downloads/wasp https://github.com/vx-labs/wasp/v4/releases/download/v4.0.0/wasp_linux-amd64 && chmod +x ./Downloads/wasp

Il will download Wasp, save it in your ./Downloads folder, and make it executable.

Running Wasp on your workstation

Once downloaded, you can run Wasp by simply invoking it in your shell.

./Download/wasp

Wasp by default runs an MQTT listener on port 1883, and will print on the terminal the IP adfress ip it detected. You can connect to it using an MQTT client, like Mosquitto.

mosquitto_sub -t 'test' -d -q 1 &
mosquitto_pub --port 1884 -t 'test' -d -q 1 -m 'hello'

Increasing log level

Wasp use a leveled logger, supporting traditional level name.

  • debug
  • info
  • warning
  • error

It will by default only print warning and error messages. You can alter this behaviour by adding the log-level flag when invoking Wasp.

For example, if you want to display info messages and above, you can type:

./Downloads/wasp --log-level info

Persisting data between restarts

Wasp builds a State to store all retained messages, subscriptions, session metadatas, ... etc. This state is saved on a filesystem, by the default Wasp configuration is to save it in /tmp/wasp.

This folder is, in most workstation configuration, erased at startup.

If you want your Wasp data to survive a host reboot, you must change this location by passing the data-dir flag.

For example, if you want to save Wasp data in the wasp-data folder, you can run the following command.

./Downloads/wasp --data-dir ./wasp-data

wasp's People

Contributors

codacy-badger avatar fossabot avatar jbonachera avatar

Forkers

jangocity

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.