FerretDB
official ● signeddoze/ferret A MongoDB-wire database you connect to with any Mongo client. Under the hood it is FerretDB v2 fronting a private PostgreSQL with Microsoft's DocumentDB extension — no MongoDB server, no license worries.
Usage
Drop it in doze.hcl and run doze up.
ferret "shop" {
version = "2.7"
database "catalog" {
collection "products" { seed = "./seed/products.json" }
collection "orders" {}
}
} Versions you can run
The version = you write is the engine's own version — the only version that's yours. Declare a series and doze pins its newest published build, or declare an exact build; either way it's fetched, verified, and pinned in doze.lock, so it never moves on its own.
| version = | pins (today) | exact builds |
|---|---|---|
| 2 | 2.7.0 | 1 |
every exact build, per series
Configuration
Arguments and nested blocks the engine accepts — generated from the module itself, so it can't drift.
| Name | Type | Default | Description |
|---|---|---|---|
| version REQ | string | — | FerretDB v2.x gateway version |
| database | block | — | a Mongo database to ensure (repeatable; label = name) |
| collection | block | — | a collection within a database (repeatable; label = name) |
| seed | string | — | path to a JSON array seeded into an empty collection |
| index | block | — | an index on a collection (keys = {field=1|-1}, unique) |
| settings | map(string) | — | extra FERRETDB_* gateway settings |
| auth | bool | false | enable auth + user convergence (scaffold; needs validation) |
| user | block | — | a Mongo user when auth is on (name, password, database, roles) |
Under the hood — module releases you never write these; doze picks and pins automatically
The plugin releases that provide this engine. doze selects the newest one compatible with your doze and your declared versions, pins it in doze.lock, and the index is cumulative — older releases stay resolvable for pinned lockfiles. modules { ferret { version = "…" } } pins one exactly (the escape hatch for bisecting a regression).
| release | protocol | engine support | platforms |
|---|---|---|---|
| 0.2.2 stable | 1 | 2 | 3 platforms |
| 0.2.1 | 1 | 2 | 3 platforms |
raw signed data: index.yaml ↗ · meta.yaml ↗