@camunda8/sdk
Version:
[](https://www.npmjs.com/package/@camunda8/sdk)
62 lines • 2.49 kB
JavaScript
;
/**
* Utilities for handling ZEEBE_GRPC_ADDRESS configuration and protocol-based TLS inference
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseZeebeGrpcAddress = parseZeebeGrpcAddress;
exports.emitDeprecationWarnings = emitDeprecationWarnings;
exports.emitConflictWarnings = emitConflictWarnings;
/**
* Parses and validates a ZEEBE_GRPC_ADDRESS value
* @param address The ZEEBE_GRPC_ADDRESS value to parse
* @returns Parsed address information
* @throws Error if the address format is invalid
*/
function parseZeebeGrpcAddress(address) {
if (!address.startsWith('grpc://') && !address.startsWith('grpcs://')) {
throw new Error(`ZEEBE_GRPC_ADDRESS must contain either grpc:// or grpcs:// protocol. Got: ${address}`);
}
const isSecure = address.startsWith('grpcs://');
const protocol = isSecure ? 'grpcs' : 'grpc';
const hostPort = address.replace(/^grpcs?:\/\//, '');
return {
fullAddress: address,
hostPort,
isSecure,
protocol,
};
}
/**
* Emits warnings for deprecated configuration values
*/
function emitDeprecationWarnings(config) {
// Emit deprecation warnings for legacy TLS settings
if (config.zeebeGrpcSettings.ZEEBE_INSECURE_CONNECTION !== undefined) {
console.warn('⚠️ ZEEBE_INSECURE_CONNECTION is deprecated. Please use ZEEBE_GRPC_ADDRESS with grpc:// or grpcs:// protocol instead.');
}
if (config.CAMUNDA_SECURE_CONNECTION !== undefined) {
console.warn('⚠️ CAMUNDA_SECURE_CONNECTION is deprecated. Please use ZEEBE_GRPC_ADDRESS with grpc:// or grpcs:// protocol instead.');
}
}
/**
* Emits warnings when ZEEBE_GRPC_ADDRESS conflicts with legacy settings
*/
function emitConflictWarnings(config) {
if (!config.ZEEBE_GRPC_ADDRESS) {
return;
}
const conflictingSettings = [];
if (config.ZEEBE_ADDRESS) {
conflictingSettings.push('ZEEBE_ADDRESS');
}
if (config.CAMUNDA_SECURE_CONNECTION !== undefined) {
conflictingSettings.push('CAMUNDA_SECURE_CONNECTION');
}
if (config.zeebeGrpcSettings.ZEEBE_INSECURE_CONNECTION !== undefined) {
conflictingSettings.push('ZEEBE_INSECURE_CONNECTION');
}
if (conflictingSettings.length > 0) {
console.warn(`⚠️ ZEEBE_GRPC_ADDRESS is set and takes precedence. The following settings will be ignored: ${conflictingSettings.join(', ')}`);
}
}
//# sourceMappingURL=ZeebeGrpcAddressUtils.js.map