Minimalist transactional HTTP key/value store
- Java 99.3%
- Smalltalk 0.3%
- Dockerfile 0.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .forgejo | ||
| com.io7m.looseleaf.cmdline | ||
| com.io7m.looseleaf.database.api | ||
| com.io7m.looseleaf.database.sqlite | ||
| com.io7m.looseleaf.documentation | ||
| com.io7m.looseleaf.grafana | ||
| com.io7m.looseleaf.oci | ||
| com.io7m.looseleaf.protocol.v1 | ||
| com.io7m.looseleaf.security | ||
| com.io7m.looseleaf.server | ||
| com.io7m.looseleaf.server.api | ||
| com.io7m.looseleaf.tests | ||
| src/site/resources | ||
| .gitignore | ||
| .gitmodules | ||
| doc7m-books.json | ||
| pom.xml | ||
| README-CHANGES.xml | ||
| README-LICENSE.txt | ||
| README.in | ||
| README.md | ||
looseleaf
looseleaf
The looseleaf package implements an HTTP-accessible key/value database with
ACID semantics and fine-grained role-based access control.
Features
- ACID semantics.
- Atomic reads and updates for arbitrary sets of keys. An unlimited number of keys can be read, updated, and/or deleted in a single operation that is atomic with respect to all other database operations.
- Fine-grained role-based access control.
- A trivial HTTP interface for easy access from shell scripts.
- A strictly defined JSON protocol with a full schema.
- Convenient endpoints for use with command-line tools such as curl.
- A small, easily auditable codebase with a heavy use of modularity for correctness.
- An extensive automated test suite with high coverage.
- A small footprint; the server is designed to run in tiny 16-32mb JVM heap configurations.
- Platform independence. No platform-dependent code is included in any form, and installations can largely be carried between platforms without changes. The database file format is also platform-independent.
- Security-conscious engineering. All requests require authentication, extensive validation is performed on all requests, and careful use is made of the Java type system to enforce invariants throughout the codebase.
- Fully instrumented with OpenTelemetry for reliable service monitoring.
- Configurable fault injection for testing monitoring.
- OSGi-ready
- JPMS-ready
- ISC license.
Usage
See the documentation.
