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-smb Speaks SMB/CIFS directly — no OS mount required.

Shaperecord
Atomic CAS✗
Localityremote
Speedslow
Persistencedurable

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' })

See also