@confluentinc/schemaregistry
Version:
Node.js client for Confluent Schema Registry
43 lines (42 loc) • 1.57 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);
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';