< Summary - Envilder CLI

Information
Class: src/envilder/core/infrastructure/azure/AzureSecretProviderFactory.ts
Assembly: Default
File(s): src/envilder/core/infrastructure/azure/AzureSecretProviderFactory.ts
Tag: 561_41292037308
Line coverage
100%
Covered lines: 6
Uncovered lines: 0
Coverable lines: 6
Total lines: 19
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

File(s)

src/envilder/core/infrastructure/azure/AzureSecretProviderFactory.ts

#LineLine coverage
 1import { DefaultAzureCredential } from '@azure/identity';
 2import { SecretClient } from '@azure/keyvault-secrets';
 3import { DependencyMissingError } from '../../domain/errors/DomainErrors.js';
 4import type { MapFileConfig } from '../../domain/MapFileConfig.js';
 5import { requiredFieldMessage } from '../../domain/ProviderConfiguration.js';
 6import type { ISecretProvider } from '../../domain/ports/ISecretProvider.js';
 7import { AzureKeyVaultSecretProvider } from './AzureKeyVaultSecretProvider.js';
 8
 9export function createAzureSecretProvider(
 10  config: MapFileConfig,
 11): ISecretProvider {
 2612  const { vaultUrl } = config;
 2613  if (!vaultUrl) {
 214    throw new DependencyMissingError(requiredFieldMessage('vaultUrl', 'azure'));
 15  }
 2416  const credential = new DefaultAzureCredential();
 2417  const client = new SecretClient(vaultUrl, credential);
 2418  return new AzureKeyVaultSecretProvider(client);
 19}

Methods/Properties

createAzureSecretProvider