mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
Add envVarExcludes setting to block named env vars
This commit is contained in:
@@ -70,6 +70,7 @@ function init(runtime) {
|
||||
typeEventRegistered = true;
|
||||
}
|
||||
Flow.init(runtime);
|
||||
flowUtil.init(runtime);
|
||||
}
|
||||
|
||||
function loadFlows() {
|
||||
@@ -676,7 +677,7 @@ const flowAPI = {
|
||||
getNode: getNode,
|
||||
handleError: () => false,
|
||||
handleStatus: () => false,
|
||||
getSetting: k => process.env[k]
|
||||
getSetting: k => flowUtil.getEnvVar(k)
|
||||
}
|
||||
|
||||
|
||||
|
@@ -19,6 +19,8 @@ var Log = require("@node-red/util").log;
|
||||
var subflowInstanceRE = /^subflow:(.+)$/;
|
||||
var typeRegistry = require("@node-red/registry");
|
||||
|
||||
var envVarExcludes = {};
|
||||
|
||||
function diffNodes(oldNode,newNode) {
|
||||
if (oldNode == null) {
|
||||
return true;
|
||||
@@ -52,12 +54,8 @@ function mapEnvVarProperties(obj,prop,flow) {
|
||||
} else if (typeof obj[prop] === 'string') {
|
||||
if (obj[prop][0] === "$" && (EnvVarPropertyRE_old.test(v) || EnvVarPropertyRE.test(v)) ) {
|
||||
var envVar = v.substring(2,v.length-1);
|
||||
if (!flow) {
|
||||
obj[prop] = process.env.hasOwnProperty(envVar)?process.env[envVar]:v;
|
||||
} else {
|
||||
var r = flow.getSetting(envVar);
|
||||
obj[prop] = r!==undefined?r:obj[prop];
|
||||
}
|
||||
var r = flow.getSetting(envVar);
|
||||
obj[prop] = r!==undefined?r:obj[prop];
|
||||
}
|
||||
} else {
|
||||
for (var p in v) {
|
||||
@@ -69,7 +67,15 @@ function mapEnvVarProperties(obj,prop,flow) {
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
|
||||
init: function(runtime) {
|
||||
envVarExcludes = {};
|
||||
if (runtime.settings.hasOwnProperty('envVarExcludes') && Array.isArray(runtime.settings.envVarExcludes)) {
|
||||
runtime.settings.envVarExcludes.forEach(v => envVarExcludes[v] = true);
|
||||
}
|
||||
},
|
||||
getEnvVar: function(k) {
|
||||
return !envVarExcludes[k]?process.env[k]:undefined
|
||||
},
|
||||
diffNodes: diffNodes,
|
||||
mapEnvVarProperties: mapEnvVarProperties,
|
||||
|
||||
|
Reference in New Issue
Block a user