Skip to content

Latest commit

 

History

History
41 lines (30 loc) · 1.44 KB

README.md

File metadata and controls

41 lines (30 loc) · 1.44 KB

👮Murundiri

Murundiri is a blazing fast and configurable idempotency reverse-proxy designed for scale.

Features

  • It can exist as either a proxy or stand-alone service.
  • Allows support for integration with a redis cluster for caching.
  • Supports redis clusters (at least 3).
  • Easily configuration via a .yaml file.
  • Supports all HTTP verbs.
  • Supports the following actions:
    • Service redirection (to any URI)
    • Returning custom JSON messages.
  • Supports TTL for idempotency (i.e. time before idempotency expires)

Important

The core implementation has been implemented, although, this isn't ready for production use yet.

Roadmap

  • Implement murundiri config parser
  • Add reverse proxy
    • Implement proxy request interceptor
    • Validate request info based on idepotency rule
  • Cache idempotency fields to redis
    • Implement idempotency support.
    • Support 100% async for redis client ( i.e. both normal or cluster mode).
  • Support mounting of proxy on custom ip & port.
  • Add proper Document the config file
  • Add TLS support.
  • Support infinity idempotency TTL.

Contributing

If you find any issue, bug, or missing feature, please kindly create an issue or submit a pull request, as it will go a long way in helping other Rustaceans grow.

License

This repository is open-sourced software licensed under the MIT license.