Skip to content

andresrinivasan/edgex-rules-possibilities

Repository files navigation

EdgeX Rules Possibilities

A brief exploration of options for the EdgeX Rules Engine

Summary

As of this writing, the EdgeX Rules Engine is based on Drools. The challenge is the footprint for this container is somewhat large for the edge. In a perfect world the replacement would be written in Go or something with a similar small footprint. It also needs to be maintained, not a one off someone threw into the wild.

Options

See the PDF in this repo

Running the Examples

As part of the exercise, I played a little. Really more to prove to myself that I could express the simple EdgeX IFTT type rules.

Durable Rules

python edge-event.py
  • Test
curl http://localhost:5000/motortoofastsignal/events -H Content-type:application/json -X POST -d '{"device": "562114e9e4b0385849b96cd8", "parameter": "RPM", "value": 1200}'

curl http://localhost:5000/motortoofastsignal/events -H Content-type:application/json -X POST -d '{"device": "562114e9e4b0385849b96cd8", "parameter": "RPM", "value": 1201}'

JsonLogic

  • Build
go build
  • Test
go run edge_event.go

About

A brief exploration of options for the EdgeX rules engine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published