@coorpacademy/squirrel
Version:
Local mirror mecanism for ETCD
37 lines (25 loc) • 1.06 kB
JavaScript
;
var _minimist = _interopRequireDefault(require("minimist"));
var _etcd = _interopRequireDefault(require("./helper/etcd"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const argz = (0, _minimist.default)(process.argv.slice(2));
const namespace = argz._[0] || '';
const client = (0, _etcd.default)(argz);
const namespacedClient = client.namespace(namespace);
const watch = async () => {
const watcher = await namespacedClient.watch().prefix('').create();
const putHandler = kv => console.log(`PUT ${kv.key.toString()} = ${kv.value.toString()}`);
watcher.on('put', putHandler);
const delHandler = kv => console.log(`DEL ${kv.key.toString()}`);
watcher.on('del', delHandler);
const handle = async () => {
await watcher.cancel();
client.close();
};
process.on('SIGINT', handle);
process.on('SIGTERM', handle);
return new Promise(resolve => watcher.once('end', resolve));
};
watch().catch(console.error);
//# sourceMappingURL=watch.js.map