stable
smb
SMB/CIFS network file store for noy-db — Windows file servers, NAS devices, and corporate shared drives via NTLM or Kerberos, no OS mount required.
@noy-db/to-smb·pnpm add @noy-db/to-smbSpeaks SMB/CIFS directly — no OS mount required.
| Shape | record |
| Atomic CAS | ✗ |
| Locality | remote |
| Speed | slow |
| Persistence | durable |
What it does
Stores encrypted envelopes on SMB/CIFS shares — Windows file servers, NAS devices (Synology/QNAP/Netgear), and corporate shared drives — authenticating via NTLM or Kerberos, without needing the share mounted at the OS level.
Notes
casAtomic: false— a tmp-file-then-rename write pattern avoids partial writes, but there's no CAS primitive over SMB/CIFS.- Record shape, one file per record.
- Factory:
toSmb(options: SmbStoreOptions).
Store-locator descriptor
See store-locator descriptors for the general model.
kind: 'smb', class: 'lan'. address is { host?, share?, path? }:
path maps to remotePath; host and share are identity-only, not
consumed by the factory — the connection already carries them. options is
{ name? }. binding.client is required (an SmbHandle) — this store
has no client library of its own; resolve() without it throws.
import { smbStoreDescriptor, registerSmbStore } from '@noy-db/to-smb'
const descriptor = smbStoreDescriptor({ host: 'nas.local', share: 'vaults', path: 'noydb' })