Skip to main content

EXTENSIONS

Built by operatives — models, drivers, vaults, and reports, the parts that plug into Swamp.

Filter by what you need and pull what fits.

Selection
22 results
from:@shrug

Serial Port

@shrug/serial-port · v2026.07.28.1

USB-UART serial console + config management. The `serial-port` type is the raw console primitive (establish/send/read/exec/login) over a serial device (e.g. /dev/ttyUSB0); line config via stty(1), byte I/O via a direct Deno.open fd or a dd/cat subprocess fallback (auto), device paths allowlisted so login's vaulted password can't reach an arbitrary terminal. The `serial-cfgmgmt/*` types (node/exec/package/service) are the serial-console counterpart to SSH config management — for boards with no network — built on that same console primitive.

upd Jul 294 pullsA100/100

Xen Orchestra

@shrug/xen-orchestra · v2026.07.22.1

Xen Orchestra (XO) / XCP-NG VM lifecycle model over the REST API (/rest/v0): create a VM from a template with cloud-init, start, stop (clean/hard), snapshot, and destroy, plus template/pool/SR/network discovery so UUIDs are resolved rather than hardcoded. Token auth via the `authenticationToken` cookie (vaulted); plain HTTPS through one injectable fetch seam, TLS verification always on (optional private-CA trust via caCert).

upd Jul 220 pullsA100/100

Invoiceninja

@shrug/invoiceninja · v2026.07.22.1

