roster-server
Version:
👾 RosterServer - A domain host router to host multiple HTTPS.
78 lines (71 loc) • 2.38 kB
JavaScript
;
var log = require('lemonlog')('greenlock-config');
var args = process.argv.slice(3);
var cli = require('./lib/cli.js');
//var path = require('path');
//var pkgpath = path.join(__dirname, '..', 'package.json');
//var pkgpath = path.join(process.cwd(), 'package.json');
var Flags = require('./lib/flags.js');
Flags.init().then(function({ flagOptions, greenlock, mconf }) {
var myFlags = {};
['all', 'subject', 'servername' /*, 'servernames', 'altnames'*/].forEach(
function(k) {
myFlags[k] = flagOptions[k];
}
);
cli.parse(myFlags);
cli.main(function(argList, flags) {
Flags.mangleFlags(flags, mconf);
main(argList, flags, greenlock);
}, args);
});
async function main(_, flags, greenlock) {
var servernames = [flags.subject]
.concat([flags.servername])
//.concat(flags.servernames)
//.concat(flags.altnames)
.filter(Boolean);
delete flags.subject;
delete flags.altnames;
flags.servernames = servernames;
if (!flags.all && flags.servernames.length > 1) {
log.error('Specify either --subject OR --servername');
process.exit(1);
return;
} else if (!flags.all && flags.servernames.length !== 1) {
log.error('Missing --servername <example.com>');
process.exit(1);
return;
}
if (!flags.all) {
flags.servername = flags.servernames[0];
} else if (flags.servername) {
log.error('Cannot use both --all and --servername/--subject');
process.exit(1);
}
delete flags.servernames;
var getter = function() {
return greenlock._config(flags);
};
if (flags.all) {
getter = function() {
return greenlock._configAll(flags);
};
}
return getter()
.catch(function(err) {
log.error('Config failed:', err.message);
process.exit(1);
})
.then(function(sites) {
if (!sites) {
log.info(flags.all ? 'No configs found' : 'No config for %s', flags.servername);
process.exit(1);
return;
}
if (!Array.isArray(sites)) sites = [sites];
sites.forEach(function(site) {
log.info('Config for %s:', flags.servername || site.subject, site);
});
});
}