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.
Files changed (127) hide show
  1. package/README.md +284 -37
  2. package/ROADMAP.md +81 -16
  3. package/docs/CHANGELOG.md +43 -101
  4. package/docs/SECURITY.md +26 -2
  5. package/lib/apps/cli/Cli.d.ts.map +1 -1
  6. package/lib/apps/cli/Cli.js +68 -11
  7. package/lib/apps/cli/Cli.js.map +1 -1
  8. package/lib/apps/cli/Startup.d.ts +3 -9
  9. package/lib/apps/cli/Startup.d.ts.map +1 -1
  10. package/lib/apps/cli/Startup.js +4 -54
  11. package/lib/apps/cli/Startup.js.map +1 -1
  12. package/lib/apps/gha/Gha.d.ts.map +1 -1
  13. package/lib/apps/gha/Gha.js +36 -19
  14. package/lib/apps/gha/Gha.js.map +1 -1
  15. package/lib/apps/gha/Startup.d.ts +3 -9
  16. package/lib/apps/gha/Startup.d.ts.map +1 -1
  17. package/lib/apps/gha/Startup.js +4 -54
  18. package/lib/apps/gha/Startup.js.map +1 -1
  19. package/lib/apps/shared/ContainerConfiguration.d.ts +7 -0
  20. package/lib/apps/shared/ContainerConfiguration.d.ts.map +1 -0
  21. package/lib/apps/shared/ContainerConfiguration.js +62 -0
  22. package/lib/apps/shared/ContainerConfiguration.js.map +1 -0
  23. package/lib/envilder/application/dispatch/DispatchActionCommand.d.ts +2 -2
  24. package/lib/envilder/application/dispatch/DispatchActionCommand.d.ts.map +1 -1
  25. package/lib/envilder/application/dispatch/DispatchActionCommand.js +6 -6
  26. package/lib/envilder/application/dispatch/DispatchActionCommand.js.map +1 -1
  27. package/lib/envilder/application/dispatch/DispatchActionCommandHandler.d.ts +3 -3
  28. package/lib/envilder/application/dispatch/DispatchActionCommandHandler.d.ts.map +1 -1
  29. package/lib/envilder/application/dispatch/DispatchActionCommandHandler.js +13 -13
  30. package/lib/envilder/application/dispatch/DispatchActionCommandHandler.js.map +1 -1
  31. package/lib/envilder/application/pullSecretsToEnv/PullSecretsToEnvCommand.d.ts +7 -0
  32. package/lib/envilder/application/pullSecretsToEnv/PullSecretsToEnvCommand.d.ts.map +1 -0
  33. package/lib/envilder/application/{pullSsmToEnv/PullSsmToEnvCommand.js → pullSecretsToEnv/PullSecretsToEnvCommand.js} +3 -3
  34. package/lib/envilder/application/pullSecretsToEnv/PullSecretsToEnvCommand.js.map +1 -0
  35. package/lib/envilder/application/{pullSsmToEnv/PullSsmToEnvCommandHandler.d.ts → pullSecretsToEnv/PullSecretsToEnvCommandHandler.d.ts} +7 -7
  36. package/lib/envilder/application/pullSecretsToEnv/PullSecretsToEnvCommandHandler.d.ts.map +1 -0
  37. package/lib/envilder/application/{pullSsmToEnv/PullSsmToEnvCommandHandler.js → pullSecretsToEnv/PullSecretsToEnvCommandHandler.js} +18 -18
  38. package/lib/envilder/application/pullSecretsToEnv/PullSecretsToEnvCommandHandler.js.map +1 -0
  39. package/lib/envilder/application/{pushEnvToSsm/PushEnvToSsmCommand.d.ts → pushEnvToSecrets/PushEnvToSecretsCommand.d.ts} +3 -3
  40. package/lib/envilder/application/pushEnvToSecrets/PushEnvToSecretsCommand.d.ts.map +1 -0
  41. package/lib/envilder/application/{pushEnvToSsm/PushEnvToSsmCommand.js → pushEnvToSecrets/PushEnvToSecretsCommand.js} +3 -3
  42. package/lib/envilder/application/pushEnvToSecrets/PushEnvToSecretsCommand.js.map +1 -0
  43. package/lib/envilder/application/pushEnvToSecrets/PushEnvToSecretsCommandHandler.d.ts +34 -0
  44. package/lib/envilder/application/pushEnvToSecrets/PushEnvToSecretsCommandHandler.d.ts.map +1 -0
  45. package/lib/envilder/application/{pushEnvToSsm/PushEnvToSsmCommandHandler.js → pushEnvToSecrets/PushEnvToSecretsCommandHandler.js} +36 -32
  46. package/lib/envilder/application/pushEnvToSecrets/PushEnvToSecretsCommandHandler.js.map +1 -0
  47. package/lib/envilder/application/pushSingle/PushSingleCommand.d.ts +3 -3
  48. package/lib/envilder/application/pushSingle/PushSingleCommand.d.ts.map +1 -1
  49. package/lib/envilder/application/pushSingle/PushSingleCommand.js +4 -4
  50. package/lib/envilder/application/pushSingle/PushSingleCommand.js.map +1 -1
  51. package/lib/envilder/application/pushSingle/PushSingleCommandHandler.d.ts +2 -2
  52. package/lib/envilder/application/pushSingle/PushSingleCommandHandler.d.ts.map +1 -1
  53. package/lib/envilder/application/pushSingle/PushSingleCommandHandler.js +6 -6
  54. package/lib/envilder/application/pushSingle/PushSingleCommandHandler.js.map +1 -1
  55. package/lib/envilder/domain/CliOptions.d.ts +3 -3
  56. package/lib/envilder/domain/CliOptions.d.ts.map +1 -1
  57. package/lib/envilder/domain/EnvironmentVariable.d.ts +5 -0
  58. package/lib/envilder/domain/EnvironmentVariable.d.ts.map +1 -1
  59. package/lib/envilder/domain/EnvironmentVariable.js +12 -3
  60. package/lib/envilder/domain/EnvironmentVariable.js.map +1 -1
  61. package/lib/envilder/domain/MapFileConfig.d.ts +10 -0
  62. package/lib/envilder/domain/MapFileConfig.d.ts.map +1 -0
  63. package/lib/envilder/domain/MapFileConfig.js +2 -0
  64. package/lib/envilder/domain/MapFileConfig.js.map +1 -0
  65. package/lib/envilder/domain/OperationMode.d.ts +2 -2
  66. package/lib/envilder/domain/OperationMode.d.ts.map +1 -1
  67. package/lib/envilder/domain/OperationMode.js +2 -2
  68. package/lib/envilder/domain/OperationMode.js.map +1 -1
  69. package/lib/envilder/domain/ports/IVariableStore.d.ts +2 -0
  70. package/lib/envilder/domain/ports/IVariableStore.d.ts.map +1 -1
  71. package/lib/envilder/infrastructure/aws/AwsSecretProviderFactory.d.ts +4 -0
  72. package/lib/envilder/infrastructure/aws/AwsSecretProviderFactory.d.ts.map +1 -0
  73. package/lib/envilder/infrastructure/aws/AwsSecretProviderFactory.js +10 -0
  74. package/lib/envilder/infrastructure/aws/AwsSecretProviderFactory.js.map +1 -0
  75. package/lib/envilder/infrastructure/aws/AwsSsmSecretProvider.d.ts.map +1 -1
  76. package/lib/envilder/infrastructure/aws/AwsSsmSecretProvider.js +3 -1
  77. package/lib/envilder/infrastructure/aws/AwsSsmSecretProvider.js.map +1 -1
  78. package/lib/envilder/infrastructure/azure/AzureKeyVaultSecretProvider.d.ts +17 -0
  79. package/lib/envilder/infrastructure/azure/AzureKeyVaultSecretProvider.d.ts.map +1 -0
  80. package/lib/envilder/infrastructure/azure/AzureKeyVaultSecretProvider.js +113 -0
  81. package/lib/envilder/infrastructure/azure/AzureKeyVaultSecretProvider.js.map +1 -0
  82. package/lib/envilder/infrastructure/azure/AzureSecretProviderFactory.d.ts +9 -0
  83. package/lib/envilder/infrastructure/azure/AzureSecretProviderFactory.d.ts.map +1 -0
  84. package/lib/envilder/infrastructure/azure/AzureSecretProviderFactory.js +24 -0
  85. package/lib/envilder/infrastructure/azure/AzureSecretProviderFactory.js.map +1 -0
  86. package/lib/envilder/infrastructure/azure/AzureVaultUrlValidator.d.ts +3 -0
  87. package/lib/envilder/infrastructure/azure/AzureVaultUrlValidator.d.ts.map +1 -0
  88. package/lib/envilder/infrastructure/azure/AzureVaultUrlValidator.js +28 -0
  89. package/lib/envilder/infrastructure/azure/AzureVaultUrlValidator.js.map +1 -0
  90. package/lib/envilder/infrastructure/variableStore/FileVariableStore.d.ts +4 -0
  91. package/lib/envilder/infrastructure/variableStore/FileVariableStore.d.ts.map +1 -1
  92. package/lib/envilder/infrastructure/variableStore/FileVariableStore.js +46 -0
  93. package/lib/envilder/infrastructure/variableStore/FileVariableStore.js.map +1 -1
  94. package/lib/envilder/types.d.ts +4 -4
  95. package/lib/envilder/types.js +2 -2
  96. package/lib/envilder/types.js.map +1 -1
  97. package/lib/iac/bin/main.d.ts +28 -0
  98. package/lib/iac/bin/main.d.ts.map +1 -0
  99. package/lib/iac/bin/main.js +201 -0
  100. package/lib/iac/bin/main.js.map +1 -0
  101. package/lib/iac/lib/core/types.d.ts +5 -0
  102. package/lib/iac/lib/core/types.d.ts.map +1 -0
  103. package/lib/iac/lib/core/types.js +9 -0
  104. package/lib/iac/lib/core/types.js.map +1 -0
  105. package/lib/iac/lib/stacks/customStack.d.ts +23 -0
  106. package/lib/iac/lib/stacks/customStack.d.ts.map +1 -0
  107. package/lib/iac/lib/stacks/customStack.js +34 -0
  108. package/lib/iac/lib/stacks/customStack.js.map +1 -0
  109. package/lib/iac/lib/stacks/staticWebsiteStack.d.ts +10 -0
  110. package/lib/iac/lib/stacks/staticWebsiteStack.d.ts.map +1 -0
  111. package/lib/iac/lib/stacks/staticWebsiteStack.js +163 -0
  112. package/lib/iac/lib/stacks/staticWebsiteStack.js.map +1 -0
  113. package/lib/iac/lib/stacks/utils.d.ts +6 -0
  114. package/lib/iac/lib/stacks/utils.d.ts.map +1 -0
  115. package/lib/iac/lib/stacks/utils.js +18 -0
  116. package/lib/iac/lib/stacks/utils.js.map +1 -0
  117. package/package.json +33 -23
  118. package/lib/envilder/application/pullSsmToEnv/PullSsmToEnvCommand.d.ts +0 -7
  119. package/lib/envilder/application/pullSsmToEnv/PullSsmToEnvCommand.d.ts.map +0 -1
  120. package/lib/envilder/application/pullSsmToEnv/PullSsmToEnvCommand.js.map +0 -1
  121. package/lib/envilder/application/pullSsmToEnv/PullSsmToEnvCommandHandler.d.ts.map +0 -1
  122. package/lib/envilder/application/pullSsmToEnv/PullSsmToEnvCommandHandler.js.map +0 -1
  123. package/lib/envilder/application/pushEnvToSsm/PushEnvToSsmCommand.d.ts.map +0 -1
  124. package/lib/envilder/application/pushEnvToSsm/PushEnvToSsmCommand.js.map +0 -1
  125. package/lib/envilder/application/pushEnvToSsm/PushEnvToSsmCommandHandler.d.ts +0 -34
  126. package/lib/envilder/application/pushEnvToSsm/PushEnvToSsmCommandHandler.d.ts.map +0 -1
  127. 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 PushEnvToSsmCommandHandler = class PushEnvToSsmCommandHandler {
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 PushEnvToSsmCommand which imports environment variables
33
- * from a local file and pushes them to AWS SSM.
34
- * Uses a map file to determine the SSM parameter path for each environment variable.
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 PushEnvToSsmCommand containing mapPath and envFilePath
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.pushParametersToSSM(validatedPaths);
45
- this.logger.info(`Successfully pushed environment variables from '${command.envFilePath}' to AWS SSM.`);
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 SSM path.
67
- * Ensures that all variables pointing to the same SSM path have the same value.
68
- * Returns a map of SSM path to value.
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, ssmPath] of Object.entries(paramMap)) {
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(ssmPath);
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 SSM path '${ssmPath}': ` +
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(ssmPath, { value: envValue, sourceKeys: [envKey] });
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 SSM parameters`);
100
+ this.logger.info(`Validated ${totalVariables} environment variables mapping to ${uniquePaths} unique secrets`);
98
101
  return pathToValueMap;
