This repository has been archived on 2020-01-20. You can view files and clone it, but cannot push or open issues or pull requests.
node-spearhead/lib/config.js

51 lines
1.3 KiB
JavaScript
Executable File

#!/usr/bin/env node
/**
* Copyright (c) 2014 Joyent Inc. All rights reserved.
*/
var p = console.log;
var assert = require('assert-plus');
var fs = require('fs');
var path = require('path');
var sprintf = require('extsprintf').sprintf;
var common = require('./common');
var CONFIG_PATH = path.resolve(process.env.HOME, '.joyentconfig.json');
var DEFAULTS_PATH = path.resolve(__dirname, '..', 'etc', 'defaults.json');
function loadConfigSync() {
var config = JSON.parse(fs.readFileSync(DEFAULTS_PATH, 'utf8'));
if (fs.existsSync(CONFIG_PATH)) {
var userConfig = JSON.parse(fs.readFileSync(CONFIG_PATH, 'utf8'));
common.objCopy(userConfig, config);
}
// Add 'env' profile.
if (!config.profiles) {
config.profiles = [];
config.profiles.push({
name: 'env',
account: process.env.SDC_USER || process.env.SDC_ACCOUNT,
keyId: process.env.SDC_KEY_ID,
//XXX true/false 0/1 handling
rejectUnauthorized: common.boolFromString(
process.env.SDC_TESTING || process.env.SDC_TLS_INSECURE)
});
}
return config;
}
//---- exports
module.exports = {
CONFIG_PATH: CONFIG_PATH,
loadConfigSync: loadConfigSync
};
// vim: set softtabstop=4 shiftwidth=4: