SDK Node.js
Carrega secrets directament en una aplicació Node.js en iniciar-se.
Node.js SDK
Carrega secrets directament a la teva aplicació Node.js a l'inici. API asíncrona amb façana d'una línia o constructor fluent per a control total.
Instal·lació
npm install @envilder/sdkInici ràpid: una línia
Carrega secrets des d'un fitxer de mapeig i injecta'ls a process.env:
import { Envilder } from '@envilder/sdk';
// Resolve secrets and inject into process.env
await Envilder.load('envilder.json');
const dbPassword = process.env.DB_PASSWORD;Resoldre sense injectar
Obté secrets com un Map sense modificar l'entorn:
import { Envilder } from '@envilder/sdk';
const secrets = await Envilder.resolveFile('envilder.json');
const dbPassword = secrets.get('DB_PASSWORD');Constructor fluent amb sobreescriptures
Sobreescriu la configuració del proveïdor de manera programàtica amb l'API fluent:
import { Envilder, SecretProviderType } from '@envilder/sdk';
const secrets = await Envilder.fromMapFile('envilder.json')
.withProvider(SecretProviderType.Azure)
.withVaultUrl('https://my-vault.vault.azure.net')
.resolve();
// Or inject directly
await Envilder.fromMapFile('envilder.json')
.withProfile('staging')
.inject();Càrrega basada en entorn
Recomanat per a aplicacions multi-entorn. Mapeja cada entorn al seu fitxer de secrets:
import { Envilder } from '@envilder/sdk';
const env = process.env.APP_ENV ?? 'development';
await Envilder.load(env, {
production: 'prod-secrets.json',
development: 'dev-secrets.json',
test: null, // no secrets loaded
});Validació de secrets
Validació opcional que assegura que tots els secrets resolts tenen valors no buits:
import { Envilder, validateSecrets } from '@envilder/sdk';
const secrets = await Envilder.resolveFile('envilder.json');
validateSecrets(secrets); // throws SecretValidationError if any value is empty