async function remove() { if (_.has(cliConfig.config.clusters, cliConfig.cluster)) { reply.green(`> Removed cluster alias ${cliConfig.cluster}`); delete cliConfig.config.clusters[cliConfig.cluster]; yaml.writeSync(cliConfig.configFile, cliConfig.config); } else { reply.error(`alias ${cliConfig.cluster} not in aliases list`); } await list(); }
async function add() { reply.green(`> Added cluster alias ${cliConfig.cluster}`); cliConfig.config.clusters[cliConfig.cluster] = { host: config._urlCheck(cliConfig.host), cluster_manager_type: cliConfig.cluster_manager_type, }; yaml.writeSync(cliConfig.configFile, cliConfig.config); await list(); }
async function update() { if (_.has(cliConfig.config.clusters, cliConfig.cluster)) { reply.green(`> Updated cluster alias ${cliConfig.cluster}`); if (process.argv.indexOf('-t') > 0 || process.argv.indexOf('--cluster-manager-type') > 0) { cliConfig.config.clusters[cliConfig.cluster].cluster_manager_type = cliConfig.cluster_manager_type; } if (process.argv.indexOf('-c') > 0 || process.argv.indexOf('--host-cluster')) { cliConfig.config.clusters[cliConfig.cluster].host = config._urlCheck(cliConfig.host); } yaml.writeSync(cliConfig.configFile, cliConfig.config); } else { reply.error(`alias ${cliConfig.cluster} not in aliases list`); } await list(); }
function createConfigFile() { const configDir = `${homeDir}/.teraslice`; const configFile = `${configDir}/config-cli.yaml`; const defaultConfigData = { clusters: { localhost: { host: 'http://localhost:5678', cluster_manager_type: 'native' } }, paths: { job_state_dir: `${configDir}/job_state_files`, asset_dir: `${configDir}/assets` } }; if (!fs.existsSync(configDir)) { fs.mkdirSync(configDir); } if (!fs.existsSync(defaultConfigData.paths.job_state_dir)) { fs.mkdirSync(defaultConfigData.paths.job_state_dir); } if (!fs.existsSync(configFile)) { yaml.writeSync(configFile, defaultConfigData); } return configFile; }