Compare commits

...

1 Commits

Author SHA1 Message Date
philipyoo 02720ffe00 rf: ZENKO-1531 move replication info logic to arsenal
Move replication info logic to arsenal. Plan to use same
logic in backbeat
2019-03-09 21:39:32 -08:00
3 changed files with 161 additions and 143 deletions

View File

@ -1,64 +1,8 @@
const s3config = require('../../../Config').config;
const { isBackbeatUser } = require('../authorization/aclChecks');
const { replicationBackends } = require('arsenal').constants;
function _getBackend(objectMD, site) {
const backends = objectMD ? objectMD.replicationInfo.backends : [];
const backend = backends.find(o => o.site === site);
// If the backend already exists, just update the status.
if (backend) {
return Object.assign({}, backend, { status: 'PENDING' });
}
return {
site,
status: 'PENDING',
dataStoreVersionId: '',
};
}
function _getStorageClasses(rule) {
if (rule.storageClass) {
return rule.storageClass.split(',');
}
const { replicationEndpoints } = s3config;
// If no storage class, use the given default endpoint or the sole endpoint
if (replicationEndpoints.length > 1) {
const endPoint =
replicationEndpoints.find(endpoint => endpoint.default);
return [endPoint.site];
}
return [replicationEndpoints[0].site];
}
function _getReplicationInfo(rule, replicationConfig, content, operationType,
objectMD, bucketMD) {
const storageTypes = [];
const backends = [];
const storageClasses = _getStorageClasses(rule);
storageClasses.forEach(storageClass => {
const storageClassName =
storageClass.endsWith(':preferred_read') ?
storageClass.split(':')[0] : storageClass;
const location = s3config.locationConstraints[storageClassName];
if (location && replicationBackends[location.type]) {
storageTypes.push(location.type);
}
backends.push(_getBackend(objectMD, storageClassName));
});
if (storageTypes.length > 0 && operationType) {
content.push(operationType);
}
return {
status: 'PENDING',
backends,
content,
destination: replicationConfig.destination,
storageClass: storageClasses.join(','),
role: replicationConfig.role,
storageType: storageTypes.join(','),
isNFS: bucketMD.isNFS(),
};
}
// const { replicationBackends } = require('arsenal').constants;
const { getReplicationInfoObject } =
require('arsenal').s3middleware.replicationInfo;
/**
* Get the object replicationInfo to replicate data and metadata, or only
@ -95,8 +39,8 @@ function getReplicationInfo(objKey, bucketMD, isMD, objSize, operationType,
const rule = config.rules.find(rule =>
(objKey.startsWith(rule.prefix) && rule.enabled));
if (rule) {
return _getReplicationInfo(rule, config, content, operationType,
objectMD, bucketMD);
return getReplicationInfoObject(rule, config, content,
operationType, objectMD, bucketMD, s3config);
}
}
return undefined;

236
package-lock.json generated
View File

@ -120,7 +120,7 @@
},
"ajv": {
"version": "4.10.0",
"resolved": "http://registry.npmjs.org/ajv/-/ajv-4.10.0.tgz",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-4.10.0.tgz",
"integrity": "sha1-euYWkYDrGZGSqLmhn9D0f8msh2Q=",
"requires": {
"co": "^4.6.0",
@ -225,8 +225,8 @@
"integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog=="
},
"arsenal": {
"version": "github:scality/arsenal#c657b4b4691161a79773230d56958b816d9a740b",
"from": "github:scality/arsenal#c657b4b",
"version": "github:scality/arsenal#d460d8b9d54e6e5a1571268e95fa6a257f9629ab",
"from": "github:scality/arsenal#d460d8b",
"requires": {
"JSONStream": "^1.0.0",
"ajv": "4.10.0",
@ -238,6 +238,7 @@
"debug": "~4.1.0",
"diskusage": "^1.0.0",
"fcntl": "github:scality/node-fcntl#9108603d8881d7762dcadfde1db927a1653dfda5",
"https-proxy-agent": "^2.2.0",
"ioctl": "2.0.1",
"ioredis": "4.2.0",
"ipaddr.js": "1.8.1",
@ -249,6 +250,7 @@
"simple-glob": "^0.2.0",
"socket.io": "~2.2.0",
"socket.io-client": "~2.2.0",
"sproxydclient": "github:scality/sproxydclient#45090b76b24ca1d05482bf151ba84ff6178423d1",
"utf8": "3.0.0",
"uuid": "^3.0.1",
"werelogs": "github:scality/werelogs#0ff7ec82f0deb1e472d8285fb7cc9ebde72c5f61",
@ -351,9 +353,9 @@
},
"dependencies": {
"bson": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/bson/-/bson-1.1.0.tgz",
"integrity": "sha512-9Aeai9TacfNtWXOYarkFJRW2CWo+dRon+fuLZYJmvLV3+MiUp0bEI6IAZfXEIg7/Pl/7IWlLaDnhzTsD81etQA=="
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/bson/-/bson-1.1.1.tgz",
"integrity": "sha512-jCGVYLoYMHDkOsbwJZBCqwMHyH4c+wzgI9hG7Z6SZJRXWr+x58pdIbm2i9a/jFGCkRJqRUr8eoI7lDWa0hTkxg=="
}
}
},
@ -810,10 +812,6 @@
"bucketclient": {
"version": "github:scality/bucketclient#5aa99d7b25fdfb5a42b787cce7710cdec8ac78f0",
"from": "github:scality/bucketclient#5aa99d7",
"requires": {
"arsenal": "github:scality/Arsenal#bd1bac6b56e01c65320eb315b26221db5adb4b38",
"werelogs": "github:scality/werelogs#a5605431dfd5927fe74871a737b14fcdbbe9b0c2"
},
"dependencies": {
"abstract-leveldown": {
"version": "2.6.3",
@ -839,7 +837,7 @@
},
"arsenal": {
"version": "github:scality/Arsenal#bd1bac6b56e01c65320eb315b26221db5adb4b38",
"from": "github:scality/Arsenal#7.4.0.3",
"from": "github:scality/Arsenal#bd1bac6b56e01c65320eb315b26221db5adb4b38",
"requires": {
"JSONStream": "^1.0.0",
"ajv": "4.10.0",
@ -864,7 +862,7 @@
"dependencies": {
"werelogs": {
"version": "github:scality/werelogs#a5605431dfd5927fe74871a737b14fcdbbe9b0c2",
"from": "github:scality/werelogs#a5605431dfd5927fe74871a737b14fcdbbe9b0c2",
"from": "github:scality/werelogs#hotfix/7.4.0",
"requires": {
"safe-json-stringify": "^1.0.3"
}
@ -933,6 +931,14 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
"integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
},
"parsejson": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz",
"integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=",
"requires": {
"better-assert": "~1.0.0"
}
}
}
},
@ -947,6 +953,21 @@
"blob": "0.0.4",
"has-binary": "0.1.7",
"wtf-8": "1.0.0"
},
"dependencies": {
"has-binary": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz",
"integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=",
"requires": {
"isarray": "0.0.1"
}
},
"wtf-8": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wtf-8/-/wtf-8-1.0.0.tgz",
"integrity": "sha1-OS2LotDxw00e4tYw8V0O+2jhBIo="
}
}
},
"hoek": {
@ -988,6 +1009,13 @@
"isemail": "2.x.x",
"items": "2.x.x",
"topo": "2.x.x"
},
"dependencies": {
"items": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/items/-/items-2.1.2.tgz",
"integrity": "sha512-kezcEqgB97BGeZZYtX/MA8AG410ptURstvnz5RAgyFZ8wQFPMxHY8GpTq+/ZHKT3frSlIthUq7EvLt9xn3TvXg=="
}
}
},
"level": {
@ -1150,6 +1178,16 @@
"socket.io-adapter": "0.5.0",
"socket.io-client": "1.7.4",
"socket.io-parser": "2.3.1"
},
"dependencies": {
"has-binary": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz",
"integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=",
"requires": {
"isarray": "0.0.1"
}
}
}
},
"socket.io-adapter": {
@ -1183,6 +1221,14 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
"integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
},
"has-binary": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz",
"integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=",
"requires": {
"isarray": "0.0.1"
}
}
}
},
@ -1204,6 +1250,11 @@
"requires": {
"ms": "0.7.1"
}
},
"json3": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
"integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE="
}
}
},
@ -1217,7 +1268,7 @@
},
"werelogs": {
"version": "github:scality/werelogs#a5605431dfd5927fe74871a737b14fcdbbe9b0c2",
"from": "github:scality/werelogs#7.4.0.3",
"from": "github:scality/werelogs#a5605431dfd5927fe74871a737b14fcdbbe9b0c2",
"requires": {
"safe-json-stringify": "^1.0.3"
}
@ -1229,6 +1280,18 @@
"requires": {
"options": ">=0.0.5",
"ultron": "1.0.x"
},
"dependencies": {
"options": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
"integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8="
},
"ultron": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
"integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po="
}
}
},
"xmlhttprequest-ssl": {
@ -1366,7 +1429,7 @@
"resolved": "github:scality/cdmiclient#8f0c2e6331dfa905bfe269fb4e1558d65ca0b866",
"optional": true,
"requires": {
"arsenal": "github:scality/Arsenal#9fe0ba5c8cd24dad3b6fea8b937e5616a04476bc",
"arsenal": "github:scality/Arsenal#b9c419dde77deb13ff8eba7411a1b4d5f8943e16",
"async": "~1.4.2",
"werelogs": "github:scality/werelogs#1a6e052fb2bdfb1c4f6bb9467dc814e79abf6e46"
},
@ -1395,7 +1458,7 @@
"integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco="
},
"arsenal": {
"version": "github:scality/Arsenal#9fe0ba5c8cd24dad3b6fea8b937e5616a04476bc",
"version": "github:scality/Arsenal#b9c419dde77deb13ff8eba7411a1b4d5f8943e16",
"from": "github:scality/Arsenal#development/8.0",
"optional": true,
"requires": {
@ -1450,7 +1513,7 @@
},
"blob": {
"version": "0.0.4",
"resolved": "http://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
"resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
"integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE="
},
"bson": {
@ -1515,7 +1578,7 @@
},
"engine.io-parser": {
"version": "1.3.2",
"resolved": "http://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz",
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz",
"integrity": "sha1-k3sHnwAH0Ik+xW1GyyILjLQ1Igo=",
"requires": {
"after": "0.8.2",
@ -1528,7 +1591,7 @@
},
"hoek": {
"version": "4.2.1",
"resolved": "http://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz",
"integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA=="
},
"ioctl": {
@ -1554,7 +1617,7 @@
},
"isemail": {
"version": "2.2.1",
"resolved": "http://registry.npmjs.org/isemail/-/isemail-2.2.1.tgz",
"resolved": "https://registry.npmjs.org/isemail/-/isemail-2.2.1.tgz",
"integrity": "sha1-A1PT2aYpUQgMJiwqoKQrjqjp4qY=",
"optional": true
},
@ -1596,7 +1659,7 @@
},
"level-iterator-stream": {
"version": "1.3.1",
"resolved": "http://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz",
"resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz",
"integrity": "sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0=",
"optional": true,
"requires": {
@ -1668,19 +1731,19 @@
}
},
"mongodb": {
"version": "3.1.10",
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.1.10.tgz",
"integrity": "sha512-Uml42GeFxhTGQVml1XQ4cD0o/rp7J2ROy0fdYUcVitoE7vFqEhKH4TYVqRDpQr/bXtCJVxJdNQC1ntRxNREkPQ==",
"version": "3.1.13",
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.1.13.tgz",
"integrity": "sha512-sz2dhvBZQWf3LRNDhbd30KHVzdjZx9IKC0L+kSZ/gzYquCF5zPOgGqRz6sSCqYZtKP2ekB4nfLxhGtzGHnIKxA==",
"optional": true,
"requires": {
"mongodb-core": "3.1.9",
"mongodb-core": "3.1.11",
"safe-buffer": "^5.1.2"
}
},
"mongodb-core": {
"version": "3.1.9",
"resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-3.1.9.tgz",
"integrity": "sha512-MJpciDABXMchrZphh3vMcqu8hkNf/Mi+Gk6btOimVg1XMxLXh87j6FAvRm+KmwD1A9fpu3qRQYcbQe4egj23og==",
"version": "3.1.11",
"resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-3.1.11.tgz",
"integrity": "sha512-rD2US2s5qk/ckbiiGFHeu+yKYDXdJ1G87F6CG3YdaZpzdOm5zpoAZd/EKbPmFO6cQZ+XVXBXBJ660sSI0gc6qg==",
"optional": true,
"requires": {
"bson": "^1.1.0",
@ -1690,16 +1753,16 @@
},
"dependencies": {
"bson": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/bson/-/bson-1.1.0.tgz",
"integrity": "sha512-9Aeai9TacfNtWXOYarkFJRW2CWo+dRon+fuLZYJmvLV3+MiUp0bEI6IAZfXEIg7/Pl/7IWlLaDnhzTsD81etQA==",
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/bson/-/bson-1.1.1.tgz",
"integrity": "sha512-jCGVYLoYMHDkOsbwJZBCqwMHyH4c+wzgI9hG7Z6SZJRXWr+x58pdIbm2i9a/jFGCkRJqRUr8eoI7lDWa0hTkxg==",
"optional": true
}
}
},
"ms": {
"version": "0.7.1",
"resolved": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
},
"object-assign": {
@ -1733,7 +1796,7 @@
},
"readable-stream": {
"version": "1.1.14",
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"optional": true,
"requires": {
@ -1814,7 +1877,7 @@
},
"socket.io-parser": {
"version": "2.3.1",
"resolved": "http://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz",
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz",
"integrity": "sha1-3VMgJRA85Clpcya+/WQAX8/ltKA=",
"requires": {
"component-emitter": "1.1.2",
@ -1825,7 +1888,7 @@
"dependencies": {
"debug": {
"version": "2.2.0",
"resolved": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
"requires": {
"ms": "0.7.1"
@ -1835,7 +1898,7 @@
},
"topo": {
"version": "2.0.2",
"resolved": "http://registry.npmjs.org/topo/-/topo-2.0.2.tgz",
"resolved": "https://registry.npmjs.org/topo/-/topo-2.0.2.tgz",
"integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=",
"optional": true,
"requires": {
@ -4070,21 +4133,21 @@
}
},
"leveldown": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/leveldown/-/leveldown-4.0.1.tgz",
"integrity": "sha512-ZlBKVSsglPIPJnz4ggB8o2R0bxDxbsMzuQohbfgoFMVApyTE118DK5LNRG0cRju6rt3OkGxe0V6UYACGlq/byg==",
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/leveldown/-/leveldown-4.0.2.tgz",
"integrity": "sha512-SUgSRTWFh3eeiTdIt2a4Fi9TZO5oWzE9uC/Iw8+fVr1sk8x1S2l151UWwSmrMFZB3GxJhZIf4bQ0n+051Cctpw==",
"requires": {
"abstract-leveldown": "~5.0.0",
"bindings": "~1.3.0",
"fast-future": "~1.0.2",
"nan": "~2.10.0",
"prebuild-install": "^4.0.0"
"nan": "~2.12.1",
"prebuild-install": "~5.2.4"
},
"dependencies": {
"nan": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
"integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA=="
"version": "2.12.1",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
"integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw=="
}
}
},
@ -4290,9 +4353,9 @@
"dev": true
},
"memory-pager": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.3.1.tgz",
"integrity": "sha512-pUf/sGkym2WqFZYTVmdASnSbNfpGc9rwxEHOePx4lT/fD+NHGL1U16Uy4o6PMiVcDv4mp6MI/vaF0c/Kd1QEUQ==",
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
"integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
"optional": true
},
"mime": {
@ -4486,6 +4549,11 @@
"resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz",
"integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA=="
},
"napi-build-utils": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.1.tgz",
"integrity": "sha512-boQj1WFgQH3v4clhu3mTNfP+vOBxorDlE8EKiMjUlLG3C4qAESnn9AxIOkFgTR2c9LtzNjPrjS60cT27ZKBhaA=="
},
"natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@ -4900,25 +4968,41 @@
"dev": true
},
"prebuild-install": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-4.0.0.tgz",
"integrity": "sha512-7tayxeYboJX0RbVzdnKyGl2vhQRWr6qfClEXDhOkXjuaOKCw2q8aiuFhONRYVsG/czia7KhpykIlI2S2VaPunA==",
"version": "5.2.4",
"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.2.4.tgz",
"integrity": "sha512-CG3JnpTZXdmr92GW4zbcba4jkDha6uHraJ7hW4Fn8j0mExxwOKK20hqho8ZuBDCKYCHYIkFM1P2jhtG+KpP4fg==",
"requires": {
"detect-libc": "^1.0.3",
"expand-template": "^1.0.2",
"expand-template": "^2.0.3",
"github-from-package": "0.0.0",
"minimist": "^1.2.0",
"mkdirp": "^0.5.1",
"node-abi": "^2.2.0",
"napi-build-utils": "^1.0.1",
"node-abi": "^2.7.0",
"noop-logger": "^0.1.1",
"npmlog": "^4.0.1",
"os-homedir": "^1.0.1",
"pump": "^2.0.1",
"rc": "^1.1.6",
"rc": "^1.2.7",
"simple-get": "^2.7.0",
"tar-fs": "^1.13.0",
"tunnel-agent": "^0.6.0",
"which-pm-runs": "^1.0.0"
},
"dependencies": {
"expand-template": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
"integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg=="
},
"node-abi": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.7.1.tgz",
"integrity": "sha512-OV8Bq1OrPh6z+Y4dqwo05HqrRL9YNF7QVMRfq1/pguwKLG+q9UB/Lk0x5qXjO23JjJg+/jqCHSTaG1P3tfKfuw==",
"requires": {
"semver": "^5.4.1"
}
}
}
},
"prelude-ls": {
@ -5599,13 +5683,10 @@
"sproxydclient": {
"version": "github:scality/sproxydclient#45090b76b24ca1d05482bf151ba84ff6178423d1",
"from": "github:scality/sproxydclient#45090b7",
"requires": {
"werelogs": "github:scality/werelogs#a5605431dfd5927fe74871a737b14fcdbbe9b0c2"
},
"dependencies": {
"werelogs": {
"version": "github:scality/werelogs#a5605431dfd5927fe74871a737b14fcdbbe9b0c2",
"from": "github:scality/werelogs#7.4.0.3",
"from": "github:scality/werelogs#a5605431dfd5927fe74871a737b14fcdbbe9b0c2",
"requires": {
"safe-json-stringify": "^1.0.3"
}
@ -6080,12 +6161,9 @@
"version": "github:scality/utapi#f2f1d0c7423ffdec2ad175e3c0e8bcd7aa2ba867",
"from": "github:scality/utapi#f2f1d0c",
"requires": {
"arsenal": "github:scality/Arsenal#6736508364ed537a8851838ba56cf147234c7bd8",
"async": "^2.0.1",
"ioredis": "^2.3.0",
"node-schedule": "1.2.0",
"vaultclient": "github:scality/vaultclient#fbd9988dcc2559ac68d4f1c1aea95e0db57f7d0c",
"werelogs": "github:scality/werelogs#0ff7ec82f0deb1e472d8285fb7cc9ebde72c5f61"
"node-schedule": "1.2.0"
},
"dependencies": {
"abstract-leveldown": {
@ -6112,7 +6190,7 @@
},
"arsenal": {
"version": "github:scality/Arsenal#6736508364ed537a8851838ba56cf147234c7bd8",
"from": "github:scality/Arsenal#67365083",
"from": "github:scality/Arsenal#6736508364ed537a8851838ba56cf147234c7bd8",
"requires": {
"JSONStream": "^1.0.0",
"ajv": "4.10.0",
@ -6145,7 +6223,7 @@
},
"werelogs": {
"version": "github:scality/werelogs#0ff7ec82f0deb1e472d8285fb7cc9ebde72c5f61",
"from": "github:scality/werelogs#0ff7ec82f0deb1e472d8285fb7cc9ebde72c5f61",
"from": "github:scality/werelogs#0ff7ec82",
"requires": {
"safe-json-stringify": "1.0.3"
}
@ -6498,7 +6576,7 @@
},
"vaultclient": {
"version": "github:scality/vaultclient#fbd9988dcc2559ac68d4f1c1aea95e0db57f7d0c",
"from": "github:scality/vaultclient#fbd9988d",
"from": "github:scality/vaultclient#fbd9988dcc2559ac68d4f1c1aea95e0db57f7d0c",
"requires": {
"arsenal": "github:scality/Arsenal#6736508364ed537a8851838ba56cf147234c7bd8",
"commander": "2.9.0",
@ -6508,7 +6586,7 @@
"dependencies": {
"arsenal": {
"version": "github:scality/Arsenal#6736508364ed537a8851838ba56cf147234c7bd8",
"from": "github:scality/Arsenal#6736508364ed537a8851838ba56cf147234c7bd8",
"from": "github:scality/Arsenal#67365083",
"requires": {
"JSONStream": "^1.0.0",
"ajv": "4.10.0",
@ -6529,15 +6607,6 @@
"uuid": "^3.0.1",
"werelogs": "github:scality/werelogs#0ff7ec82f0deb1e472d8285fb7cc9ebde72c5f61",
"xml2js": "~0.4.16"
},
"dependencies": {
"werelogs": {
"version": "github:scality/werelogs#0ff7ec82f0deb1e472d8285fb7cc9ebde72c5f61",
"from": "github:scality/werelogs#0ff7ec82",
"requires": {
"safe-json-stringify": "1.0.3"
}
}
}
},
"async": {
@ -6550,7 +6619,7 @@
},
"werelogs": {
"version": "github:scality/werelogs#0ff7ec82f0deb1e472d8285fb7cc9ebde72c5f61",
"from": "github:scality/werelogs#0ff7ec82f0deb1e472d8285fb7cc9ebde72c5f61",
"from": "github:scality/werelogs#0ff7ec82",
"requires": {
"safe-json-stringify": "1.0.3"
}
@ -6568,7 +6637,7 @@
},
"werelogs": {
"version": "github:scality/werelogs#0ff7ec82f0deb1e472d8285fb7cc9ebde72c5f61",
"from": "github:scality/werelogs#0ff7ec82",
"from": "github:scality/werelogs#0ff7ec82f0deb1e472d8285fb7cc9ebde72c5f61",
"requires": {
"safe-json-stringify": "1.0.3"
}
@ -6669,15 +6738,13 @@
"version": "github:scality/vaultclient#2cd6ef88d2e0b84e79c425c573b2bc18ff1592c1",
"from": "github:scality/vaultclient#2cd6ef8",
"requires": {
"arsenal": "github:scality/arsenal#84bf7bd511297dca24bcc331f2f59b740de72a23",
"commander": "2.9.0",
"werelogs": "github:scality/werelogs#74b121bef4068645e307da143749e61ef416a4c3",
"xml2js": "0.4.17"
},
"dependencies": {
"arsenal": {
"version": "github:scality/arsenal#84bf7bd511297dca24bcc331f2f59b740de72a23",
"from": "github:scality/arsenal#84bf7bd",
"from": "github:scality/arsenal#84bf7bd511297dca24bcc331f2f59b740de72a23",
"requires": {
"JSONStream": "^1.0.0",
"ajv": "4.10.0",
@ -6816,9 +6883,9 @@
},
"dependencies": {
"bson": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/bson/-/bson-1.1.0.tgz",
"integrity": "sha512-9Aeai9TacfNtWXOYarkFJRW2CWo+dRon+fuLZYJmvLV3+MiUp0bEI6IAZfXEIg7/Pl/7IWlLaDnhzTsD81etQA=="
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/bson/-/bson-1.1.1.tgz",
"integrity": "sha512-jCGVYLoYMHDkOsbwJZBCqwMHyH4c+wzgI9hG7Z6SZJRXWr+x58pdIbm2i9a/jFGCkRJqRUr8eoI7lDWa0hTkxg=="
}
}
},
@ -6840,6 +6907,13 @@
"resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz",
"integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ=="
},
"werelogs": {
"version": "github:scality/werelogs#74b121bef4068645e307da143749e61ef416a4c3",
"from": "github:scality/werelogs#74b121bef4068645e307da143749e61ef416a4c3",
"requires": {
"safe-json-stringify": "^1.0.3"
}
},
"xml2js": {
"version": "0.4.17",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz",

View File

@ -19,7 +19,7 @@
},
"homepage": "https://github.com/scality/S3#readme",
"dependencies": {
"arsenal": "github:scality/arsenal#c479933",
"arsenal": "github:scality/arsenal#d460d8b",
"async": "~2.5.0",
"aws-sdk": "2.28.0",
"azure-storage": "^2.1.0",