Skip to content

FerretDB

Runs FerretDB 2 · macOS & Linux · registry page ↗

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.

ferret "shop" {
version = "2.7"
database "catalog" {
collection "products" { seed = "./seed/products.json" }
collection "orders" {}
}
}

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
22.7.01
Every exact build, per series

22.7.0

FieldTypeDefaultDescription
versionstringFerretDB v2.x gateway version Required.
databaseblocka Mongo database to ensure (repeatable; label = name)
collectionblocka collection within a database (repeatable; label = name)
seedstringpath to a JSON array seeded into an empty collection
indexblockan index on a collection (keys = {field=1|-1}, unique)
settingsmap(string)extra FERRETDB_* gateway settings
authboolfalseenable auth + user convergence (scaffold; needs validation)
userblocka Mongo user when auth is on (name, password, database, roles)

Machinery, for the curious: the plugin releases that provide this engine. doze selects the newest compatible one and pins it in doze.lock — you never write these. Older releases stay resolvable for pinned lockfiles.

ReleaseEngine versionsPlatforms
0.2.223stable
0.2.123

Raw signed data: index.yaml ↗ · meta.yaml ↗