@confluentinc/schemaregistry
Version:
Node.js client for Confluent Schema Registry
31 lines (30 loc) • 1.08 kB
JavaScript
;
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);
let ns = config.get(HcVaultDriver.NAMESPACE);
if (tokenId == null) {
tokenId = process.env["VAULT_TOKEN"];
ns = process.env["VAULT_NAMESPACE"];
}
return new hcvault_client_1.HcVaultClient(uriPrefix, ns, tokenId);
}
}
exports.HcVaultDriver = HcVaultDriver;
HcVaultDriver.PREFIX = 'hcvault://';
HcVaultDriver.TOKEN_ID = 'token.id';
HcVaultDriver.NAMESPACE = 'namespace';