@zincapp/zn-vault-agent 1.6.6 → 1.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +86 -29
- package/dist/commands/start.js.map +1 -1
- package/dist/lib/secret-env.d.ts +41 -0
- package/dist/lib/secret-env.d.ts.map +1 -1
- package/dist/lib/secret-env.js +115 -0
- package/dist/lib/secret-env.js.map +1 -1
- package/dist/lib/secret-file-manager.d.ts +61 -0
- package/dist/lib/secret-file-manager.d.ts.map +1 -0
- package/dist/lib/secret-file-manager.js +192 -0
- package/dist/lib/secret-file-manager.js.map +1 -0
- package/dist/lib/websocket.d.ts.map +1 -1
- package/dist/lib/websocket.js +65 -6
- package/dist/lib/websocket.js.map +1 -1
- package/dist/services/child-process-manager.d.ts +1 -0
- package/dist/services/child-process-manager.d.ts.map +1 -1
- package/dist/services/child-process-manager.js +42 -5
- package/dist/services/child-process-manager.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmR3D"}
|
package/dist/commands/start.js
CHANGED
|
@@ -6,7 +6,7 @@ import { validateConfig, formatValidationResult } from '../lib/validation.js';
|
|
|
6
6
|
import { startDaemon } from '../lib/websocket.js';
|
|
7
7
|
import { logger } from '../lib/logger.js';
|
|
8
8
|
import { NpmAutoUpdateService, loadUpdateConfig } from '../services/npm-auto-update.js';
|
|
9
|
-
import { parseSecretMapping } from '../lib/secret-env.js';
|
|
9
|
+
import { parseSecretMapping, isSensitiveEnvVar } from '../lib/secret-env.js';
|
|
10
10
|
// Helper to collect repeatable options
|
|
11
11
|
function collect(value, previous) {
|
|
12
12
|
return previous.concat([value]);
|
|
@@ -24,6 +24,8 @@ export function registerStartCommand(program) {
|
|
|
24
24
|
// Exec mode options
|
|
25
25
|
.option('--exec <command>', 'Command to execute with secrets (combined mode)')
|
|
26
26
|
.option('-s, --secret <mapping>', 'Secret mapping for exec (ENV=secret, repeatable)', collect, [])
|
|
27
|
+
.option('-sf, --secret-file <mapping>', 'Secret written to file instead of env var (ENV=secret, repeatable)', collect, [])
|
|
28
|
+
.option('--secrets-to-files', 'Auto-detect sensitive secrets and write to files instead of env vars')
|
|
27
29
|
.option('--restart-on-change', 'Restart child on cert/secret changes (default: true)')
|
|
28
30
|
.option('--no-restart-on-change', 'Do not restart child on cert/secret changes')
|
|
29
31
|
.option('--restart-delay <ms>', 'Delay in ms before restarting child (default: 5000)', parseInt)
|
|
@@ -53,6 +55,23 @@ Examples:
|
|
|
53
55
|
-s ZINC_CONFIG_API_KEY=alias:infra/prod.apiKey \\
|
|
54
56
|
--health-port 9100
|
|
55
57
|
|
|
58
|
+
# SECURE MODE: Write sensitive secrets to files instead of env vars
|
|
59
|
+
# This prevents secrets from appearing in sudo logs or journald
|
|
60
|
+
zn-vault-agent start \\
|
|
61
|
+
--exec "python server.py" \\
|
|
62
|
+
-s ZINC_CONFIG_USE_VAULT=literal:true \\
|
|
63
|
+
-sf ZINC_CONFIG_VAULT_API_KEY=api-key:my-key \\
|
|
64
|
+
-sf AWS_SECRET_ACCESS_KEY=alias:aws.secretKey \\
|
|
65
|
+
--health-port 9100
|
|
66
|
+
|
|
67
|
+
# Auto-detect sensitive secrets and write to files
|
|
68
|
+
zn-vault-agent start \\
|
|
69
|
+
--exec "python server.py" \\
|
|
70
|
+
-s ZINC_CONFIG_USE_VAULT=literal:true \\
|
|
71
|
+
-s ZINC_CONFIG_VAULT_API_KEY=api-key:my-key \\
|
|
72
|
+
--secrets-to-files \\
|
|
73
|
+
--health-port 9100
|
|
74
|
+
|
|
56
75
|
# Production setup (systemd)
|
|
57
76
|
# See docs/GUIDE.md for systemd service file
|
|
58
77
|
`)
|
|
@@ -69,24 +88,30 @@ Examples:
|
|
|
69
88
|
if (options.exec) {
|
|
70
89
|
// CLI options take precedence
|
|
71
90
|
const secrets = [];
|
|
72
|
-
|
|
91
|
+
const autoFileMode = options.secretsToFiles === true;
|
|
92
|
+
// Helper to create ExecSecret from parsed mapping
|
|
93
|
+
const createExecSecret = (mapping, forceFile) => {
|
|
94
|
+
const parsed = parseSecretMapping(mapping);
|
|
95
|
+
const shouldOutputToFile = forceFile || (autoFileMode && isSensitiveEnvVar(parsed.envVar));
|
|
96
|
+
if (parsed.literal !== undefined) {
|
|
97
|
+
return { env: parsed.envVar, literal: parsed.literal, outputToFile: shouldOutputToFile };
|
|
98
|
+
}
|
|
99
|
+
else if (parsed.apiKeyName) {
|
|
100
|
+
// Managed API key reference (api-key:name format)
|
|
101
|
+
return { env: parsed.envVar, apiKey: parsed.apiKeyName, outputToFile: shouldOutputToFile };
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
// Reconstruct the secret reference (with key if present)
|
|
105
|
+
const secretRef = parsed.key
|
|
106
|
+
? `${parsed.secretId}.${parsed.key}`
|
|
107
|
+
: parsed.secretId;
|
|
108
|
+
return { env: parsed.envVar, secret: secretRef, outputToFile: shouldOutputToFile };
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
// Parse -s/--secret mappings (env vars by default, or files if --secrets-to-files)
|
|
73
112
|
for (const mapping of options.secret) {
|
|
74
113
|
try {
|
|
75
|
-
|
|
76
|
-
if (parsed.literal !== undefined) {
|
|
77
|
-
secrets.push({ env: parsed.envVar, literal: parsed.literal });
|
|
78
|
-
}
|
|
79
|
-
else if (parsed.apiKeyName) {
|
|
80
|
-
// Managed API key reference (api-key:name format)
|
|
81
|
-
secrets.push({ env: parsed.envVar, apiKey: parsed.apiKeyName });
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
// Reconstruct the secret reference (with key if present)
|
|
85
|
-
const secretRef = parsed.key
|
|
86
|
-
? `${parsed.secretId}.${parsed.key}`
|
|
87
|
-
: parsed.secretId;
|
|
88
|
-
secrets.push({ env: parsed.envVar, secret: secretRef });
|
|
89
|
-
}
|
|
114
|
+
secrets.push(createExecSecret(mapping, false));
|
|
90
115
|
}
|
|
91
116
|
catch (err) {
|
|
92
117
|
console.error(chalk.red('Invalid secret mapping:'), mapping);
|
|
@@ -94,6 +119,17 @@ Examples:
|
|
|
94
119
|
process.exit(1);
|
|
95
120
|
}
|
|
96
121
|
}
|
|
122
|
+
// Parse -sf/--secret-file mappings (always write to files)
|
|
123
|
+
for (const mapping of options.secretFile) {
|
|
124
|
+
try {
|
|
125
|
+
secrets.push(createExecSecret(mapping, true));
|
|
126
|
+
}
|
|
127
|
+
catch (err) {
|
|
128
|
+
console.error(chalk.red('Invalid secret-file mapping:'), mapping);
|
|
129
|
+
console.error(err instanceof Error ? err.message : String(err));
|
|
130
|
+
process.exit(1);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
97
133
|
// Parse exec command (split on spaces if needed)
|
|
98
134
|
const command = options.exec.includes(' ')
|
|
99
135
|
? options.exec.split(/\s+/)
|
|
@@ -179,21 +215,42 @@ Examples:
|
|
|
179
215
|
console.log();
|
|
180
216
|
}
|
|
181
217
|
if (execConfig && execConfig.secrets.length > 0) {
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
218
|
+
const fileSecrets = execConfig.secrets.filter(s => s.outputToFile);
|
|
219
|
+
const envSecrets = execConfig.secrets.filter(s => !s.outputToFile);
|
|
220
|
+
if (envSecrets.length > 0) {
|
|
221
|
+
console.log(chalk.gray('Exec environment variables:'));
|
|
222
|
+
for (const s of envSecrets) {
|
|
223
|
+
let source;
|
|
224
|
+
if (s.literal !== undefined) {
|
|
225
|
+
source = 'literal';
|
|
226
|
+
}
|
|
227
|
+
else if (s.apiKey) {
|
|
228
|
+
source = `api-key:${s.apiKey}`;
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
source = s.secret || '(unknown)';
|
|
232
|
+
}
|
|
233
|
+
console.log(` - ${s.env} = ${source}`);
|
|
190
234
|
}
|
|
191
|
-
|
|
192
|
-
|
|
235
|
+
console.log();
|
|
236
|
+
}
|
|
237
|
+
if (fileSecrets.length > 0) {
|
|
238
|
+
console.log(chalk.gray('Exec secrets (written to files for security):'));
|
|
239
|
+
for (const s of fileSecrets) {
|
|
240
|
+
let source;
|
|
241
|
+
if (s.literal !== undefined) {
|
|
242
|
+
source = 'literal';
|
|
243
|
+
}
|
|
244
|
+
else if (s.apiKey) {
|
|
245
|
+
source = `api-key:${s.apiKey}`;
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
source = s.secret || '(unknown)';
|
|
249
|
+
}
|
|
250
|
+
console.log(` - ${s.env}_FILE = ${source} ${chalk.green('(secure)')}`);
|
|
193
251
|
}
|
|
194
|
-
console.log(
|
|
252
|
+
console.log();
|
|
195
253
|
}
|
|
196
|
-
console.log();
|
|
197
254
|
}
|
|
198
255
|
console.log(chalk.gray('Starting daemon...'));
|
|
199
256
|
console.log();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,wCAAwC;AAGxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,YAAY,EACZ,UAAU,EACV,UAAU,EACV,gBAAgB,EAEhB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAmB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/secret-env.d.ts
CHANGED
|
@@ -16,6 +16,8 @@ export interface ExecSecret {
|
|
|
16
16
|
secret?: string;
|
|
17
17
|
literal?: string;
|
|
18
18
|
apiKey?: string;
|
|
19
|
+
/** If true, write to file instead of env var (avoids sudo logging) */
|
|
20
|
+
outputToFile?: boolean;
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
21
23
|
* Parse secret mapping from CLI argument
|
|
@@ -56,4 +58,43 @@ export declare function extractSecretIds(mappings: (SecretMapping & {
|
|
|
56
58
|
export declare function extractApiKeyNames(mappings: (SecretMapping & {
|
|
57
59
|
literal?: string;
|
|
58
60
|
})[]): string[];
|
|
61
|
+
/**
|
|
62
|
+
* Result of building secret files
|
|
63
|
+
*/
|
|
64
|
+
export interface SecretFilesResult {
|
|
65
|
+
/** Environment variables to set (non-sensitive + file path pointers) */
|
|
66
|
+
env: Record<string, string>;
|
|
67
|
+
/** Paths to secret files that were written */
|
|
68
|
+
files: string[];
|
|
69
|
+
/** Secrets directory path */
|
|
70
|
+
secretsDir: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Fetch secrets and write to secure files instead of env vars
|
|
74
|
+
*
|
|
75
|
+
* This avoids secrets appearing in:
|
|
76
|
+
* - Process command line arguments
|
|
77
|
+
* - sudo logs (when using --preserve-env)
|
|
78
|
+
* - systemd journal
|
|
79
|
+
*
|
|
80
|
+
* For each secret with outputToFile=true:
|
|
81
|
+
* - Writes value to /run/zn-vault-agent/secrets/<ENV_NAME>
|
|
82
|
+
* - Sets <ENV_NAME>_FILE=/run/zn-vault-agent/secrets/<ENV_NAME> in env
|
|
83
|
+
*
|
|
84
|
+
* For secrets with outputToFile=false (default):
|
|
85
|
+
* - Sets <ENV_NAME>=<value> in env (traditional behavior)
|
|
86
|
+
*/
|
|
87
|
+
export declare function buildSecretEnvWithFiles(mappings: (SecretMapping & {
|
|
88
|
+
literal?: string;
|
|
89
|
+
outputToFile?: boolean;
|
|
90
|
+
})[]): Promise<SecretFilesResult>;
|
|
91
|
+
/**
|
|
92
|
+
* Mark specific environment variable names as requiring file output
|
|
93
|
+
* These are typically sensitive values that shouldn't appear in logs
|
|
94
|
+
*/
|
|
95
|
+
export declare const SENSITIVE_ENV_VARS: Set<string>;
|
|
96
|
+
/**
|
|
97
|
+
* Check if an environment variable name is considered sensitive
|
|
98
|
+
*/
|
|
99
|
+
export declare function isSensitiveEnvVar(name: string): boolean;
|
|
59
100
|
//# sourceMappingURL=secret-env.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret-env.d.ts","sourceRoot":"","sources":["../../src/lib/secret-env.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"secret-env.d.ts","sourceRoot":"","sources":["../../src/lib/secret-env.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAkExF;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CA2BrG;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,CAAC,aAAa,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,GACjD,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAsEjC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,CAAC,aAAa,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,GAAG,MAAM,EAAE,CAS7F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,CAAC,aAAa,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,GAAG,MAAM,EAAE,CAQ/F;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,CAAC,aAAa,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,EAAE,GACzE,OAAO,CAAC,iBAAiB,CAAC,CAqF5B;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,aAO7B,CAAC;AAEH;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAevD"}
|
package/dist/lib/secret-env.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Shared secret fetching and environment variable building for exec mode
|
|
3
3
|
import { getSecret, bindManagedApiKey } from './api.js';
|
|
4
4
|
import { execLogger as log } from './logger.js';
|
|
5
|
+
import { initializeSecretFiles } from './secret-file-manager.js';
|
|
5
6
|
/**
|
|
6
7
|
* Parse secret mapping from CLI argument
|
|
7
8
|
* Formats:
|
|
@@ -184,4 +185,118 @@ export function extractApiKeyNames(mappings) {
|
|
|
184
185
|
}
|
|
185
186
|
return Array.from(names);
|
|
186
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* Fetch secrets and write to secure files instead of env vars
|
|
190
|
+
*
|
|
191
|
+
* This avoids secrets appearing in:
|
|
192
|
+
* - Process command line arguments
|
|
193
|
+
* - sudo logs (when using --preserve-env)
|
|
194
|
+
* - systemd journal
|
|
195
|
+
*
|
|
196
|
+
* For each secret with outputToFile=true:
|
|
197
|
+
* - Writes value to /run/zn-vault-agent/secrets/<ENV_NAME>
|
|
198
|
+
* - Sets <ENV_NAME>_FILE=/run/zn-vault-agent/secrets/<ENV_NAME> in env
|
|
199
|
+
*
|
|
200
|
+
* For secrets with outputToFile=false (default):
|
|
201
|
+
* - Sets <ENV_NAME>=<value> in env (traditional behavior)
|
|
202
|
+
*/
|
|
203
|
+
export async function buildSecretEnvWithFiles(mappings) {
|
|
204
|
+
const env = {};
|
|
205
|
+
const files = [];
|
|
206
|
+
// Initialize secret file manager
|
|
207
|
+
const manager = await initializeSecretFiles();
|
|
208
|
+
const secretsDir = manager.getSecretsDir();
|
|
209
|
+
// Set the secrets directory env var for child process
|
|
210
|
+
env.ZNVAULT_SECRETS_DIR = secretsDir;
|
|
211
|
+
// Group by secretId to minimize API calls
|
|
212
|
+
const secretCache = new Map();
|
|
213
|
+
// Cache API key bindings by name
|
|
214
|
+
const apiKeyCache = new Map();
|
|
215
|
+
for (const mapping of mappings) {
|
|
216
|
+
let value;
|
|
217
|
+
// Handle literal values
|
|
218
|
+
if (mapping.literal !== undefined) {
|
|
219
|
+
value = mapping.literal;
|
|
220
|
+
}
|
|
221
|
+
// Handle managed API key references
|
|
222
|
+
else if (mapping.apiKeyName) {
|
|
223
|
+
log.debug({ envVar: mapping.envVar, apiKeyName: mapping.apiKeyName }, 'Processing api-key mapping');
|
|
224
|
+
let keyValue = apiKeyCache.get(mapping.apiKeyName);
|
|
225
|
+
if (!keyValue) {
|
|
226
|
+
log.debug({ apiKeyName: mapping.apiKeyName }, 'Binding to managed API key');
|
|
227
|
+
const bindResponse = await bindManagedApiKey(mapping.apiKeyName);
|
|
228
|
+
keyValue = bindResponse.key;
|
|
229
|
+
if (!keyValue) {
|
|
230
|
+
throw new Error(`Failed to bind managed API key "${mapping.apiKeyName}": Server returned empty key value`);
|
|
231
|
+
}
|
|
232
|
+
apiKeyCache.set(mapping.apiKeyName, keyValue);
|
|
233
|
+
}
|
|
234
|
+
value = keyValue;
|
|
235
|
+
}
|
|
236
|
+
// Handle vault secrets
|
|
237
|
+
else if (mapping.secretId) {
|
|
238
|
+
let data = secretCache.get(mapping.secretId);
|
|
239
|
+
if (!data) {
|
|
240
|
+
const secret = await getSecret(mapping.secretId);
|
|
241
|
+
data = secret.data;
|
|
242
|
+
secretCache.set(mapping.secretId, data);
|
|
243
|
+
}
|
|
244
|
+
if (mapping.key) {
|
|
245
|
+
const keyValue = data[mapping.key];
|
|
246
|
+
if (keyValue === undefined) {
|
|
247
|
+
throw new Error(`Key "${mapping.key}" not found in secret "${mapping.secretId}"`);
|
|
248
|
+
}
|
|
249
|
+
value = typeof keyValue === 'string' ? keyValue : JSON.stringify(keyValue);
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
value = JSON.stringify(data);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
throw new Error(`Invalid mapping for ${mapping.envVar}: no source specified`);
|
|
257
|
+
}
|
|
258
|
+
// Decide whether to write to file or env var
|
|
259
|
+
if (mapping.outputToFile) {
|
|
260
|
+
// Write to file, set *_FILE env var
|
|
261
|
+
const filePath = await manager.writeSecret(mapping.envVar, value);
|
|
262
|
+
files.push(filePath);
|
|
263
|
+
env[`${mapping.envVar}_FILE`] = filePath;
|
|
264
|
+
log.debug({ envVar: mapping.envVar, filePath }, 'Wrote secret to file (avoiding env var exposure)');
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
// Traditional: set env var directly
|
|
268
|
+
env[mapping.envVar] = value;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
return { env, files, secretsDir };
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Mark specific environment variable names as requiring file output
|
|
275
|
+
* These are typically sensitive values that shouldn't appear in logs
|
|
276
|
+
*/
|
|
277
|
+
export const SENSITIVE_ENV_VARS = new Set([
|
|
278
|
+
'ZINC_CONFIG_VAULT_API_KEY',
|
|
279
|
+
'AWS_SECRET_ACCESS_KEY',
|
|
280
|
+
'DATABASE_PASSWORD',
|
|
281
|
+
'API_KEY',
|
|
282
|
+
'SECRET_KEY',
|
|
283
|
+
'PRIVATE_KEY',
|
|
284
|
+
]);
|
|
285
|
+
/**
|
|
286
|
+
* Check if an environment variable name is considered sensitive
|
|
287
|
+
*/
|
|
288
|
+
export function isSensitiveEnvVar(name) {
|
|
289
|
+
// Check exact match
|
|
290
|
+
if (SENSITIVE_ENV_VARS.has(name))
|
|
291
|
+
return true;
|
|
292
|
+
// Check common patterns
|
|
293
|
+
const lowerName = name.toLowerCase();
|
|
294
|
+
return (lowerName.includes('password') ||
|
|
295
|
+
lowerName.includes('secret') ||
|
|
296
|
+
lowerName.includes('api_key') ||
|
|
297
|
+
lowerName.includes('apikey') ||
|
|
298
|
+
lowerName.includes('private_key') ||
|
|
299
|
+
lowerName.includes('token') ||
|
|
300
|
+
lowerName.includes('credential'));
|
|
301
|
+
}
|
|
187
302
|
//# sourceMappingURL=secret-env.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret-env.js","sourceRoot":"","sources":["../../src/lib/secret-env.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,yEAAyE;AAEzE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,UAAU,IAAI,GAAG,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"secret-env.js","sourceRoot":"","sources":["../../src/lib/secret-env.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,yEAAyE;AAEzE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,UAAU,IAAI,GAAG,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAwB,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAyBvF;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,qCAAqC,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7C,IAAI,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAEhD,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,qCAAqC,CAAC,CAAC;IAC3F,CAAC;IAED,6CAA6C;IAC7C,IAAI,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACtC,OAAO;YACL,MAAM;YACN,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,2BAA2B;SAC9D,CAAC;IACJ,CAAC;IAED,sDAAsD;IACtD,IAAI,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B;QACvE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,kCAAkC,CAAC,CAAC;QACxF,CAAC;QACD,OAAO;YACL,MAAM;YACN,QAAQ,EAAE,EAAE;YACZ,UAAU;SACX,CAAC;IACJ,CAAC;IAED,6CAA6C;IAC7C,6CAA6C;IAC7C,4BAA4B;IAC5B,IAAI,GAAuB,CAAC;IAE5B,IAAI,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,kCAAkC;QAClC,MAAM,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,uCAAuC;YACvC,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YAC5D,wEAAwE;YACxE,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChD,GAAG,GAAG,YAAY,CAAC;gBACnB,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;YACpB,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YACzC,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM;QACN,QAAQ,EAAE,UAAU;QACpB,GAAG;KACJ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAkB;IAC7D,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,GAAG;YAClB,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;IACJ,CAAC;IAED,mCAAmC;IACnC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,GAAG;YAClB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,MAAM,CAAC,MAAM;SAC1B,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IAED,8EAA8E;IAC9E,OAAO,kBAAkB,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAkD;IAElD,MAAM,GAAG,GAA2B,EAAE,CAAC;IAEvC,0CAA0C;IAC1C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC/D,iCAAiC;IACjC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE9C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,yCAAyC;QACzC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;YACtC,SAAS;QACX,CAAC;QAED,oCAAoC;QACpC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,4BAA4B,CAAC,CAAC;YAEpG,IAAI,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAEnD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,GAAG,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,4BAA4B,CAAC,CAAC;gBAE5E,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACjE,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC;gBAE5B,GAAG,CAAC,KAAK,CACP,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,EACnF,wBAAwB,CACzB,CAAC;gBAEF,6CAA6C;gBAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,KAAK,CACb,mCAAmC,OAAO,CAAC,UAAU,oCAAoC,CAC1F,CAAC;gBACJ,CAAC;gBAED,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAChD,CAAC;YAED,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;YAC/B,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,2BAA2B,CAAC,CAAC;YACxG,SAAS;QACX,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACnB,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,mBAAmB;YACnB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,QAAQ,OAAO,CAAC,GAAG,0BAA0B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACpF,CAAC;YACD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,4BAA4B;YAC5B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAkD;IACjF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,uCAAuC;QACvC,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAChE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAkD;IACnF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAcD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAA0E;IAE1E,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,iCAAiC;IACjC,MAAM,OAAO,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAE3C,sDAAsD;IACtD,GAAG,CAAC,mBAAmB,GAAG,UAAU,CAAC;IAErC,0CAA0C;IAC1C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC/D,iCAAiC;IACjC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE9C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,KAAa,CAAC;QAElB,wBAAwB;QACxB,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;QAC1B,CAAC;QACD,oCAAoC;aAC/B,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC5B,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,4BAA4B,CAAC,CAAC;YAEpG,IAAI,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAEnD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,GAAG,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,4BAA4B,CAAC,CAAC;gBAC5E,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACjE,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC;gBAE5B,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,KAAK,CACb,mCAAmC,OAAO,CAAC,UAAU,oCAAoC,CAC1F,CAAC;gBACJ,CAAC;gBAED,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAChD,CAAC;YAED,KAAK,GAAG,QAAQ,CAAC;QACnB,CAAC;QACD,uBAAuB;aAClB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE7C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACjD,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;gBACnB,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC1C,CAAC;YAED,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACnC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CAAC,QAAQ,OAAO,CAAC,GAAG,0BAA0B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACpF,CAAC;gBACD,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,CAAC,MAAM,uBAAuB,CAAC,CAAC;QAChF,CAAC;QAED,6CAA6C;QAC7C,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,oCAAoC;YACpC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrB,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,QAAQ,CAAC;YACzC,GAAG,CAAC,KAAK,CACP,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EACpC,kDAAkD,CACnD,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,oCAAoC;YACpC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACxC,2BAA2B;IAC3B,uBAAuB;IACvB,mBAAmB;IACnB,SAAS;IACT,YAAY;IACZ,aAAa;CACd,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,oBAAoB;IACpB,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9C,wBAAwB;IACxB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO,CACL,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC9B,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC5B,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC5B,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC;QACjC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC3B,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CACjC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Manages secret files in a secure directory
|
|
3
|
+
*
|
|
4
|
+
* Security features:
|
|
5
|
+
* - Files stored on tmpfs (never touch disk)
|
|
6
|
+
* - Directory has 0700 permissions (root only)
|
|
7
|
+
* - Files have 0600 permissions (root only)
|
|
8
|
+
* - Files are cleaned up on process exit
|
|
9
|
+
*/
|
|
10
|
+
export declare class SecretFileManager {
|
|
11
|
+
private readonly secretsDir;
|
|
12
|
+
private readonly writtenFiles;
|
|
13
|
+
private cleanupRegistered;
|
|
14
|
+
constructor(secretsDir?: string);
|
|
15
|
+
/**
|
|
16
|
+
* Initialize the secrets directory with secure permissions
|
|
17
|
+
*/
|
|
18
|
+
initialize(): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Write a secret to a file
|
|
21
|
+
* Returns the path to the file
|
|
22
|
+
*/
|
|
23
|
+
writeSecret(name: string, value: string): Promise<string>;
|
|
24
|
+
/**
|
|
25
|
+
* Read a secret from a file
|
|
26
|
+
*/
|
|
27
|
+
readSecret(name: string): Promise<string>;
|
|
28
|
+
/**
|
|
29
|
+
* Delete a specific secret file
|
|
30
|
+
*/
|
|
31
|
+
deleteSecret(name: string): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Clean up all written secret files
|
|
34
|
+
*/
|
|
35
|
+
cleanup(): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Get the secrets directory path
|
|
38
|
+
*/
|
|
39
|
+
getSecretsDir(): string;
|
|
40
|
+
/**
|
|
41
|
+
* List all secret files
|
|
42
|
+
*/
|
|
43
|
+
listSecrets(): string[];
|
|
44
|
+
/**
|
|
45
|
+
* Verify the secrets directory is on tmpfs (best effort)
|
|
46
|
+
*/
|
|
47
|
+
private verifyTmpfs;
|
|
48
|
+
/**
|
|
49
|
+
* Register cleanup handler for process exit
|
|
50
|
+
*/
|
|
51
|
+
private registerCleanup;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Get the default SecretFileManager instance
|
|
55
|
+
*/
|
|
56
|
+
export declare function getSecretFileManager(): SecretFileManager;
|
|
57
|
+
/**
|
|
58
|
+
* Initialize the default SecretFileManager
|
|
59
|
+
*/
|
|
60
|
+
export declare function initializeSecretFiles(): Promise<SecretFileManager>;
|
|
61
|
+
//# sourceMappingURL=secret-file-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-file-manager.d.ts","sourceRoot":"","sources":["../../src/lib/secret-file-manager.ts"],"names":[],"mappings":"AAYA;;;;;;;;GAQG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IACvD,OAAO,CAAC,iBAAiB,CAAS;gBAEtB,UAAU,CAAC,EAAE,MAAM;IAI/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BjC;;;OAGG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB/D;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAW/C;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB/C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB9B;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,WAAW,IAAI,MAAM,EAAE;IAQvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,OAAO,CAAC,eAAe;CAexB;AAKD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,CAKxD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAIxE"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
// Path: src/lib/secret-file-manager.ts
|
|
2
|
+
// Manages secure secret files on tmpfs for passing secrets without env var logging
|
|
3
|
+
import fs from 'node:fs';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import { execLogger as log } from './logger.js';
|
|
6
|
+
/**
|
|
7
|
+
* Default secrets directory (on tmpfs for security)
|
|
8
|
+
*/
|
|
9
|
+
const DEFAULT_SECRETS_DIR = '/run/zn-vault-agent/secrets';
|
|
10
|
+
/**
|
|
11
|
+
* Manages secret files in a secure directory
|
|
12
|
+
*
|
|
13
|
+
* Security features:
|
|
14
|
+
* - Files stored on tmpfs (never touch disk)
|
|
15
|
+
* - Directory has 0700 permissions (root only)
|
|
16
|
+
* - Files have 0600 permissions (root only)
|
|
17
|
+
* - Files are cleaned up on process exit
|
|
18
|
+
*/
|
|
19
|
+
export class SecretFileManager {
|
|
20
|
+
secretsDir;
|
|
21
|
+
writtenFiles = new Set();
|
|
22
|
+
cleanupRegistered = false;
|
|
23
|
+
constructor(secretsDir) {
|
|
24
|
+
this.secretsDir = secretsDir || process.env.ZNVAULT_SECRETS_DIR || DEFAULT_SECRETS_DIR;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Initialize the secrets directory with secure permissions
|
|
28
|
+
*/
|
|
29
|
+
async initialize() {
|
|
30
|
+
try {
|
|
31
|
+
// Create parent directory if needed (/run/zn-vault-agent)
|
|
32
|
+
const parentDir = path.dirname(this.secretsDir);
|
|
33
|
+
if (!fs.existsSync(parentDir)) {
|
|
34
|
+
fs.mkdirSync(parentDir, { recursive: true, mode: 0o755 });
|
|
35
|
+
log.debug({ path: parentDir }, 'Created parent directory');
|
|
36
|
+
}
|
|
37
|
+
// Create secrets directory with restricted permissions
|
|
38
|
+
if (!fs.existsSync(this.secretsDir)) {
|
|
39
|
+
fs.mkdirSync(this.secretsDir, { recursive: true, mode: 0o700 });
|
|
40
|
+
log.info({ path: this.secretsDir }, 'Created secrets directory');
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
// Ensure correct permissions on existing directory
|
|
44
|
+
fs.chmodSync(this.secretsDir, 0o700);
|
|
45
|
+
}
|
|
46
|
+
// Verify we're on tmpfs (best effort check)
|
|
47
|
+
this.verifyTmpfs();
|
|
48
|
+
// Register cleanup handler
|
|
49
|
+
this.registerCleanup();
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
log.error({ err, path: this.secretsDir }, 'Failed to initialize secrets directory');
|
|
53
|
+
throw err;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Write a secret to a file
|
|
58
|
+
* Returns the path to the file
|
|
59
|
+
*/
|
|
60
|
+
async writeSecret(name, value) {
|
|
61
|
+
const filePath = path.join(this.secretsDir, name);
|
|
62
|
+
try {
|
|
63
|
+
// Write with restricted permissions (0600 = owner read/write only)
|
|
64
|
+
fs.writeFileSync(filePath, value, { mode: 0o600 });
|
|
65
|
+
this.writtenFiles.add(filePath);
|
|
66
|
+
log.debug({ name, path: filePath }, 'Wrote secret file');
|
|
67
|
+
return filePath;
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
log.error({ err, name, path: filePath }, 'Failed to write secret file');
|
|
71
|
+
throw err;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Read a secret from a file
|
|
76
|
+
*/
|
|
77
|
+
async readSecret(name) {
|
|
78
|
+
const filePath = path.join(this.secretsDir, name);
|
|
79
|
+
try {
|
|
80
|
+
return fs.readFileSync(filePath, 'utf-8');
|
|
81
|
+
}
|
|
82
|
+
catch (err) {
|
|
83
|
+
log.error({ err, name, path: filePath }, 'Failed to read secret file');
|
|
84
|
+
throw err;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Delete a specific secret file
|
|
89
|
+
*/
|
|
90
|
+
async deleteSecret(name) {
|
|
91
|
+
const filePath = path.join(this.secretsDir, name);
|
|
92
|
+
try {
|
|
93
|
+
if (fs.existsSync(filePath)) {
|
|
94
|
+
// Overwrite with zeros before deletion (defense in depth)
|
|
95
|
+
const stats = fs.statSync(filePath);
|
|
96
|
+
fs.writeFileSync(filePath, Buffer.alloc(stats.size, 0));
|
|
97
|
+
fs.unlinkSync(filePath);
|
|
98
|
+
this.writtenFiles.delete(filePath);
|
|
99
|
+
log.debug({ name, path: filePath }, 'Deleted secret file');
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
log.warn({ err, name, path: filePath }, 'Failed to delete secret file');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Clean up all written secret files
|
|
108
|
+
*/
|
|
109
|
+
async cleanup() {
|
|
110
|
+
log.debug({ count: this.writtenFiles.size }, 'Cleaning up secret files');
|
|
111
|
+
for (const filePath of this.writtenFiles) {
|
|
112
|
+
try {
|
|
113
|
+
if (fs.existsSync(filePath)) {
|
|
114
|
+
// Overwrite with zeros before deletion
|
|
115
|
+
const stats = fs.statSync(filePath);
|
|
116
|
+
fs.writeFileSync(filePath, Buffer.alloc(stats.size, 0));
|
|
117
|
+
fs.unlinkSync(filePath);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
catch (err) {
|
|
121
|
+
log.warn({ err, path: filePath }, 'Failed to cleanup secret file');
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
this.writtenFiles.clear();
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Get the secrets directory path
|
|
128
|
+
*/
|
|
129
|
+
getSecretsDir() {
|
|
130
|
+
return this.secretsDir;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* List all secret files
|
|
134
|
+
*/
|
|
135
|
+
listSecrets() {
|
|
136
|
+
try {
|
|
137
|
+
return fs.readdirSync(this.secretsDir);
|
|
138
|
+
}
|
|
139
|
+
catch {
|
|
140
|
+
return [];
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Verify the secrets directory is on tmpfs (best effort)
|
|
145
|
+
*/
|
|
146
|
+
verifyTmpfs() {
|
|
147
|
+
// On Linux, /run is typically tmpfs
|
|
148
|
+
if (process.platform === 'linux') {
|
|
149
|
+
if (!this.secretsDir.startsWith('/run/') &&
|
|
150
|
+
!this.secretsDir.startsWith('/dev/shm/') &&
|
|
151
|
+
!this.secretsDir.startsWith('/tmp/')) {
|
|
152
|
+
log.warn({ path: this.secretsDir }, 'Secrets directory may not be on tmpfs - secrets could be written to disk');
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Register cleanup handler for process exit
|
|
158
|
+
*/
|
|
159
|
+
registerCleanup() {
|
|
160
|
+
if (this.cleanupRegistered)
|
|
161
|
+
return;
|
|
162
|
+
const cleanup = () => {
|
|
163
|
+
this.cleanup().catch(() => {
|
|
164
|
+
// Ignore errors during shutdown
|
|
165
|
+
});
|
|
166
|
+
};
|
|
167
|
+
process.on('exit', cleanup);
|
|
168
|
+
process.on('SIGINT', () => { cleanup(); process.exit(130); });
|
|
169
|
+
process.on('SIGTERM', () => { cleanup(); process.exit(143); });
|
|
170
|
+
this.cleanupRegistered = true;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
// Singleton instance for shared use
|
|
174
|
+
let defaultManager = null;
|
|
175
|
+
/**
|
|
176
|
+
* Get the default SecretFileManager instance
|
|
177
|
+
*/
|
|
178
|
+
export function getSecretFileManager() {
|
|
179
|
+
if (!defaultManager) {
|
|
180
|
+
defaultManager = new SecretFileManager();
|
|
181
|
+
}
|
|
182
|
+
return defaultManager;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Initialize the default SecretFileManager
|
|
186
|
+
*/
|
|
187
|
+
export async function initializeSecretFiles() {
|
|
188
|
+
const manager = getSecretFileManager();
|
|
189
|
+
await manager.initialize();
|
|
190
|
+
return manager;
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=secret-file-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-file-manager.js","sourceRoot":"","sources":["../../src/lib/secret-file-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/lib/websocket.ts"],"names":[],"mappings":"AAMA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AA6B1D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,qBAAqB,GAAG,qBAAqB,GAAG,qBAAqB,CAAC;IAC7E,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;IACjF,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,OAAO,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,OAAO,CAAC;IAC/D,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,GAAG,SAAS,CAAC;IAC/C,IAAI,CAAC,EAAE,gBAAgB,GAAG,WAAW,GAAG,gBAAgB,CAAC;IACzD,aAAa,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACtF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,IAAI,IAAI,CAAC;IAChB,UAAU,IAAI,IAAI,CAAC;IACnB,WAAW,IAAI,OAAO,CAAC;IACvB,kBAAkB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI,CAAC;IACrE,aAAa,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,CAAC;IAC3D,aAAa,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI,CAAC;IAChE,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACpD,YAAY,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACtD,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/C,mBAAmB,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACvG;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,mBAAmB,GAAE,MAAM,EAAO,GAAG,sBAAsB,
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/lib/websocket.ts"],"names":[],"mappings":"AAMA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AA6B1D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,qBAAqB,GAAG,qBAAqB,GAAG,qBAAqB,CAAC;IAC7E,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;IACjF,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,OAAO,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,OAAO,CAAC;IAC/D,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,GAAG,SAAS,CAAC;IAC/C,IAAI,CAAC,EAAE,gBAAgB,GAAG,WAAW,GAAG,gBAAgB,CAAC;IACzD,aAAa,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACtF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,IAAI,IAAI,CAAC;IAChB,UAAU,IAAI,IAAI,CAAC;IACnB,WAAW,IAAI,OAAO,CAAC;IACvB,kBAAkB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI,CAAC;IACrE,aAAa,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,CAAC;IAC3D,aAAa,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI,CAAC;IAChE,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACpD,YAAY,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACtD,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/C,mBAAmB,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACvG;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,mBAAmB,GAAE,MAAM,EAAO,GAAG,sBAAsB,CA0UvG;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;CACd,GAAG,OAAO,CAAC,IAAI,CAAC,CAwUrB"}
|
package/dist/lib/websocket.js
CHANGED
|
@@ -44,11 +44,20 @@ export function createUnifiedWebSocketClient(additionalSecretIds = []) {
|
|
|
44
44
|
const connectHandlers = [];
|
|
45
45
|
const disconnectHandlers = [];
|
|
46
46
|
const errorHandlers = [];
|
|
47
|
-
|
|
48
|
-
const
|
|
47
|
+
// Aggressive reconnection settings
|
|
48
|
+
const MAX_RECONNECT_DELAY = 30000; // Max 30 seconds between retries
|
|
49
|
+
const INITIAL_RECONNECT_DELAY = 500; // Start with 500ms
|
|
50
|
+
const HEARTBEAT_INTERVAL = 15000; // Send ping every 15 seconds
|
|
51
|
+
const PONG_TIMEOUT = 10000; // Expect pong within 10 seconds
|
|
52
|
+
let lastPongReceived = Date.now();
|
|
53
|
+
let pongTimeoutTimer = null;
|
|
49
54
|
function getReconnectDelay() {
|
|
50
|
-
|
|
51
|
-
|
|
55
|
+
// First retry is immediate (500ms), then exponential backoff
|
|
56
|
+
if (reconnectAttempts === 0) {
|
|
57
|
+
return INITIAL_RECONNECT_DELAY;
|
|
58
|
+
}
|
|
59
|
+
const delay = Math.min(INITIAL_RECONNECT_DELAY * Math.pow(2, reconnectAttempts), MAX_RECONNECT_DELAY);
|
|
60
|
+
return delay + Math.random() * 500; // Smaller jitter
|
|
52
61
|
}
|
|
53
62
|
function buildWebSocketUrl() {
|
|
54
63
|
const config = loadConfig();
|
|
@@ -83,11 +92,36 @@ export function createUnifiedWebSocketClient(additionalSecretIds = []) {
|
|
|
83
92
|
function startHeartbeat() {
|
|
84
93
|
if (heartbeatTimer)
|
|
85
94
|
clearInterval(heartbeatTimer);
|
|
95
|
+
if (pongTimeoutTimer)
|
|
96
|
+
clearTimeout(pongTimeoutTimer);
|
|
97
|
+
lastPongReceived = Date.now();
|
|
86
98
|
heartbeatTimer = setInterval(() => {
|
|
87
99
|
if (ws?.readyState === WebSocket.OPEN) {
|
|
88
|
-
//
|
|
100
|
+
// Check if we received a pong since last ping
|
|
101
|
+
const timeSinceLastPong = Date.now() - lastPongReceived;
|
|
102
|
+
if (timeSinceLastPong > PONG_TIMEOUT + HEARTBEAT_INTERVAL) {
|
|
103
|
+
// No pong received for too long - connection is stale
|
|
104
|
+
log.warn({
|
|
105
|
+
ws: 'unified',
|
|
106
|
+
timeSinceLastPong,
|
|
107
|
+
threshold: PONG_TIMEOUT + HEARTBEAT_INTERVAL
|
|
108
|
+
}, 'Connection stale - no pong received, forcing reconnect');
|
|
109
|
+
forceReconnect('pong_timeout');
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
// Send ping and start pong timeout
|
|
89
113
|
ws.send(JSON.stringify({ type: 'ping' }));
|
|
90
114
|
log.trace({ ws: 'unified' }, 'Sending heartbeat ping');
|
|
115
|
+
// Set a timeout to check for pong response
|
|
116
|
+
if (pongTimeoutTimer)
|
|
117
|
+
clearTimeout(pongTimeoutTimer);
|
|
118
|
+
pongTimeoutTimer = setTimeout(() => {
|
|
119
|
+
const elapsed = Date.now() - lastPongReceived;
|
|
120
|
+
if (elapsed > PONG_TIMEOUT && ws?.readyState === WebSocket.OPEN) {
|
|
121
|
+
log.warn({ ws: 'unified', elapsed }, 'Pong timeout - forcing reconnect');
|
|
122
|
+
forceReconnect('pong_timeout');
|
|
123
|
+
}
|
|
124
|
+
}, PONG_TIMEOUT);
|
|
91
125
|
}
|
|
92
126
|
}, HEARTBEAT_INTERVAL);
|
|
93
127
|
}
|
|
@@ -96,6 +130,26 @@ export function createUnifiedWebSocketClient(additionalSecretIds = []) {
|
|
|
96
130
|
clearInterval(heartbeatTimer);
|
|
97
131
|
heartbeatTimer = null;
|
|
98
132
|
}
|
|
133
|
+
if (pongTimeoutTimer) {
|
|
134
|
+
clearTimeout(pongTimeoutTimer);
|
|
135
|
+
pongTimeoutTimer = null;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
function forceReconnect(reason) {
|
|
139
|
+
log.info({ ws: 'unified', reason }, 'Forcing WebSocket reconnect');
|
|
140
|
+
stopHeartbeat();
|
|
141
|
+
if (ws) {
|
|
142
|
+
try {
|
|
143
|
+
ws.terminate(); // Force close without waiting
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
// Ignore errors during terminate
|
|
147
|
+
}
|
|
148
|
+
ws = null;
|
|
149
|
+
}
|
|
150
|
+
// Reset reconnect attempts for faster initial retry
|
|
151
|
+
reconnectAttempts = 0;
|
|
152
|
+
scheduleReconnect();
|
|
99
153
|
}
|
|
100
154
|
function scheduleReconnect() {
|
|
101
155
|
if (!shouldReconnect || isShuttingDown)
|
|
@@ -120,7 +174,12 @@ export function createUnifiedWebSocketClient(additionalSecretIds = []) {
|
|
|
120
174
|
log.info({ subscriptions: message.subscriptions }, 'Subscriptions updated');
|
|
121
175
|
break;
|
|
122
176
|
case 'pong':
|
|
123
|
-
|
|
177
|
+
lastPongReceived = Date.now();
|
|
178
|
+
if (pongTimeoutTimer) {
|
|
179
|
+
clearTimeout(pongTimeoutTimer);
|
|
180
|
+
pongTimeoutTimer = null;
|
|
181
|
+
}
|
|
182
|
+
log.trace({ lastPongReceived }, 'Received heartbeat pong');
|
|
124
183
|
break;
|
|
125
184
|
case 'event':
|
|
126
185
|
if (message.topic === 'certificates' && message.data) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/lib/websocket.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/lib/websocket.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"child-process-manager.d.ts","sourceRoot":"","sources":["../../src/services/child-process-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"child-process-manager.d.ts","sourceRoot":"","sources":["../../src/services/child-process-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAS3C,OAAO,EAAE,KAAK,UAAU,EAAuB,MAAM,kBAAkB,CAAC;AAIxE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,UAAU,GACV,SAAS,GACT,YAAY,GACZ,SAAS,GACT,uBAAuB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9D,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/B;AAED;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8F;IACrH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmE;IAC5F,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyC;gBAE5D,UAAU,EAAE,UAAU;IAiClC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgE5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA8D3B;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB5C;;OAEG;IACH,QAAQ,IAAI,iBAAiB;IAY7B;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;YACW,SAAS;IA+BvB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAe7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA4B/B;;OAEG;IACH,OAAO,CAAC,WAAW;IA8CnB;;OAEG;IACH,iBAAiB,IAAI,IAAI;CAO1B"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
import { spawn } from 'node:child_process';
|
|
4
4
|
import { EventEmitter } from 'node:events';
|
|
5
5
|
import { logger } from '../lib/logger.js';
|
|
6
|
-
import { parseSecretMappingFromConfig, buildSecretEnv, } from '../lib/secret-env.js';
|
|
6
|
+
import { parseSecretMappingFromConfig, buildSecretEnv, buildSecretEnvWithFiles, } from '../lib/secret-env.js';
|
|
7
|
+
import { getSecretFileManager } from '../lib/secret-file-manager.js';
|
|
7
8
|
import { DEFAULT_EXEC_CONFIG } from '../lib/config.js';
|
|
8
9
|
const log = logger.child({ module: 'child-process-manager' });
|
|
9
10
|
/**
|
|
@@ -14,6 +15,7 @@ export class ChildProcessManager extends EventEmitter {
|
|
|
14
15
|
child = null;
|
|
15
16
|
config;
|
|
16
17
|
mappings;
|
|
18
|
+
useFileMode;
|
|
17
19
|
isShuttingDown = false;
|
|
18
20
|
restartCount = 0;
|
|
19
21
|
restartWindowStart = 0;
|
|
@@ -31,12 +33,22 @@ export class ChildProcessManager extends EventEmitter {
|
|
|
31
33
|
...DEFAULT_EXEC_CONFIG,
|
|
32
34
|
...execConfig,
|
|
33
35
|
};
|
|
34
|
-
// Parse secret mappings from config format
|
|
35
|
-
this.mappings = this.config.secrets.map(
|
|
36
|
+
// Parse secret mappings from config format, preserving outputToFile flag
|
|
37
|
+
this.mappings = this.config.secrets.map(secret => {
|
|
38
|
+
const parsed = parseSecretMappingFromConfig(secret);
|
|
39
|
+
return {
|
|
40
|
+
...parsed,
|
|
41
|
+
outputToFile: secret.outputToFile,
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
|
+
// Check if any secrets should be written to files
|
|
45
|
+
this.useFileMode = this.mappings.some(m => m.outputToFile);
|
|
36
46
|
log.debug({
|
|
37
47
|
command: this.config.command,
|
|
38
48
|
secretCount: this.config.secrets.length,
|
|
39
49
|
restartOnChange: this.config.restartOnChange,
|
|
50
|
+
useFileMode: this.useFileMode,
|
|
51
|
+
fileSecrets: this.mappings.filter(m => m.outputToFile).map(m => m.envVar),
|
|
40
52
|
}, 'ChildProcessManager initialized');
|
|
41
53
|
}
|
|
42
54
|
/**
|
|
@@ -52,10 +64,24 @@ export class ChildProcessManager extends EventEmitter {
|
|
|
52
64
|
return;
|
|
53
65
|
}
|
|
54
66
|
this.status = 'starting';
|
|
55
|
-
log.info({ command: this.config.command.join(' ') }, 'Starting child process');
|
|
67
|
+
log.info({ command: this.config.command.join(' '), useFileMode: this.useFileMode }, 'Starting child process');
|
|
56
68
|
try {
|
|
57
69
|
// Fetch secrets and build environment
|
|
58
|
-
|
|
70
|
+
// Use file mode if any secrets are marked for file output
|
|
71
|
+
let secretEnv;
|
|
72
|
+
if (this.useFileMode) {
|
|
73
|
+
const result = await buildSecretEnvWithFiles(this.mappings);
|
|
74
|
+
secretEnv = result.env;
|
|
75
|
+
log.info({
|
|
76
|
+
secretsDir: result.secretsDir,
|
|
77
|
+
filesWritten: result.files.length,
|
|
78
|
+
envVars: Object.keys(result.env).filter(k => !k.endsWith('_FILE')).length,
|
|
79
|
+
fileVars: Object.keys(result.env).filter(k => k.endsWith('_FILE')).length,
|
|
80
|
+
}, 'Secrets prepared (file mode enabled for sensitive values)');
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
secretEnv = await buildSecretEnv(this.mappings);
|
|
84
|
+
}
|
|
59
85
|
const env = this.config.inheritEnv
|
|
60
86
|
? { ...process.env, ...secretEnv }
|
|
61
87
|
: secretEnv;
|
|
@@ -93,6 +119,17 @@ export class ChildProcessManager extends EventEmitter {
|
|
|
93
119
|
}
|
|
94
120
|
// Remove signal handlers
|
|
95
121
|
this.cleanupSignalHandlers();
|
|
122
|
+
// Clean up secret files if we were using file mode
|
|
123
|
+
if (this.useFileMode) {
|
|
124
|
+
try {
|
|
125
|
+
const manager = getSecretFileManager();
|
|
126
|
+
await manager.cleanup();
|
|
127
|
+
log.debug('Cleaned up secret files');
|
|
128
|
+
}
|
|
129
|
+
catch (err) {
|
|
130
|
+
log.warn({ err }, 'Failed to cleanup secret files');
|
|
131
|
+
}
|
|
132
|
+
}
|
|
96
133
|
if (!this.child) {
|
|
97
134
|
this.status = 'stopped';
|
|
98
135
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"child-process-manager.js","sourceRoot":"","sources":["../../src/services/child-process-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"child-process-manager.js","sourceRoot":"","sources":["../../src/services/child-process-manager.ts"],"names":[],"mappings":"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"}
|