mirror of
https://github.com/jambonz/jambonz-feature-server.git
synced 2025-12-20 08:40:38 +00:00
feat: sentinel configuraiton (#372)
* feat: sentinel configuraiton * fixed * fix jslint
This commit is contained in:
@@ -8,7 +8,12 @@ const checkEnvs = () => {
|
|||||||
assert.ok(process.env.DRACHTIO_PORT || process.env.DRACHTIO_HOST, 'missing DRACHTIO_PORT env var');
|
assert.ok(process.env.DRACHTIO_PORT || process.env.DRACHTIO_HOST, 'missing DRACHTIO_PORT env var');
|
||||||
assert.ok(process.env.DRACHTIO_SECRET, 'missing DRACHTIO_SECRET env var');
|
assert.ok(process.env.DRACHTIO_SECRET, 'missing DRACHTIO_SECRET env var');
|
||||||
assert.ok(process.env.JAMBONES_FREESWITCH, 'missing JAMBONES_FREESWITCH env var');
|
assert.ok(process.env.JAMBONES_FREESWITCH, 'missing JAMBONES_FREESWITCH env var');
|
||||||
|
if (process.env.JAMBONES_REDIS_SENTINELS) {
|
||||||
|
assert.ok(process.env.JAMBONES_REDIS_SENTINEL_MASTER_NAME,
|
||||||
|
'missing JAMBONES_REDIS_SENTINEL_MASTER_NAME env var, JAMBONES_REDIS_SENTINEL_PASSWORD env var is optional');
|
||||||
|
} else {
|
||||||
assert.ok(process.env.JAMBONES_REDIS_HOST, 'missing JAMBONES_REDIS_HOST env var');
|
assert.ok(process.env.JAMBONES_REDIS_HOST, 'missing JAMBONES_REDIS_HOST env var');
|
||||||
|
}
|
||||||
assert.ok(process.env.JAMBONES_NETWORK_CIDR || process.env.K8S, 'missing JAMBONES_SUBNET env var');
|
assert.ok(process.env.JAMBONES_NETWORK_CIDR || process.env.K8S, 'missing JAMBONES_SUBNET env var');
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -119,6 +124,27 @@ const HTTP_TIMEOUT = 10000;
|
|||||||
|
|
||||||
const OPTIONS_PING_INTERVAL = parseInt(process.env.OPTIONS_PING_INTERVAL, 10) || 30000;
|
const OPTIONS_PING_INTERVAL = parseInt(process.env.OPTIONS_PING_INTERVAL, 10) || 30000;
|
||||||
|
|
||||||
|
const JAMBONES_REDIS_SENTINELS = process.env.JAMBONES_REDIS_SENTINELS ? {
|
||||||
|
sentinels: process.env.JAMBONES_REDIS_SENTINELS.split(',').map((sentinel) => {
|
||||||
|
let host, port = 26379;
|
||||||
|
if (sentinel.includes(':')) {
|
||||||
|
const arr = sentinel.split(':');
|
||||||
|
host = arr[0];
|
||||||
|
port = parseInt(arr[1], 10);
|
||||||
|
} else {
|
||||||
|
host = sentinel;
|
||||||
|
}
|
||||||
|
return {host, port};
|
||||||
|
}),
|
||||||
|
name: process.env.JAMBONES_REDIS_SENTINEL_MASTER_NAME,
|
||||||
|
...(process.env.JAMBONES_REDIS_SENTINEL_PASSWORD && {
|
||||||
|
password: process.env.JAMBONES_REDIS_SENTINEL_PASSWORD
|
||||||
|
}),
|
||||||
|
...(process.env.JAMBONES_REDIS_SENTINEL_USERNAME && {
|
||||||
|
username: process.env.JAMBONES_REDIS_SENTINEL_USERNAME
|
||||||
|
})
|
||||||
|
} : null;
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
JAMBONES_MYSQL_HOST,
|
JAMBONES_MYSQL_HOST,
|
||||||
JAMBONES_MYSQL_USER,
|
JAMBONES_MYSQL_USER,
|
||||||
@@ -138,6 +164,7 @@ module.exports = {
|
|||||||
JAMBONES_FREESWITCH,
|
JAMBONES_FREESWITCH,
|
||||||
JAMBONES_REDIS_HOST,
|
JAMBONES_REDIS_HOST,
|
||||||
JAMBONES_REDIS_PORT,
|
JAMBONES_REDIS_PORT,
|
||||||
|
JAMBONES_REDIS_SENTINELS,
|
||||||
SMPP_URL,
|
SMPP_URL,
|
||||||
JAMBONES_NETWORK_CIDR,
|
JAMBONES_NETWORK_CIDR,
|
||||||
JAMBONES_API_BASE_URL,
|
JAMBONES_API_BASE_URL,
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ const {
|
|||||||
JAMBONES_FREESWITCH,
|
JAMBONES_FREESWITCH,
|
||||||
JAMBONES_REDIS_HOST,
|
JAMBONES_REDIS_HOST,
|
||||||
JAMBONES_REDIS_PORT,
|
JAMBONES_REDIS_PORT,
|
||||||
|
JAMBONES_REDIS_SENTINELS,
|
||||||
SMPP_URL,
|
SMPP_URL,
|
||||||
JAMBONES_TIME_SERIES_HOST,
|
JAMBONES_TIME_SERIES_HOST,
|
||||||
JAMBONES_ESL_LISTEN_ADDRESS,
|
JAMBONES_ESL_LISTEN_ADDRESS,
|
||||||
@@ -172,7 +173,7 @@ function installSrfLocals(srf, logger) {
|
|||||||
retrieveByPatternSortedSet,
|
retrieveByPatternSortedSet,
|
||||||
sortedSetLength,
|
sortedSetLength,
|
||||||
sortedSetPositionByPattern
|
sortedSetPositionByPattern
|
||||||
} = require('@jambonz/realtimedb-helpers')({
|
} = require('@jambonz/realtimedb-helpers')(JAMBONES_REDIS_SENTINELS || {
|
||||||
host: JAMBONES_REDIS_HOST,
|
host: JAMBONES_REDIS_HOST,
|
||||||
port: JAMBONES_REDIS_PORT || 6379
|
port: JAMBONES_REDIS_PORT || 6379
|
||||||
}, logger, tracer);
|
}, logger, tracer);
|
||||||
@@ -180,7 +181,7 @@ function installSrfLocals(srf, logger) {
|
|||||||
synthAudio,
|
synthAudio,
|
||||||
getNuanceAccessToken,
|
getNuanceAccessToken,
|
||||||
getIbmAccessToken,
|
getIbmAccessToken,
|
||||||
} = require('@jambonz/speech-utils')({
|
} = require('@jambonz/speech-utils')(JAMBONES_REDIS_SENTINELS || {
|
||||||
host: JAMBONES_REDIS_HOST,
|
host: JAMBONES_REDIS_HOST,
|
||||||
port: JAMBONES_REDIS_PORT || 6379
|
port: JAMBONES_REDIS_PORT || 6379
|
||||||
}, logger, tracer);
|
}, logger, tracer);
|
||||||
|
|||||||
14
package-lock.json
generated
14
package-lock.json
generated
@@ -11,7 +11,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jambonz/db-helpers": "^0.9.0",
|
"@jambonz/db-helpers": "^0.9.0",
|
||||||
"@jambonz/http-health-check": "^0.0.1",
|
"@jambonz/http-health-check": "^0.0.1",
|
||||||
"@jambonz/realtimedb-helpers": "^0.8.1",
|
"@jambonz/realtimedb-helpers": "^0.8.6",
|
||||||
"@jambonz/speech-utils": "^0.0.15",
|
"@jambonz/speech-utils": "^0.0.15",
|
||||||
"@jambonz/stats-collector": "^0.1.8",
|
"@jambonz/stats-collector": "^0.1.8",
|
||||||
"@jambonz/time-series": "^0.2.5",
|
"@jambonz/time-series": "^0.2.5",
|
||||||
@@ -1623,9 +1623,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jambonz/realtimedb-helpers": {
|
"node_modules/@jambonz/realtimedb-helpers": {
|
||||||
"version": "0.8.2",
|
"version": "0.8.6",
|
||||||
"resolved": "https://registry.npmjs.org/@jambonz/realtimedb-helpers/-/realtimedb-helpers-0.8.2.tgz",
|
"resolved": "https://registry.npmjs.org/@jambonz/realtimedb-helpers/-/realtimedb-helpers-0.8.6.tgz",
|
||||||
"integrity": "sha512-v7zlJ9D3gFIegqoLXdrIqDYMPsZbyZGW/Y8NBImmZ9mC6QrId9fVi5705/04g9SK870C/IadrGNiFPYVmn8JwA==",
|
"integrity": "sha512-ODKVVat2VAQheY13DjiAxiBBOmffMoeu3xviTjsTODr3ySZkqQZvSWU7N80pAIZvoiWG1UUEy9yI8D8mE4Jgiw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"ioredis": "^5.3.2"
|
"ioredis": "^5.3.2"
|
||||||
@@ -10085,9 +10085,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@jambonz/realtimedb-helpers": {
|
"@jambonz/realtimedb-helpers": {
|
||||||
"version": "0.8.2",
|
"version": "0.8.6",
|
||||||
"resolved": "https://registry.npmjs.org/@jambonz/realtimedb-helpers/-/realtimedb-helpers-0.8.2.tgz",
|
"resolved": "https://registry.npmjs.org/@jambonz/realtimedb-helpers/-/realtimedb-helpers-0.8.6.tgz",
|
||||||
"integrity": "sha512-v7zlJ9D3gFIegqoLXdrIqDYMPsZbyZGW/Y8NBImmZ9mC6QrId9fVi5705/04g9SK870C/IadrGNiFPYVmn8JwA==",
|
"integrity": "sha512-ODKVVat2VAQheY13DjiAxiBBOmffMoeu3xviTjsTODr3ySZkqQZvSWU7N80pAIZvoiWG1UUEy9yI8D8mE4Jgiw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"ioredis": "^5.3.2"
|
"ioredis": "^5.3.2"
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jambonz/db-helpers": "^0.9.0",
|
"@jambonz/db-helpers": "^0.9.0",
|
||||||
"@jambonz/http-health-check": "^0.0.1",
|
"@jambonz/http-health-check": "^0.0.1",
|
||||||
"@jambonz/realtimedb-helpers": "^0.8.1",
|
"@jambonz/realtimedb-helpers": "^0.8.6",
|
||||||
"@jambonz/speech-utils": "^0.0.15",
|
"@jambonz/speech-utils": "^0.0.15",
|
||||||
"@jambonz/stats-collector": "^0.1.8",
|
"@jambonz/stats-collector": "^0.1.8",
|
||||||
"@jambonz/time-series": "^0.2.5",
|
"@jambonz/time-series": "^0.2.5",
|
||||||
|
|||||||
Reference in New Issue
Block a user