99
102
  }
100
- pushParametersToSSM(pathToValueMap) {
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 SSM parameters`);
104
- // Process parameters in parallel with retry logic for throttling errors
105
- const parameterProcessingPromises = Array.from(pathToValueMap.entries()).map(([ssmPath, { value, sourceKeys }]) => {
106
- return this.retryWithBackoff(() => this.pushParameter(ssmPath, value, sourceKeys));
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(ssmPath, value, sourceKeys) {
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(ssmPath, value);
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 AWS SSM at path ${ssmPath}`);
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 AWS SSM throttling errors (TooManyUpdates).
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
- (error.name === 'TooManyUpdates' ||
136
- error.name === 'ThrottlingException' ||
137
- error.name === 'TooManyRequestsException');
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
- PushEnvToSsmCommandHandler = __decorate([
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
- ], PushEnvToSsmCommandHandler);
190
- export { PushEnvToSsmCommandHandler };
191
- //# sourceMappingURL=PushEnvToSsmCommandHandler.js.map
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 ssmPath: string;
5
- constructor(key: string, value: string, ssmPath: string);
6
- static create(key: string, value: string, ssmPath: string): PushSingleCommand;
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,OAAO,EAAE,MAAM;gBAFf,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM;IAGjC,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,iBAAiB;CAGrB"}
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, ssmPath) {
2
+ constructor(key, value, secretPath) {
3
3
  this.key = key;
4
4
  this.value = value;
5
- this.ssmPath = ssmPath;
5
+ this.secretPath = secretPath;
6
6
  }
7
- static create(key, value, ssmPath) {
8
- return new PushSingleCommand(key, value, ssmPath);
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,OAAe;QAFf,QAAG,GAAH,GAAG,CAAQ;QACX,UAAK,GAAL,KAAK,CAAQ;QACb,YAAO,GAAP,OAAO,CAAQ;IAC9B,CAAC;IAEJ,MAAM,CAAC,MAAM,CACX,GAAW,EACX,KAAa,EACb,OAAe;QAEf,OAAO,IAAI,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;CACF"}
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 AWS SSM.
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 ssmPath
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;CAuBxD"}
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 AWS SSM.
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 ssmPath
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.ssmPath}'`);
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.ssmPath, command.value);
41
- this.logger.info(`Pushed ${command.key}=${envVariable.maskedValue} to AWS SSM at path ${command.ssmPath}`);
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 SSM: ${errorMessage}`);
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,OAAO,CAAC,OAAO,GAAG,CAChF,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,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;gBACpE,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,UAAU,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,WAAW,uBAAuB,OAAO,CAAC,OAAO,EAAE,CACzF,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,CAAC,mCAAmC,YAAY,EAAE,CAAC,CAAC;gBACrE,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KAAA;CACF,CAAA;AAnCY,wBAAwB;IADpC,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAE7B,WAAA,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;;GAJb,wBAAwB,CAmCpC"}
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
- * SSM path for the single environment variable
22
+ * Secret path in the cloud provider for the single environment variable
23
23
  */
24
- ssmPath?: string;
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 AWS SSM (renamed from import)
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,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC"}
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,CAQxB;IAED;;OAEG;IACH,OAAO,CAAC,QAAQ;CAWjB"}
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.length > 10
44
- ? '*'.repeat(this._value.length - 3) + this._value.slice(-3)
45
- : '*'.repeat(this._value.length);
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,MAAM,CAAC,MAAM,GAAG,EAAE;YAC5B,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,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"}
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,10 @@
1
+ export type MapFileConfig = {
2
+ provider?: string;
3
+ vaultUrl?: string;
4
+ profile?: string;
5
+ };
6
+ export type ParsedMapFile = {
7
+ config: MapFileConfig;
8
+ mappings: Record<string, string>;
9
+ };
10
+ //# sourceMappingURL=MapFileConfig.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MapFileConfig.js.map
@@ -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
- PUSH_ENV_TO_SSM = "PUSH_ENV_TO_SSM",
4
- PULL_SSM_TO_ENV = "PULL_SSM_TO_ENV"
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,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;CACpC"}
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["PUSH_ENV_TO_SSM"] = "PUSH_ENV_TO_SSM";
5
- OperationMode["PULL_SSM_TO_ENV"] = "PULL_SSM_TO_ENV";
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,oDAAmC,CAAA;IACnC,oDAAmC,CAAA;AACrC,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB"}
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;AAE7B,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;IAuBpD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAS5D"}
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 Error(`Failed to get secret ${name}: ${errorMessage}`);
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;AAIhC,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,KAAK,CAAC,wBAAwB,IAAI,KAAK,YAAY,EAAE,CAAC,CAAC;YACnE,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;AAvCY,oBAAoB;IADhC,UAAU,EAAE;;GACA,oBAAoB,CAuChC"}
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"}