envilder 0.7.12 → 0.9.1
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/README.md +284 -37
- package/ROADMAP.md +81 -16
- package/docs/CHANGELOG.md +43 -101
- package/docs/SECURITY.md +26 -2
- package/lib/apps/cli/Cli.d.ts.map +1 -1
- package/lib/apps/cli/Cli.js +68 -11
- package/lib/apps/cli/Cli.js.map +1 -1
- package/lib/apps/cli/Startup.d.ts +3 -9
- package/lib/apps/cli/Startup.d.ts.map +1 -1
- package/lib/apps/cli/Startup.js +4 -54
- package/lib/apps/cli/Startup.js.map +1 -1
- package/lib/apps/gha/Gha.d.ts.map +1 -1
- package/lib/apps/gha/Gha.js +36 -19
- package/lib/apps/gha/Gha.js.map +1 -1
- package/lib/apps/gha/Startup.d.ts +3 -9
- package/lib/apps/gha/Startup.d.ts.map +1 -1
- package/lib/apps/gha/Startup.js +4 -54
- package/lib/apps/gha/Startup.js.map +1 -1
- package/lib/apps/shared/ContainerConfiguration.d.ts +7 -0
- package/lib/apps/shared/ContainerConfiguration.d.ts.map +1 -0
- package/lib/apps/shared/ContainerConfiguration.js +62 -0
- package/lib/apps/shared/ContainerConfiguration.js.map +1 -0
- package/lib/envilder/application/dispatch/DispatchActionCommand.d.ts +2 -2
- package/lib/envilder/application/dispatch/DispatchActionCommand.d.ts.map +1 -1
- package/lib/envilder/application/dispatch/DispatchActionCommand.js +6 -6
- package/lib/envilder/application/dispatch/DispatchActionCommand.js.map +1 -1
- package/lib/envilder/application/dispatch/DispatchActionCommandHandler.d.ts +3 -3
- package/lib/envilder/application/dispatch/DispatchActionCommandHandler.d.ts.map +1 -1
- package/lib/envilder/application/dispatch/DispatchActionCommandHandler.js +13 -13
- package/lib/envilder/application/dispatch/DispatchActionCommandHandler.js.map +1 -1
- package/lib/envilder/application/pullSecretsToEnv/PullSecretsToEnvCommand.d.ts +7 -0
- package/lib/envilder/application/pullSecretsToEnv/PullSecretsToEnvCommand.d.ts.map +1 -0
- package/lib/envilder/application/{pullSsmToEnv/PullSsmToEnvCommand.js → pullSecretsToEnv/PullSecretsToEnvCommand.js} +3 -3
- package/lib/envilder/application/pullSecretsToEnv/PullSecretsToEnvCommand.js.map +1 -0
- package/lib/envilder/application/{pullSsmToEnv/PullSsmToEnvCommandHandler.d.ts → pullSecretsToEnv/PullSecretsToEnvCommandHandler.d.ts} +7 -7
- package/lib/envilder/application/pullSecretsToEnv/PullSecretsToEnvCommandHandler.d.ts.map +1 -0
- package/lib/envilder/application/{pullSsmToEnv/PullSsmToEnvCommandHandler.js → pullSecretsToEnv/PullSecretsToEnvCommandHandler.js} +18 -18
- package/lib/envilder/application/pullSecretsToEnv/PullSecretsToEnvCommandHandler.js.map +1 -0
- package/lib/envilder/application/{pushEnvToSsm/PushEnvToSsmCommand.d.ts → pushEnvToSecrets/PushEnvToSecretsCommand.d.ts} +3 -3
- package/lib/envilder/application/pushEnvToSecrets/PushEnvToSecretsCommand.d.ts.map +1 -0
- package/lib/envilder/application/{pushEnvToSsm/PushEnvToSsmCommand.js → pushEnvToSecrets/PushEnvToSecretsCommand.js} +3 -3
- package/lib/envilder/application/pushEnvToSecrets/PushEnvToSecretsCommand.js.map +1 -0
- package/lib/envilder/application/pushEnvToSecrets/PushEnvToSecretsCommandHandler.d.ts +34 -0
- package/lib/envilder/application/pushEnvToSecrets/PushEnvToSecretsCommandHandler.d.ts.map +1 -0
- package/lib/envilder/application/{pushEnvToSsm/PushEnvToSsmCommandHandler.js → pushEnvToSecrets/PushEnvToSecretsCommandHandler.js} +36 -32
- package/lib/envilder/application/pushEnvToSecrets/PushEnvToSecretsCommandHandler.js.map +1 -0
- package/lib/envilder/application/pushSingle/PushSingleCommand.d.ts +3 -3
- package/lib/envilder/application/pushSingle/PushSingleCommand.d.ts.map +1 -1
- package/lib/envilder/application/pushSingle/PushSingleCommand.js +4 -4
- package/lib/envilder/application/pushSingle/PushSingleCommand.js.map +1 -1
- package/lib/envilder/application/pushSingle/PushSingleCommandHandler.d.ts +2 -2
- package/lib/envilder/application/pushSingle/PushSingleCommandHandler.d.ts.map +1 -1
- package/lib/envilder/application/pushSingle/PushSingleCommandHandler.js +6 -6
- package/lib/envilder/application/pushSingle/PushSingleCommandHandler.js.map +1 -1
- package/lib/envilder/domain/CliOptions.d.ts +3 -3
- package/lib/envilder/domain/CliOptions.d.ts.map +1 -1
- package/lib/envilder/domain/EnvironmentVariable.d.ts +5 -0
- package/lib/envilder/domain/EnvironmentVariable.d.ts.map +1 -1
- package/lib/envilder/domain/EnvironmentVariable.js +12 -3
- package/lib/envilder/domain/EnvironmentVariable.js.map +1 -1
- package/lib/envilder/domain/MapFileConfig.d.ts +10 -0
- package/lib/envilder/domain/MapFileConfig.d.ts.map +1 -0
- package/lib/envilder/domain/MapFileConfig.js +2 -0
- package/lib/envilder/domain/MapFileConfig.js.map +1 -0
- package/lib/envilder/domain/OperationMode.d.ts +2 -2
- package/lib/envilder/domain/OperationMode.d.ts.map +1 -1
- package/lib/envilder/domain/OperationMode.js +2 -2
- package/lib/envilder/domain/OperationMode.js.map +1 -1
- package/lib/envilder/domain/ports/IVariableStore.d.ts +2 -0
- package/lib/envilder/domain/ports/IVariableStore.d.ts.map +1 -1
- package/lib/envilder/infrastructure/aws/AwsSecretProviderFactory.d.ts +4 -0
- package/lib/envilder/infrastructure/aws/AwsSecretProviderFactory.d.ts.map +1 -0
- package/lib/envilder/infrastructure/aws/AwsSecretProviderFactory.js +10 -0
- package/lib/envilder/infrastructure/aws/AwsSecretProviderFactory.js.map +1 -0
- package/lib/envilder/infrastructure/aws/AwsSsmSecretProvider.d.ts.map +1 -1
- package/lib/envilder/infrastructure/aws/AwsSsmSecretProvider.js +3 -1
- package/lib/envilder/infrastructure/aws/AwsSsmSecretProvider.js.map +1 -1
- package/lib/envilder/infrastructure/azure/AzureKeyVaultSecretProvider.d.ts +17 -0
- package/lib/envilder/infrastructure/azure/AzureKeyVaultSecretProvider.d.ts.map +1 -0
- package/lib/envilder/infrastructure/azure/AzureKeyVaultSecretProvider.js +113 -0
- package/lib/envilder/infrastructure/azure/AzureKeyVaultSecretProvider.js.map +1 -0
- package/lib/envilder/infrastructure/azure/AzureSecretProviderFactory.d.ts +9 -0
- package/lib/envilder/infrastructure/azure/AzureSecretProviderFactory.d.ts.map +1 -0
- package/lib/envilder/infrastructure/azure/AzureSecretProviderFactory.js +24 -0
- package/lib/envilder/infrastructure/azure/AzureSecretProviderFactory.js.map +1 -0
- package/lib/envilder/infrastructure/azure/AzureVaultUrlValidator.d.ts +3 -0
- package/lib/envilder/infrastructure/azure/AzureVaultUrlValidator.d.ts.map +1 -0
- package/lib/envilder/infrastructure/azure/AzureVaultUrlValidator.js +28 -0
- package/lib/envilder/infrastructure/azure/AzureVaultUrlValidator.js.map +1 -0
- package/lib/envilder/infrastructure/variableStore/FileVariableStore.d.ts +4 -0
- package/lib/envilder/infrastructure/variableStore/FileVariableStore.d.ts.map +1 -1
- package/lib/envilder/infrastructure/variableStore/FileVariableStore.js +46 -0
- package/lib/envilder/infrastructure/variableStore/FileVariableStore.js.map +1 -1
- package/lib/envilder/types.d.ts +4 -4
- package/lib/envilder/types.js +2 -2
- package/lib/envilder/types.js.map +1 -1
- package/lib/iac/bin/main.d.ts +28 -0
- package/lib/iac/bin/main.d.ts.map +1 -0
- package/lib/iac/bin/main.js +201 -0
- package/lib/iac/bin/main.js.map +1 -0
- package/lib/iac/lib/core/types.d.ts +5 -0
- package/lib/iac/lib/core/types.d.ts.map +1 -0
- package/lib/iac/lib/core/types.js +9 -0
- package/lib/iac/lib/core/types.js.map +1 -0
- package/lib/iac/lib/stacks/customStack.d.ts +23 -0
- package/lib/iac/lib/stacks/customStack.d.ts.map +1 -0
- package/lib/iac/lib/stacks/customStack.js +34 -0
- package/lib/iac/lib/stacks/customStack.js.map +1 -0
- package/lib/iac/lib/stacks/staticWebsiteStack.d.ts +10 -0
- package/lib/iac/lib/stacks/staticWebsiteStack.d.ts.map +1 -0
- package/lib/iac/lib/stacks/staticWebsiteStack.js +163 -0
- package/lib/iac/lib/stacks/staticWebsiteStack.js.map +1 -0
- package/lib/iac/lib/stacks/utils.d.ts +6 -0
- package/lib/iac/lib/stacks/utils.d.ts.map +1 -0
- package/lib/iac/lib/stacks/utils.js +18 -0
- package/lib/iac/lib/stacks/utils.js.map +1 -0
- package/package.json +33 -23
- package/lib/envilder/application/pullSsmToEnv/PullSsmToEnvCommand.d.ts +0 -7
- package/lib/envilder/application/pullSsmToEnv/PullSsmToEnvCommand.d.ts.map +0 -1
- package/lib/envilder/application/pullSsmToEnv/PullSsmToEnvCommand.js.map +0 -1
- package/lib/envilder/application/pullSsmToEnv/PullSsmToEnvCommandHandler.d.ts.map +0 -1
- package/lib/envilder/application/pullSsmToEnv/PullSsmToEnvCommandHandler.js.map +0 -1
- package/lib/envilder/application/pushEnvToSsm/PushEnvToSsmCommand.d.ts.map +0 -1
- package/lib/envilder/application/pushEnvToSsm/PushEnvToSsmCommand.js.map +0 -1
- package/lib/envilder/application/pushEnvToSsm/PushEnvToSsmCommandHandler.d.ts +0 -34
- package/lib/envilder/application/pushEnvToSsm/PushEnvToSsmCommandHandler.d.ts.map +0 -1
- package/lib/envilder/application/pushEnvToSsm/PushEnvToSsmCommandHandler.js.map +0 -1
|
@@ -22,18 +22,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
22
22
|
import { inject, injectable } from 'inversify';
|
|
23
23
|
import { EnvironmentVariable } from '../../domain/EnvironmentVariable.js';
|
|
24
24
|
import { TYPES } from '../../types.js';
|
|
25
|
-
let
|
|
25
|
+
let PushEnvToSecretsCommandHandler = class PushEnvToSecretsCommandHandler {
|
|
26
26
|
constructor(secretProvider, variableStore, logger) {
|
|
27
27
|
this.secretProvider = secretProvider;
|
|
28
28
|
this.variableStore = variableStore;
|
|
29
29
|
this.logger = logger;
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
|
-
* Handles the
|
|
33
|
-
* from a local file and pushes them to
|
|
34
|
-
* Uses a map file to determine the
|
|
32
|
+
* Handles the PushEnvToSecretsCommand which imports environment variables
|
|
33
|
+
* from a local file and pushes them to the secret store.
|
|
34
|
+
* Uses a map file to determine the secret path for each environment variable.
|
|
35
35
|
*
|
|
36
|
-
* @param command - The
|
|
36
|
+
* @param command - The PushEnvToSecretsCommand containing mapPath and envFilePath
|
|
37
37
|
*/
|
|
38
38
|
handle(command) {
|
|
39
39
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -41,8 +41,8 @@ let PushEnvToSsmCommandHandler = class PushEnvToSsmCommandHandler {
|
|
|
41
41
|
this.logger.info(`Starting push operation from '${command.envFilePath}' using map '${command.mapPath}'`);
|
|
42
42
|
const config = yield this.loadConfiguration(command);
|
|
43
43
|
const validatedPaths = this.validateAndGroupByPath(config);
|
|
44
|
-
yield this.
|
|
45
|
-
this.logger.info(`Successfully pushed environment variables from '${command.envFilePath}' to
|
|
44
|
+
yield this.pushParametersToStore(validatedPaths);
|
|
45
|
+
this.logger.info(`Successfully pushed environment variables from '${command.envFilePath}' to secret store.`);
|
|
46
46
|
}
|
|
47
47
|
catch (error) {
|
|
48
48
|
const errorMessage = this.getErrorMessage(error);
|
|
@@ -63,62 +63,65 @@ let PushEnvToSsmCommandHandler = class PushEnvToSsmCommandHandler {
|
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
66
|
-
* Validates and groups environment variables by
|
|
67
|
-
* Ensures that all variables pointing to the same
|
|
68
|
-
* Returns a map of
|
|
66
|
+
* Validates and groups environment variables by secret path.
|
|
67
|
+
* Ensures that all variables pointing to the same secret path have the same value.
|
|
68
|
+
* Returns a map of secret path to value.
|
|
69
69
|
*/
|
|
70
70
|
validateAndGroupByPath(config) {
|
|
71
71
|
const { paramMap, envVariables } = config;
|
|
72
72
|
const pathToValueMap = new Map();
|
|
73
|
-
for (const [envKey,
|
|
73
|
+
for (const [envKey, secretPath] of Object.entries(paramMap)) {
|
|
74
74
|
const envValue = envVariables[envKey];
|
|
75
75
|
if (envValue === undefined) {
|
|
76
76
|
this.logger.warn(`Warning: Environment variable ${envKey} not found in environment file`);
|
|
77
77
|
continue;
|
|
78
78
|
}
|
|
79
|
-
const existing = pathToValueMap.get(
|
|
79
|
+
const existing = pathToValueMap.get(secretPath);
|
|
80
80
|
if (existing) {
|
|
81
81
|
if (existing.value !== envValue) {
|
|
82
82
|
const existingMasked = new EnvironmentVariable(existing.sourceKeys[0], existing.value, true).maskedValue;
|
|
83
83
|
const newMasked = new EnvironmentVariable(envKey, envValue, true)
|
|
84
84
|
.maskedValue;
|
|
85
|
-
throw new Error(`Conflicting values for
|
|
85
|
+
throw new Error(`Conflicting values for secret path '${secretPath}': ` +
|
|
86
86
|
`'${existing.sourceKeys[0]}' has value '${existingMasked}' ` +
|
|
87
87
|
`but '${envKey}' has value '${newMasked}'`);
|
|
88
88
|
}
|
|
89
89
|
existing.sourceKeys.push(envKey);
|
|
90
90
|
}
|
|
91
91
|
else {
|
|
92
|
-
pathToValueMap.set(
|
|
92
|
+
pathToValueMap.set(secretPath, {
|
|
93
|
+
value: envValue,
|
|
94
|
+
sourceKeys: [envKey],
|
|
95
|
+
});
|
|
93
96
|
}
|
|
94
97
|
}
|
|
95
98
|
const uniquePaths = pathToValueMap.size;
|
|
96
99
|
const totalVariables = Object.keys(paramMap).length;
|
|
97
|
-
this.logger.info(`Validated ${totalVariables} environment variables mapping to ${uniquePaths} unique
|
|
100
|
+
this.logger.info(`Validated ${totalVariables} environment variables mapping to ${uniquePaths} unique secrets`);
|
|
98
101
|
return pathToValueMap;
|
|
99
102
|
}
|
|
100
|
-
|
|
103
|
+
pushParametersToStore(pathToValueMap) {
|
|
101
104
|
return __awaiter(this, void 0, void 0, function* () {
|
|
102
105
|
const pathsToProcess = Array.from(pathToValueMap.keys());
|
|
103
|
-
this.logger.info(`Processing ${pathsToProcess.length} unique
|
|
104
|
-
// Process
|
|
105
|
-
const parameterProcessingPromises = Array.from(pathToValueMap.entries()).map(([
|
|
106
|
-
return this.retryWithBackoff(() => this.pushParameter(
|
|
106
|
+
this.logger.info(`Processing ${pathsToProcess.length} unique secrets`);
|
|
107
|
+
// Process secrets in parallel with retry logic for throttling errors
|
|
108
|
+
const parameterProcessingPromises = Array.from(pathToValueMap.entries()).map(([secretPath, { value, sourceKeys }]) => {
|
|
109
|
+
return this.retryWithBackoff(() => this.pushParameter(secretPath, value, sourceKeys));
|
|
107
110
|
});
|
|
108
111
|
yield Promise.all(parameterProcessingPromises);
|
|
109
112
|
});
|
|
110
113
|
}
|
|
111
|
-
pushParameter(
|
|
114
|
+
pushParameter(secretPath, value, sourceKeys) {
|
|
112
115
|
return __awaiter(this, void 0, void 0, function* () {
|
|
113
116
|
const envVariable = new EnvironmentVariable(sourceKeys[0], value, true);
|
|
114
|
-
yield this.secretProvider.setSecret(
|
|
117
|
+
yield this.secretProvider.setSecret(secretPath, value);
|
|
115
118
|
const keysDescription = sourceKeys.length > 1 ? `${sourceKeys.join(', ')}` : sourceKeys[0];
|
|
116
|
-
this.logger.info(`Pushed ${keysDescription}=${envVariable.maskedValue} to
|
|
119
|
+
this.logger.info(`Pushed ${keysDescription}=${envVariable.maskedValue} to secret store at path ${secretPath}`);
|
|
117
120
|
});
|
|
118
121
|
}
|
|
119
122
|
/**
|
|
120
123
|
* Retries an async operation with exponential backoff and jitter.
|
|
121
|
-
* Handles
|
|
124
|
+
* Handles throttling errors from cloud providers.
|
|
122
125
|
*/
|
|
123
126
|
retryWithBackoff(operation_1) {
|
|
124
127
|
return __awaiter(this, arguments, void 0, function* (operation, maxRetries = 5, baseDelayMs = 100) {
|
|
@@ -131,10 +134,11 @@ let PushEnvToSsmCommandHandler = class PushEnvToSsmCommandHandler {
|
|
|
131
134
|
lastError = error;
|
|
132
135
|
const isThrottlingError = typeof error === 'object' &&
|
|
133
136
|
error !== null &&
|
|
134
|
-
'name' in error &&
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
137
|
+
(('name' in error &&
|
|
138
|
+
(error.name === 'TooManyUpdates' ||
|
|
139
|
+
error.name === 'ThrottlingException' ||
|
|
140
|
+
error.name === 'TooManyRequestsException')) ||
|
|
141
|
+
('statusCode' in error && error.statusCode === 429));
|
|
138
142
|
if (!isThrottlingError || attempt === maxRetries) {
|
|
139
143
|
throw error;
|
|
140
144
|
}
|
|
@@ -180,12 +184,12 @@ let PushEnvToSsmCommandHandler = class PushEnvToSsmCommandHandler {
|
|
|
180
184
|
return `Unknown error: ${String(error)}`;
|
|
181
185
|
}
|
|
182
186
|
};
|
|
183
|
-
|
|
187
|
+
PushEnvToSecretsCommandHandler = __decorate([
|
|
184
188
|
injectable(),
|
|
185
189
|
__param(0, inject(TYPES.ISecretProvider)),
|
|
186
190
|
__param(1, inject(TYPES.IVariableStore)),
|
|
187
191
|
__param(2, inject(TYPES.ILogger)),
|
|
188
192
|
__metadata("design:paramtypes", [Object, Object, Object])
|
|
189
|
-
],
|
|
190
|
-
export {
|
|
191
|
-
//# sourceMappingURL=
|
|
193
|
+
], PushEnvToSecretsCommandHandler);
|
|
194
|
+
export { PushEnvToSecretsCommandHandler };
|
|
195
|
+
//# sourceMappingURL=PushEnvToSecretsCommandHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PushEnvToSecretsCommandHandler.js","sourceRoot":"","sources":["../../../../src/envilder/application/pushEnvToSecrets/PushEnvToSecretsCommandHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export declare class PushSingleCommand {
|
|
2
2
|
readonly key: string;
|
|
3
3
|
readonly value: string;
|
|
4
|
-
readonly
|
|
5
|
-
constructor(key: string, value: string,
|
|
6
|
-
static create(key: string, value: string,
|
|
4
|
+
readonly secretPath: string;
|
|
5
|
+
constructor(key: string, value: string, secretPath: string);
|
|
6
|
+
static create(key: string, value: string, secretPath: string): PushSingleCommand;
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=PushSingleCommand.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushSingleCommand.d.ts","sourceRoot":"","sources":["../../../../src/envilder/application/pushSingle/PushSingleCommand.ts"],"names":[],"mappings":"AAAA,qBAAa,iBAAiB;aAEV,GAAG,EAAE,MAAM;aACX,KAAK,EAAE,MAAM;aACb,
|
|
1
|
+
{"version":3,"file":"PushSingleCommand.d.ts","sourceRoot":"","sources":["../../../../src/envilder/application/pushSingle/PushSingleCommand.ts"],"names":[],"mappings":"AAAA,qBAAa,iBAAiB;aAEV,GAAG,EAAE,MAAM;aACX,KAAK,EAAE,MAAM;aACb,UAAU,EAAE,MAAM;gBAFlB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM;IAGpC,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GACjB,iBAAiB;CAGrB"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export class PushSingleCommand {
|
|
2
|
-
constructor(key, value,
|
|
2
|
+
constructor(key, value, secretPath) {
|
|
3
3
|
this.key = key;
|
|
4
4
|
this.value = value;
|
|
5
|
-
this.
|
|
5
|
+
this.secretPath = secretPath;
|
|
6
6
|
}
|
|
7
|
-
static create(key, value,
|
|
8
|
-
return new PushSingleCommand(key, value,
|
|
7
|
+
static create(key, value, secretPath) {
|
|
8
|
+
return new PushSingleCommand(key, value, secretPath);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=PushSingleCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushSingleCommand.js","sourceRoot":"","sources":["../../../../src/envilder/application/pushSingle/PushSingleCommand.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iBAAiB;IAC5B,YACkB,GAAW,EACX,KAAa,EACb,
|
|
1
|
+
{"version":3,"file":"PushSingleCommand.js","sourceRoot":"","sources":["../../../../src/envilder/application/pushSingle/PushSingleCommand.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iBAAiB;IAC5B,YACkB,GAAW,EACX,KAAa,EACb,UAAkB;QAFlB,QAAG,GAAH,GAAG,CAAQ;QACX,UAAK,GAAL,KAAK,CAAQ;QACb,eAAU,GAAV,UAAU,CAAQ;IACjC,CAAC;IAEJ,MAAM,CAAC,MAAM,CACX,GAAW,EACX,KAAa,EACb,UAAkB;QAElB,OAAO,IAAI,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;CACF"}
|
|
@@ -6,9 +6,9 @@ export declare class PushSingleCommandHandler {
|
|
|
6
6
|
private readonly logger;
|
|
7
7
|
constructor(secretProvider: ISecretProvider, logger: ILogger);
|
|
8
8
|
/**
|
|
9
|
-
* Handles the PushSingleCommand which pushes a single environment variable to
|
|
9
|
+
* Handles the PushSingleCommand which pushes a single environment variable to the secret store.
|
|
10
10
|
*
|
|
11
|
-
* @param command - The PushSingleCommand containing key, value and
|
|
11
|
+
* @param command - The PushSingleCommand containing key, value and secretPath
|
|
12
12
|
*/
|
|
13
13
|
handle(command: PushSingleCommand): Promise<void>;
|
|
14
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushSingleCommandHandler.d.ts","sourceRoot":"","sources":["../../../../src/envilder/application/pushSingle/PushSingleCommandHandler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAE7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,qBACa,wBAAwB;IAGjC,OAAO,CAAC,QAAQ,CAAC,cAAc;IACR,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAD7B,cAAc,EAAE,eAAe,EACR,MAAM,EAAE,OAAO;IAGzD;;;;OAIG;IACG,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"PushSingleCommandHandler.d.ts","sourceRoot":"","sources":["../../../../src/envilder/application/pushSingle/PushSingleCommandHandler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAE7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,qBACa,wBAAwB;IAGjC,OAAO,CAAC,QAAQ,CAAC,cAAc;IACR,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAD7B,cAAc,EAAE,eAAe,EACR,MAAM,EAAE,OAAO;IAGzD;;;;OAIG;IACG,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAyBxD"}
|
|
@@ -28,21 +28,21 @@ let PushSingleCommandHandler = class PushSingleCommandHandler {
|
|
|
28
28
|
this.logger = logger;
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
|
-
* Handles the PushSingleCommand which pushes a single environment variable to
|
|
31
|
+
* Handles the PushSingleCommand which pushes a single environment variable to the secret store.
|
|
32
32
|
*
|
|
33
|
-
* @param command - The PushSingleCommand containing key, value and
|
|
33
|
+
* @param command - The PushSingleCommand containing key, value and secretPath
|
|
34
34
|
*/
|
|
35
35
|
handle(command) {
|
|
36
36
|
return __awaiter(this, void 0, void 0, function* () {
|
|
37
37
|
try {
|
|
38
|
-
this.logger.info(`Starting push operation for key '${command.key}' to path '${command.
|
|
38
|
+
this.logger.info(`Starting push operation for key '${command.key}' to path '${EnvironmentVariable.maskSecretPath(command.secretPath)}'`);
|
|
39
39
|
const envVariable = new EnvironmentVariable(command.key, command.value, true);
|
|
40
|
-
yield this.secretProvider.setSecret(command.
|
|
41
|
-
this.logger.info(`Pushed ${command.key}=${envVariable.maskedValue} to
|
|
40
|
+
yield this.secretProvider.setSecret(command.secretPath, command.value);
|
|
41
|
+
this.logger.info(`Pushed ${command.key}=${envVariable.maskedValue} to secret store at path ${EnvironmentVariable.maskSecretPath(command.secretPath)}`);
|
|
42
42
|
}
|
|
43
43
|
catch (error) {
|
|
44
44
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
45
|
-
this.logger.error(`Failed to push variable to
|
|
45
|
+
this.logger.error(`Failed to push variable to secret store: ${errorMessage}`);
|
|
46
46
|
throw error;
|
|
47
47
|
}
|
|
48
48
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushSingleCommandHandler.js","sourceRoot":"","sources":["../../../../src/envilder/application/pushSingle/PushSingleCommandHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAG1E,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAIhC,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACnC,YAEmB,cAA+B,EACR,MAAe;QADtC,mBAAc,GAAd,cAAc,CAAiB;QACR,WAAM,GAAN,MAAM,CAAS;IACtD,CAAC;IAEJ;;;;OAIG;IACG,MAAM,CAAC,OAA0B;;YACrC,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,oCAAoC,OAAO,CAAC,GAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"PushSingleCommandHandler.js","sourceRoot":"","sources":["../../../../src/envilder/application/pushSingle/PushSingleCommandHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAG1E,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAIhC,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACnC,YAEmB,cAA+B,EACR,MAAe;QADtC,mBAAc,GAAd,cAAc,CAAiB;QACR,WAAM,GAAN,MAAM,CAAS;IACtD,CAAC;IAEJ;;;;OAIG;IACG,MAAM,CAAC,OAA0B;;YACrC,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,oCAAoC,OAAO,CAAC,GAAG,cAAc,mBAAmB,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CACvH,CAAC;gBAEF,MAAM,WAAW,GAAG,IAAI,mBAAmB,CACzC,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,KAAK,EACb,IAAI,CACL,CAAC;gBAEF,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;gBACvE,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,UAAU,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,WAAW,4BAA4B,mBAAmB,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CACrI,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,4CAA4C,YAAY,EAAE,CAC3D,CAAC;gBACF,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KAAA;CACF,CAAA;AArCY,wBAAwB;IADpC,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAE7B,WAAA,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;;GAJb,wBAAwB,CAqCpC"}
|
|
@@ -19,15 +19,15 @@ export type CliOptions = {
|
|
|
19
19
|
*/
|
|
20
20
|
value?: string;
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
22
|
+
* Secret path in the cloud provider for the single environment variable
|
|
23
23
|
*/
|
|
24
|
-
|
|
24
|
+
secretPath?: string;
|
|
25
25
|
/**
|
|
26
26
|
* AWS CLI profile to use
|
|
27
27
|
*/
|
|
28
28
|
profile?: string;
|
|
29
29
|
/**
|
|
30
|
-
* Flag to push local .env file back to
|
|
30
|
+
* Flag to push local .env file back to the secret store
|
|
31
31
|
*/
|
|
32
32
|
push?: boolean;
|
|
33
33
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliOptions.d.ts","sourceRoot":"","sources":["../../../src/envilder/domain/CliOptions.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"CliOptions.d.ts","sourceRoot":"","sources":["../../../src/envilder/domain/CliOptions.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC"}
|
|
@@ -29,6 +29,11 @@ export declare class EnvironmentVariable {
|
|
|
29
29
|
* Returns a masked representation of the value for logging
|
|
30
30
|
*/
|
|
31
31
|
get maskedValue(): string;
|
|
32
|
+
/**
|
|
33
|
+
* Returns a masked representation of a secret path for safe logging.
|
|
34
|
+
*/
|
|
35
|
+
static maskSecretPath(path: string): string;
|
|
36
|
+
private static mask;
|
|
32
37
|
/**
|
|
33
38
|
* Validates the environment variable
|
|
34
39
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentVariable.d.ts","sourceRoot":"","sources":["../../../src/envilder/domain/EnvironmentVariable.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IAEpC;;;;;;OAMG;gBACS,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAe;IAOlE;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"EnvironmentVariable.d.ts","sourceRoot":"","sources":["../../../src/envilder/domain/EnvironmentVariable.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IAEpC;;;;;;OAMG;gBACS,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAe;IAOlE;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAMxB;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI3C,OAAO,CAAC,MAAM,CAAC,IAAI;IAMnB;;OAEG;IACH,OAAO,CAAC,QAAQ;CAWjB"}
|
|
@@ -40,9 +40,18 @@ export class EnvironmentVariable {
|
|
|
40
40
|
if (!this._isSecret) {
|
|
41
41
|
return this._value;
|
|
42
42
|
}
|
|
43
|
-
return this._value
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
return EnvironmentVariable.mask(this._value, 10);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Returns a masked representation of a secret path for safe logging.
|
|
47
|
+
*/
|
|
48
|
+
static maskSecretPath(path) {
|
|
49
|
+
return EnvironmentVariable.mask(path, 3);
|
|
50
|
+
}
|
|
51
|
+
static mask(value, minLengthToShowTail) {
|
|
52
|
+
return value.length > minLengthToShowTail
|
|
53
|
+
? '*'.repeat(value.length - 3) + value.slice(-3)
|
|
54
|
+
: '*'.repeat(value.length);
|
|
46
55
|
}
|
|
47
56
|
/**
|
|
48
57
|
* Validates the environment variable
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentVariable.js","sourceRoot":"","sources":["../../../src/envilder/domain/EnvironmentVariable.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAK9B;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,KAAa,EAAE,WAAoB,KAAK;QAChE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"EnvironmentVariable.js","sourceRoot":"","sources":["../../../src/envilder/domain/EnvironmentVariable.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAK9B;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,KAAa,EAAE,WAAoB,KAAK;QAChE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,IAAY;QAChC,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IAEO,MAAM,CAAC,IAAI,CAAC,KAAa,EAAE,mBAA2B;QAC5D,OAAO,KAAK,CAAC,MAAM,GAAG,mBAAmB;YACvC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,IAAY,EAAE,KAAa;QAC1C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACb,kCAAkC,IAAI,8BAA8B,CACrE,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapFileConfig.d.ts","sourceRoot":"","sources":["../../../src/envilder/domain/MapFileConfig.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapFileConfig.js","sourceRoot":"","sources":["../../../src/envilder/domain/MapFileConfig.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare enum OperationMode {
|
|
2
2
|
PUSH_SINGLE = "PUSH_SINGLE",
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
PUSH_ENV_TO_SECRETS = "PUSH_ENV_TO_SECRETS",
|
|
4
|
+
PULL_SECRETS_TO_ENV = "PULL_SECRETS_TO_ENV"
|
|
5
5
|
}
|
|
6
6
|
//# sourceMappingURL=OperationMode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationMode.d.ts","sourceRoot":"","sources":["../../../src/envilder/domain/OperationMode.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,WAAW,gBAAgB;IAC3B,
|
|
1
|
+
{"version":3,"file":"OperationMode.d.ts","sourceRoot":"","sources":["../../../src/envilder/domain/OperationMode.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,WAAW,gBAAgB;IAC3B,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;CAC5C"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export var OperationMode;
|
|
2
2
|
(function (OperationMode) {
|
|
3
3
|
OperationMode["PUSH_SINGLE"] = "PUSH_SINGLE";
|
|
4
|
-
OperationMode["
|
|
5
|
-
OperationMode["
|
|
4
|
+
OperationMode["PUSH_ENV_TO_SECRETS"] = "PUSH_ENV_TO_SECRETS";
|
|
5
|
+
OperationMode["PULL_SECRETS_TO_ENV"] = "PULL_SECRETS_TO_ENV";
|
|
6
6
|
})(OperationMode || (OperationMode = {}));
|
|
7
7
|
//# sourceMappingURL=OperationMode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationMode.js","sourceRoot":"","sources":["../../../src/envilder/domain/OperationMode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,4CAA2B,CAAA;IAC3B,
|
|
1
|
+
{"version":3,"file":"OperationMode.js","sourceRoot":"","sources":["../../../src/envilder/domain/OperationMode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,4CAA2B,CAAA;IAC3B,4DAA2C,CAAA;IAC3C,4DAA2C,CAAA;AAC7C,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import type { ParsedMapFile } from '../MapFileConfig.js';
|
|
1
2
|
export interface IVariableStore {
|
|
2
3
|
getMapping(source: string): Promise<Record<string, string>>;
|
|
4
|
+
getParsedMapping(source: string): Promise<ParsedMapFile>;
|
|
3
5
|
getEnvironment(source: string): Promise<Record<string, string>>;
|
|
4
6
|
saveEnvironment(destination: string, envVariables: Record<string, string>): Promise<void>;
|
|
5
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IVariableStore.d.ts","sourceRoot":"","sources":["../../../../src/envilder/domain/ports/IVariableStore.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChE,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB"}
|
|
1
|
+
{"version":3,"file":"IVariableStore.d.ts","sourceRoot":"","sources":["../../../../src/envilder/domain/ports/IVariableStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACzD,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChE,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { MapFileConfig } from '../../domain/MapFileConfig.js';
|
|
2
|
+
import type { ISecretProvider } from '../../domain/ports/ISecretProvider.js';
|
|
3
|
+
export declare function createAwsSecretProvider(config: MapFileConfig): ISecretProvider;
|
|
4
|
+
//# sourceMappingURL=AwsSecretProviderFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AwsSecretProviderFactory.d.ts","sourceRoot":"","sources":["../../../../src/envilder/infrastructure/aws/AwsSecretProviderFactory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAG7E,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,GACpB,eAAe,CAKjB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SSM } from '@aws-sdk/client-ssm';
|
|
2
|
+
import { fromIni } from '@aws-sdk/credential-providers';
|
|
3
|
+
import { AwsSsmSecretProvider } from './AwsSsmSecretProvider.js';
|
|
4
|
+
export function createAwsSecretProvider(config) {
|
|
5
|
+
const ssm = config.profile
|
|
6
|
+
? new SSM({ credentials: fromIni({ profile: config.profile }) })
|
|
7
|
+
: new SSM();
|
|
8
|
+
return new AwsSsmSecretProvider(ssm);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=AwsSecretProviderFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AwsSecretProviderFactory.js","sourceRoot":"","sources":["../../../../src/envilder/infrastructure/aws/AwsSecretProviderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAGxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,UAAU,uBAAuB,CACrC,MAAqB;IAErB,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO;QACxB,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAChE,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;IACd,OAAO,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AwsSsmSecretProvider.d.ts","sourceRoot":"","sources":["../../../../src/envilder/infrastructure/aws/AwsSsmSecretProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,GAAG,EACT,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"AwsSsmSecretProvider.d.ts","sourceRoot":"","sources":["../../../../src/envilder/infrastructure/aws/AwsSsmSecretProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,GAAG,EACT,MAAM,qBAAqB,CAAC;AAI7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAE7E,qBACa,oBAAqB,YAAW,eAAe;IAC1D,OAAO,CAAC,GAAG,CAAM;gBAEL,GAAG,EAAE,GAAG;IAId,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAyBpD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAS5D"}
|
|
@@ -18,6 +18,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
18
18
|
};
|
|
19
19
|
import { GetParameterCommand, PutParameterCommand, } from '@aws-sdk/client-ssm';
|
|
20
20
|
import { injectable } from 'inversify';
|
|
21
|
+
import { EnvironmentVariable } from '../../domain/EnvironmentVariable.js';
|
|
22
|
+
import { SecretOperationError } from '../../domain/errors/DomainErrors.js';
|
|
21
23
|
let AwsSsmSecretProvider = class AwsSsmSecretProvider {
|
|
22
24
|
constructor(ssm) {
|
|
23
25
|
this.ssm = ssm;
|
|
@@ -40,7 +42,7 @@ let AwsSsmSecretProvider = class AwsSsmSecretProvider {
|
|
|
40
42
|
return undefined;
|
|
41
43
|
}
|
|
42
44
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
43
|
-
throw new
|
|
45
|
+
throw new SecretOperationError(`Failed to get secret ${EnvironmentVariable.maskSecretPath(name)}: ${errorMessage}`);
|
|
44
46
|
}
|
|
45
47
|
});
|
|
46
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AwsSsmSecretProvider.js","sourceRoot":"","sources":["../../../../src/envilder/infrastructure/aws/AwsSsmSecretProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GAEpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"AwsSsmSecretProvider.js","sourceRoot":"","sources":["../../../../src/envilder/infrastructure/aws/AwsSsmSecretProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GAEpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAIpE,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAG/B,YAAY,GAAQ;QAClB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEK,SAAS,CAAC,IAAY;;YAC1B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC;oBACtC,IAAI,EAAE,IAAI;oBACV,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnD,OAAO,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IACE,OAAO,KAAK,KAAK,QAAQ;oBACzB,KAAK,KAAK,IAAI;oBACd,MAAM,IAAI,KAAK;oBACf,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAClC,CAAC;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzD,MAAM,IAAI,oBAAoB,CAC5B,wBAAwB,mBAAmB,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,YAAY,EAAE,CACpF,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;IAEK,SAAS,CAAC,IAAY,EAAE,KAAa;;YACzC,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC;gBACtC,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,cAAc;gBACpB,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;KAAA;CACF,CAAA;AAzCY,oBAAoB;IADhC,UAAU,EAAE;;GACA,oBAAoB,CAyChC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { SecretClient } from '@azure/keyvault-secrets';
|
|
2
|
+
import type { ISecretProvider } from '../../domain/ports/ISecretProvider.js';
|
|
3
|
+
export declare class AzureKeyVaultSecretProvider implements ISecretProvider {
|
|
4
|
+
private client;
|
|
5
|
+
private normalizedNameRegistry;
|
|
6
|
+
constructor(client: SecretClient);
|
|
7
|
+
getSecret(name: string): Promise<string | undefined>;
|
|
8
|
+
setSecret(name: string, value: string): Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
* Validates that the secret name meets Azure Key Vault naming constraints.
|
|
11
|
+
* @see https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#objects-identifiers-and-versioning
|
|
12
|
+
*/
|
|
13
|
+
private validateSecretName;
|
|
14
|
+
private resolveSecretName;
|
|
15
|
+
private normalizeSecretName;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=AzureKeyVaultSecretProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AzureKeyVaultSecretProvider.d.ts","sourceRoot":"","sources":["../../../../src/envilder/infrastructure/azure/AzureKeyVaultSecretProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAO5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAE7E,qBACa,2BAA4B,YAAW,eAAe;IACjE,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,sBAAsB,CAA6B;gBAE/C,MAAM,EAAE,YAAY;IAI1B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAsBpD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,mBAAmB;CA+B5B"}
|