Invoice Ninja v5 (`/api/v1`) model — read-side snapshots (invoices, payments,

upd Jul 220 pullsA100/100

Unifi Networks

@shrug/unifi-networks · v2026.07.22.1

Query UniFi Network sites via the official integration API — VLANs, firewall

upd Jul 221 pullsA100/100

Bank Import

@shrug/bank-import · v2026.07.19.1

CSV/OFX bank-export parser: read-only source model that emits the canonical BankTxn[] contract (design §6) — the same nullable shape @shrug/mercury emits. OFX FITID or a mapped/synthesized CSV id is the dedup key; posted rows always carry a postedDate (WREV-4). Pure-TS parsers, no host binaries.

upd Jul 200 pullsA100/100

Mercury

@shrug/mercury · v2026.07.19.1

Mercury banking API (/api/v1) read-only source model: discover accounts and snapshot transactions as the canonical BankTxn[] contract (settled-only by default). Bearer token auth (vaulted, read-only token — no IP allowlist). The amount-sign convention (negative == outgoing debit) lives in one tested decider, verified against a live response.

upd Jul 201 pullsA100/100

Rethinkdb

@shrug/rethinkdb · v2026.07.18.5

Manage a RethinkDB instance/cluster over ReQL (rethinkdb-ts driver, no REST API): ping/health, Rule-6 fan-out sync of cluster/servers/databases/tables/issues, per-table snapshot, an idempotent declarative `provision` entrypoint plus create/delete of databases/tables/indexes and reconfigure, and a per-table JSON `backup` export. Also ships a single-document atomic-CAS distributed lock (provisionLockTable/acquireLock/releaseLock/extendLock/inspectLock/forceRelease) and a verifyDatastore probe. Mutations are confirm-gated and audited on both success and failure.

upd Jul 191 pullsA100/100

Rethinkdb Datastore

@shrug/rethinkdb-datastore · v2026.07.18.2

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.

upd Jul 192 pullsA100/100

Forgejo

@shrug/forgejo · v2026.07.17.1

Query [Forgejo](https://forgejo.org/) and [Gitea](https://gitea.io/) instances

upd Jul 188 pullsA100/100

Freeipa/group

@shrug/freeipa/group · v2026.07.17.1

Manage FreeIPA user & host groups over the JSON-RPC API: snapshot the inventory, generic user-group CRUD (groupShow/groupAdd/groupMod/groupDel) plus a desired-state groupSync reconcile, ensure the FreeRADIUS radius-vlan-<id> group pair, and add/remove members — idempotent and auditable, with a confirm-guarded delete.

upd Jul 171 pullsA100/100

Freeipa/cert

@shrug/freeipa/cert · v2026.07.17.1

Issue, inspect, and revoke X.509 certificates for any FreeIPA principal (user/host/service) over the JSON-RPC API, with optional in-model RSA/EC keygen and vaulted private keys.

upd Jul 171 pullsA100/100

Vyos

@shrug/vyos · v2026.07.16.1

Manage a VyOS router over SSH: read the running config, apply set/delete commands via vbash, and run arbitrary op-/config-mode commands.

upd Jul 173 pullsA100/100

Freeipa/policy

@shrug/freeipa/policy · v2026.07.16.1

Manage FreeIPA sudo, HBAC, RBAC, privilege, and CA-ACL policy over the JSON-RPC API: find/show read-only snapshots plus idempotent ensureSudoRule/ensureHbacRule/ensureRole/ensurePrivilege/ensureCaAcl, fan-out member/option/privilege/permission/certprofile methods, enable/disable toggles, read-only privilege/permission/CA-ACL discovery, and confirm-guarded deletes, each mutation with an audit trail.

upd Jul 161 pullsA100/100

Freeradius

@shrug/freeradius · v2026.07.12.1

Manage a FreeRADIUS server wherever it runs (local | ssh | nsenter): write raddb config files atomically with backups, gate every restart on `radiusd -C`, and roll back on a failed check. Typed methods for clients, modules, VLAN post-auth policy, cert perms, and removing swamp-managed blocks.

upd Jul 130 pullsA100/100

Freeipa/dns

@shrug/freeipa/dns · v2026.07.12.1

Manage FreeIPA DNS over the JSON-RPC API: zoneFind/zoneShow/recordFind read-only snapshots plus idempotent ensureZone/ensureForwardZone and a fan-out ensureRecords (add a list of records in one call), with confirm-guarded zoneDel/recordDel — each write carrying an audit trail. ensureRecords records partial applies honestly.

upd Jul 131 pullsA100/100

Coolify

@shrug/coolify · v2026.07.12.3

Manage a Coolify instance over its REST API v1: list/get services (incl. docker_compose_raw) and applications, patch a service's compose, start/stop/restart applications, add persistent (named-volume) application storage, and trigger deploys/restarts. Mutations are audited, confirm-gated, and preceded by a live reachability pre-flight check.

upd Jul 131 pullsA100/100

Freeipa/host

@shrug/freeipa/host · v2026.07.11.1

Manage FreeIPA hosts over the JSON-RPC API: find/show read-only snapshots plus add/mod/del/disable writes and a desired-state sync reconcile, each with an audit trail and a confirm-guarded delete. add random:true vaults the one-time enrollment password; add/del take an optional idempotent flag.

upd Jul 121 pullsA100/100

Grafana Ext

@shrug/grafana-ext · v2026.07.11.1

Grafana swamp-native gaps: a control-plane admin model (idempotent ensureServiceAccount over basic-auth) plus a queryLogs extension that adds LogQL/Loki reads to @keeb/grafana/instance alongside its queryMetrics.

upd Jul 112 pullsA100/100

Ipam

@shrug/ipam · v2026.07.11.2

IPv6 address planner: region-rooted /40 allocation, /44-stride site envelopes, subnet/tunnel/loopback/anycast computation with overlap validation.

upd Jul 110 pullsA100/100

Freeipa/user

@shrug/freeipa/user · v2026.07.11.2

Manage FreeIPA users over the JSON-RPC API: find/show read-only snapshots plus add/mod/del/setEnabled writes and a desired-state sync reconcile, each with an audit trail and a confirm-guarded delete. add/del take an optional idempotent flag.

upd Jul 111 pullsA100/100

Machinectl

@shrug/machinectl · v2026.07.11.2

Reach inside a systemd-nspawn machine over SSH+nsenter: snapshot state, run an argv, read/write files atomically (with backup), and restart/inspect units — a reusable container transport.

upd Jul 110 pullsA100/100

Freeipa/domain

@shrug/freeipa/domain · v2026.07.11.1

Read-only FreeIPA domain inspection over the JSON-RPC API: realm/config, server inventory, and replication topology, plus a markdown + Mermaid summary report.

upd Jul 112 pullsA100/100