From 24d9d3063b3c8e3b6b564f188deb1070846674a4 Mon Sep 17 00:00:00 2001 From: Girish Ramakrishnan Date: Thu, 21 Jun 2018 21:59:47 -0700 Subject: [PATCH] Allow specifying bindMounts array to localstorage addon --- src/addons.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/addons.js b/src/addons.js index d2c213f17..148136504 100644 --- a/src/addons.js +++ b/src/addons.js @@ -207,13 +207,21 @@ function getBindsSync(app, addons) { assert.strictEqual(typeof app, 'object'); assert(!addons || typeof addons === 'object'); - var binds = [ ]; + let binds = [ ]; if (!addons) return binds; - for (var addon in addons) { + for (let addon in addons) { switch (addon) { - case 'localstorage': binds.push(path.join(paths.APPS_DATA_DIR, app.id, 'data') + ':/app/data:rw'); break; + case 'localstorage': + binds.push(path.join(paths.APPS_DATA_DIR, app.id, 'data') + ':/app/data:rw'); + if (!Array.isArray(addons[addon].bindMounts)) break; + + for (let mount of addons[addon].bindMounts) { + let [ host, container ] = mount.split(':'); + binds.push(path.join(paths.APPS_DATA_DIR, app.id, 'data', host) + ':' + container); + } + break; default: break; } }