Skip to content

lucid-kv/lucid

Repository files navigation

About Lucid ᡏᡛ

High performance and distributed KV store accessible through an HTTP API. Written in Rust. πŸ¦€

Build Status Made with Rust License Telegram Twitter

Introduction

Lucid is currently in an embryonic state but we wish to achieve a fast, secure and distributed key-value store accessible through an HTTP API, we also want to propose persistence, encryption, WebSocket streaming, replication and a lot of features.

Works Progress

Warning: Empty project for now, the development is ensured in the development branch.

  • Minimum Viable Product (MVP)
    • Initialization process
    • Configuration files handling
    • JWT token Issuing
    • HTTPS Support
    • Rest API
      • KV-Base, HashMap-based
      • JWT Authentication
  • WebUI in VueJS
  • Persistence
  • Encryption on the Fly (AES-256)
  • Access Control List (ACL)
  • WebSocket or Event Source (SSE)

Some Use Cases

  • Private Keys Storing (for a wallet by example)
  • IoT: collect and save statistics data
  • A distributed cache for an application
  • Service Discovery
  • Distributed Configuration
  • Blob Storage

Command Line Interface

 β–ˆβ–ˆβ•—    β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—     β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—
 β–ˆβ–ˆβ•‘    β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—    β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘
 β–ˆβ–ˆβ•‘    β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘    β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•— β•šβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•
 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•    β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•— β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
 β•šβ•β•β•β•β•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β•β•šβ•β•β•šβ•β•β•β•β•β•     β•šβ•β•  β•šβ•β•  β•šβ•β•β•β•

A Fast, Secure and Distributed KV store with an HTTP API.
Written in Rust by Clint.Network (twitter.com/clint_network)

USAGE:
    lucid.exe [SUBCOMMAND]

FLAGS:
    -h, --help       Prints help informations
    -v, --version    Print version information

SUBCOMMANDS:
    cli         Spawn to the command line interface
    help        Prints this message or the help of the given subcommand(s)
    init        Initialize the Lucid cluster and generate configuration file
    members     Manage members of the cluster
    server      Run a new Lucid server instance
    settings    Manage Lucid configuration file
    store       Play with the KV store (get/set)
    tokens      Manage JWT Tokens (issue, revoke etc.)

Web Interface (UI)

Lucid wants to propose a web UI to manage data, issue tokens, organize nodes and configure instances.

About the Author

Lucid is powered by Clint.Network and published under the MIT License.

Donate to Clint.Network

  • Paypal Paypal: Donate
  • btc Bitcoin: 3AEqgvpiHC2LzPDunf6PBPBLeT98YruKmg