
The yargs framework combined with the pkg packaging causes the executable name to be mangled on installation. For this reason, the usage should be explicitly added to each command.
73 lines
2.6 KiB
JavaScript
73 lines
2.6 KiB
JavaScript
/*
|
|
* Copyright (c) 2016 MariaDB Corporation Ab
|
|
*
|
|
* Use of this software is governed by the Business Source License included
|
|
* in the LICENSE.TXT file and at www.mariadb.com/bsl11.
|
|
*
|
|
* Change Date: 2020-01-01
|
|
*
|
|
* On the date above, in accordance with the Business Source License, use
|
|
* of this software will be governed by version 2 or later of the General
|
|
* Public License.
|
|
*/
|
|
require('./common.js')()
|
|
|
|
const log_levels = [
|
|
'debug',
|
|
'info',
|
|
'notice',
|
|
'warning'
|
|
]
|
|
|
|
exports.command = 'enable <command>'
|
|
exports.desc = 'Enable functionality'
|
|
exports.handler = function() {}
|
|
exports.builder = function(yargs) {
|
|
yargs
|
|
.command('log-priority <log>', 'Enable log priority [warning|notice|info|debug]', function(yargs) {
|
|
return yargs.epilog('The `debug` log priority is only available for debug builds of MaxScale.')
|
|
.usage('Usage: enable log-priority <log>')
|
|
}, function(argv) {
|
|
if (log_levels.indexOf(argv.log) != -1) {
|
|
maxctrl(argv, function(host) {
|
|
return updateValue(host, 'maxscale/logs', 'data.attributes.parameters.log_' + argv.log, true)
|
|
})
|
|
} else {
|
|
maxctrl(argv, function() {
|
|
return error('Invalid log priority: ' + argv.log)
|
|
})
|
|
}
|
|
})
|
|
.group(['type'], 'Enable account options:')
|
|
.option('type', {
|
|
describe: 'Type of user to create',
|
|
type: 'string',
|
|
default: 'basic',
|
|
choices: ['admin', 'basic']
|
|
})
|
|
.command('account <name>', 'Activate a Linux user account for administrative use', function(yargs) {
|
|
return yargs.epilog('The Linux user accounts are used by the MaxAdmin UNIX Domain Socket interface')
|
|
.usage('Usage: enable account <name>')
|
|
}, function(argv) {
|
|
var req_body = {
|
|
data: {
|
|
id: argv.name,
|
|
type: 'unix',
|
|
attributes: {
|
|
'account': argv.type
|
|
}
|
|
}
|
|
}
|
|
maxctrl(argv, function(host) {
|
|
return doRequest(host, 'users/unix', null, { method: 'POST', body: req_body})
|
|
})
|
|
})
|
|
.usage('Usage: enable <command>')
|
|
.help()
|
|
.command('*', 'the default command', {}, function(argv) {
|
|
maxctrl(argv, function(host) {
|
|
return error('Unknown command. See output of `help enable` for a list of commands.')
|
|
})
|
|
})
|
|
}
|