@igetis/keyvault
v1.2.0
Published
Official IGETIS KeyVault SDK for Node.js — secure secrets management.
Downloads
23
Maintainers
Readme
@igetis/keyvault
Official IGETIS KeyVault SDK for Node.js — fetch and manage your application secrets securely.
Installation
npm install @igetis/keyvaultUsage
You need three parameters from your IGETIS KeyVault portal:
| Parameter | Description |
|---|---|
| tenantId | Your tenant GUID |
| clientId | Your numeric application ID |
| secrets | Your application secret passphrase |
import { IgetisKeyvaults } from '@igetis/keyvault';
const keyVault = new IgetisKeyvaults({
tenantId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
clientId: '42',
secrets: 'your-secret-passphrase',
});
const keys = await keyVault.getProjectKeys();
if (keys['Error']) {
console.error('KeyVault error:', keys['Error']);
} else {
console.log('DB_CONNECTION:', keys['DB_CONNECTION_STRING']);
console.log('API_KEY:', keys['EXTERNAL_API_KEY']);
}With environment variables (recommended)
import { IgetisKeyvaults } from '@igetis/keyvault';
const keyVault = new IgetisKeyvaults({
tenantId: process.env.KV_TENANT_ID!,
clientId: process.env.KV_CLIENT_ID!,
secrets: process.env.KV_SECRETS!,
});
const keys = await keyVault.getProjectKeys();NestJS integration
// app.module.ts
import { Module } from '@nestjs/common';
import { IgetisKeyvaults } from '@igetis/keyvault';
import { ConfigModule, ConfigService } from '@nestjs/config';
@Module({
imports: [ConfigModule.forRoot()],
})
export class AppModule {
static async forRoot() {
const vault = new IgetisKeyvaults({
tenantId: process.env.KV_TENANT_ID!,
clientId: process.env.KV_CLIENT_ID!,
secrets: process.env.KV_SECRETS!,
});
const keys = await vault.getProjectKeys();
// Merge into process.env so ConfigService picks them up
Object.entries(keys).forEach(([k, v]) => {
if (k !== 'Error') process.env[k] = String(v);
});
}
}API Reference
new IgetisKeyvaults(credentials)
| Parameter | Type | Description |
|---|---|---|
| credentials.tenantId | string | Your tenant GUID |
| credentials.clientId | string | Your numeric client ID |
| credentials.secrets | string | Your secret passphrase |
getProjectKeys(): Promise<SecretsResult>
Validates your credentials and returns all secrets as a flat Record<string, unknown>.
Returns { Error: string } if credentials are invalid or no secrets are found.
Requirements
- Node.js >= 18
License
MIT © IGETIS
