Files
dbis_core/scripts/provision-admin-vault.ts
2026-03-02 12:14:07 -08:00

67 lines
2.1 KiB
TypeScript

// Provision Admin Vault for Sankofa Admin Portal
// Creates the admin vault using the provisioning service
import { adminVaultProvisioningService } from '../src/core/iru/provisioning/admin-vault-provisioning.service';
async function main() {
const args = process.argv.slice(2);
// Parse arguments
let orgName = 'Sankofa Admin';
let vaultName = 'sankofa-admin';
let adminLevel: 'super_admin' | 'admin' | 'operator' = 'super_admin';
for (let i = 0; i < args.length; i++) {
if (args[i] === '--org' && args[i + 1]) {
orgName = args[i + 1];
i++;
} else if (args[i] === '--name' && args[i + 1]) {
vaultName = args[i + 1];
i++;
} else if (args[i] === '--level' && args[i + 1]) {
adminLevel = args[i + 1] as 'super_admin' | 'admin' | 'operator';
i++;
}
}
console.log('Provisioning Admin Vault...');
console.log(` Organization: ${orgName}`);
console.log(` Vault Name: ${vaultName}`);
console.log(` Admin Level: ${adminLevel}`);
console.log('');
try {
const result = await adminVaultProvisioningService.provisionAdminVault({
organizationName: orgName,
vaultName: vaultName,
adminLevel: adminLevel,
features: {
auditLogging: true,
backupEnabled: true,
encryptionLevel: 'enhanced',
},
});
console.log('✅ Admin vault provisioned successfully!');
console.log('');
console.log('Vault Details:');
console.log(` Vault ID: ${result.vaultId}`);
console.log(` Vault Path: ${result.vaultPath}`);
console.log(` API Endpoint: ${result.apiEndpoint}`);
console.log(` Role ID: ${result.roleId}`);
console.log(` Secret ID: ${result.secretId}`);
console.log('');
console.log('⚠️ IMPORTANT: Store these credentials securely!');
console.log('');
console.log('Next steps:');
console.log('1. Run migration script: ./scripts/migrate-secrets-to-admin-vault.sh');
console.log('2. Store credentials in secure location');
console.log('3. Update applications to use admin vault');
} catch (error) {
console.error('❌ Failed to provision admin vault:', error);
process.exit(1);
}
}
main();