JVM | Platform | Status |
---|---|---|
OpenJDK (Temurin) Current | Linux | |
OpenJDK (Temurin) LTS | Linux | |
OpenJDK (Temurin) Current | Windows | |
OpenJDK (Temurin) LTS | Windows |
The looseleaf
package implements an HTTP-accessible key/value database with
ACID semantics and fine-grained role-based access control.
- 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.
See the documentation.