UNPKG

@confluentinc/schemaregistry

Version:
43 lines (42 loc) 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.HcVaultDriver = void 0; const kms_registry_1 = require("../kms-registry"); const hcvault_client_1 = require("./hcvault-client"); class HcVaultDriver { /** * Register the HashiCorp Vault driver with the KMS registry. */ static register() { (0, kms_registry_1.registerKmsDriver)(new HcVaultDriver()); } getKeyUrlPrefix() { return HcVaultDriver.PREFIX; } newKmsClient(config, keyUrl) { const uriPrefix = keyUrl != null ? keyUrl : HcVaultDriver.PREFIX; let tokenId = config.get(HcVaultDriver.TOKEN_ID); if (tokenId == null) { tokenId = process.env["VAULT_TOKEN"]; } let ns = config.get(HcVaultDriver.NAMESPACE); if (ns == null) { ns = process.env["VAULT_NAMESPACE"]; } let roleId = config.get(HcVaultDriver.APPROLE_ROLE_ID); if (roleId == null) { roleId = process.env["VAULT_APPROLE_ROLE_ID"]; } let secretId = config.get(HcVaultDriver.APPROLE_SECRET_ID); if (secretId == null) { secretId = process.env["VAULT_APPROLE_SECRET_ID"]; } return new hcvault_client_1.HcVaultClient(uriPrefix, ns, tokenId, roleId, secretId); } } exports.HcVaultDriver = HcVaultDriver; HcVaultDriver.PREFIX = 'hcvault://'; HcVaultDriver.TOKEN_ID = 'token.id'; HcVaultDriver.NAMESPACE = 'namespace'; HcVaultDriver.APPROLE_ROLE_ID = 'approle.role.id'; HcVaultDriver.APPROLE_SECRET_ID = 'approle.secret.id';