diff --git a/src/mounts.js b/src/mounts.js index da1569d32..d2a453ab6 100644 --- a/src/mounts.js +++ b/src/mounts.js @@ -63,6 +63,7 @@ function validateMountOptions(type, options) { } } +// managed providers are those for which we setup systemd mount file function isManagedProvider(provider) { return provider === 'sshfs' || provider === 'cifs' || provider === 'nfs' || provider === 'ext4' || provider === 'xfs' || provider === 'disk'; } diff --git a/src/routes/backups.js b/src/routes/backups.js index 9d48b2362..522f0b282 100644 --- a/src/routes/backups.js +++ b/src/routes/backups.js @@ -119,6 +119,16 @@ async function setLimits(req, res, next) { next(new HttpSuccess(200, {})); } +// storage has three parts. these fields are merged into one top level object +// 1. format. rsync or tgz +// 2. config. the 'provider' (see api() function in src/storage.js) differentiates further options +// s3 providers - accessKeyId, secretAccessKey, bucket, prefix etc . see s3.js +// gcs - bucket, prefix, projectId, credentials . see gcs.js +// ext4/xfs/disk (managed providers) - mountOptions (diskPath), prefix, noHardlinks. disk is legacy. +// nfs/cifs/sshfs (managed providers) - mountOptions (host/username/password/seal/privateKey etc), prefix, noHardlinks +// filesystem - backupFolder, noHardlinks +// mountpoint - mountPoint, prefix, noHardlinks +// 3. encryption. password and encryptedFilenames async function setStorage(req, res, next) { assert.strictEqual(typeof req.body, 'object');