1
0
mirror of https://git.cloudron.io/cloudron/minio-app synced 2025-01-06 04:32:03 +00:00
minio-app/minio-credentials
Girish Ramakrishnan e0ce87b291 config dir is dead
minio now stores the config as part of the storage system under .minio.sys
when passed config dir, it merely "migrates" config.json to the new system
and renames config.json to config.json.deprecated
2020-01-16 15:34:24 -08:00

38 lines
1.1 KiB
JavaScript
Executable File

#!/usr/bin/env node
'use strict';
const fs = require('fs');
const MINIO_CONFIG = '/app/data/data/.minio.sys/config/config.json';
function usage() {
console.log('Usage:\n');
console.log('\tminio-credentials get');
console.log('\tminio-credentials set <access key> <secret key>');
console.log();
}
let config = JSON.parse(fs.readFileSync(MINIO_CONFIG, 'utf8'));
let adminCredentials = config['credentials']['_'];
let accessKey = adminCredentials.filter(kv => kv.key === 'access_key')[0];
let secretKey = adminCredentials.filter(kv => kv.key === 'secret_key')[0];
if (process.argv[2] === 'get') {
console.log('Access Key:', accessKey.value);
console.log('Secret Key:', secretKey.value);
} else if (process.argv[2] === 'set') {
if (process.argv.length !== 5) return usage();
accessKey.value = process.argv[3];
if (process.argv[4].length < 8) return console.log('secret key must be atleast 8 characters');
secretKey.value = process.argv[4];
fs.writeFileSync(MINIO_CONFIG, JSON.stringify(config), 'utf8');
console.log('Credentials updated\n. Restart minio app for new credentials to take effect.\n');
} else {
usage();
}