EXTENSIONS
Built by operatives — models, drivers, vaults, and reports, the parts that plug into Swamp.
Filter by what you need and pull what fits.
Mongodb Datastore
MongoDB datastore for shared Swamp repositories: namespace-aware sync, managed configuration refresh, atomic remote control plane, distributed locks and content-addressed storage. Fork of @keeb/mongodb-datastore with a companion maintenance model and workflow. Requires a MongoDB replica set.
S3 Datastore
Store data in an Amazon S3 bucket with local cache synchronization.
Gcs Datastore
Store data in a Google Cloud Storage bucket with local cache synchronization.
S3 Datastore Bootstrap
One-shot bootstrap for @swamp/s3-datastore. Ships a single provisioner
Mongodb Datastore
MongoDB-backed swamp datastore — distributed locks with TTL, heartbeat, and nonce fencing, plus a manifest+content-addressed-blob sync protocol that streams the datastore tier as inline-bytes cursor batches. Dirty tracking rides an append-only journal with ancestor coalescing (O(1) markDirty) and pushes reconcile dirty roots in batches rather than one round-trip each. Blobs over 15 MB are transparently chunked across multiple docs so they fit under MongoDB's 16 MB BSON limit. Ships a companion maintenance model and workflow that inventory, sweep orphaned blobs and aged tombstones, and compact reclaimed space — fanning out over every namespace in one execution. Scoped by tenant + repo namespace. Requires MongoDB 4.0+ as a replica set.
Dynamodb Datastore
Stores swamp runtime data in AWS DynamoDB with conditional-write distributed locking (fencing tokens + TTL-as-defense-in-depth) and chunked blob storage for items exceeding DynamoDB's 400KB size limit. Emits OpenTelemetry spans for DynamoDB operations, lock acquisition/release, and push/pull sync so datastore activity is visible in traces when a TracerProvider is configured.
Mongodb Datastore
MongoDB-backed swamp datastore — distributed locks with TTL, heartbeat, and nonce fencing, plus a manifest+content-addressed-blob sync protocol that streams the datastore tier as inline-bytes cursor batches. Dirty tracking rides an append-only journal with ancestor coalescing (O(1) markDirty) and pushes reconcile dirty roots in batches rather than one round-trip each. Blobs over 15 MB are transparently chunked across multiple docs so they fit under MongoDB's 16 MB BSON limit. Ships a companion maintenance model and workflow that inventory, sweep orphaned blobs and aged tombstones, and compact reclaimed space — fanning out over every namespace in one execution. Scoped by tenant + repo namespace. Requires MongoDB 4.0+ as a replica set.
Mongodb Stats
Measure and garbage-collect @keeb/mongodb-datastore namespaces: per-namespace file/blob/lock stats and a janitor-mirror GC that tombstones expired paths.
Gitlab Datastore
Stores swamp runtime data in GitLab using the Terraform state HTTP API. Provides distributed locking via GitLab's native state locking mechanism and bidirectional sync between local cache and GitLab. Emits OpenTelemetry spans for GitLab API calls, lock acquisition/release, and push/pull sync so datastore activity is visible in traces when a TracerProvider is configured.
Gitlab Datastore Bootstrap
One-shot bootstrap for @webframp/gitlab-datastore. Validates access to a
Bench Datastore
Datastore benchmarking harness for swamp. Two workflow-based test
Aurora Datastore Bootstrap
One-shot bootstrap for @webframp/postgres-datastore targeting AWS Aurora
Azure Blob Datastore
Stores swamp runtime data in Azure Blob Storage using native blob-lease distributed locking (the lease ID doubles as the fencing-token nonce) and ETag-conditional writes on a shard-first path index for optimistic concurrency. Emits OpenTelemetry spans for blob operations, lock acquisition/release, and push/pull sync so datastore activity is visible in traces when a TracerProvider is configured. Supports Shared Key (account key or connection string) and Azure AD service-principal authentication. No Azure SDK dependency — talks to the Blob REST API directly via fetch.
Valkey Datastore
Stores swamp runtime data in Valkey/Redis with sorted-set path indexing for O(log n + k) prefix lookups and SET NX distributed locking. Compatible with local Valkey, AWS ElastiCache Serverless, and AWS MemoryDB. Implements two-phase sync to minimize time under the global lock. Emits OpenTelemetry spans for Valkey commands, lock acquisition/release, and push/pull sync so datastore activity is visible in traces when a TracerProvider is configured.
Postgres Datastore
Stores swamp runtime data in PostgreSQL with row-based distributed locking. Compatible with AWS RDS, Aurora, and Aurora Serverless v2. Uses fencing tokens for split-brain safety across failover events. Emits OpenTelemetry spans for SQL operations, lock acquisition/release, and push/pull sync so datastore activity is visible in traces when a TracerProvider is configured.
Azure Blob Datastore Bootstrap
One-shot bootstrap for @webframp/azure-blob-datastore. Creates an Azure
Dynamodb Datastore Bootstrap
One-shot bootstrap for @webframp/dynamodb-datastore. Ships a single
Elasticache Datastore Bootstrap
One-shot bootstrap for @webframp/valkey-datastore targeting AWS ElastiCache
Gcp/datastore
Google Cloud datastore infrastructure models
Rethinkdb Datastore
Swamp datastore backend on RethinkDB: a single-document atomic-CAS distributed lock (TTL heartbeat, nonce-gated forceRelease, stale-lock takeover), an r.now() health verifier, and a content-addressed sync tier (immutable blobs + doc-size chunking + a single rev-CAS manifest, with per-namespace manifest routing so repos sharing one database stay isolated). Wraps the proven @shrug/rethinkdb spike components.
Gcs Datastore Bootstrap
One-shot bootstrap for @swamp/gcs-datastore. Ships a single provisioner
Turso
Turso (libSQL) datastore for swamp: query model for ad-hoc SQL against Turso edge databases, and a datastore backend that stores swamp runtime data in a remote Turso database with row-based distributed locking.
Duckdb
DuckDB integration for swamp: query model for ad-hoc SQL, and a datastore backend that stores swamp runtime data in a DuckDB database file with row-based distributed locking. Embedded, local-only — no network dependency.