Workaround for egg remote config.
Because Egg Config Loader is sync, but sometime we need to load remote config.
So, this plugin will load remote config at agent's lifecycle, then write to file, then readFileSync at worker's lifecycle.
$ npm i --save egg-remote-config
// {app_root}/config/plugin.js
exports.remoteConfig = {
enable: true,
package: 'egg-remote-config',
};
// {app_root}/config/config.default.js
exports.remoteConfig = {
async handler(agent) {
// will override app.config
const { data } = await agent.curl('http://remote-url/config', { dataType: 'json', contentType: 'json' });
return data;
}
};
see config/config.default.js for more detail.
Please open an issue here.