deepstrike 7.0.0 → 8.0.0
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/cli.js +37 -0
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -23297,6 +23297,7 @@ Usage:
|
|
|
23297
23297
|
deepstrike pull <environment>
|
|
23298
23298
|
deepstrike export <environment>
|
|
23299
23299
|
deepstrike import <dotfilePath> <environment>
|
|
23300
|
+
deepstrike add-secret <environment> <secretName> <secretValue> [--push]
|
|
23300
23301
|
|
|
23301
23302
|
Notes:
|
|
23302
23303
|
Config directory: ${deepstrikeDirName}
|
|
@@ -23427,6 +23428,31 @@ var importCommand = async (dotfilePathRaw, environmentRaw) => {
|
|
|
23427
23428
|
process.stdout.write(`Imported ${updatedCount} value${updatedCount === 1 ? "" : "s"} into ${targetSecretsFilePath} from ${dotfilePath}
|
|
23428
23429
|
`);
|
|
23429
23430
|
};
|
|
23431
|
+
var addSecretCommand = async (environmentRaw, secretName, secretValue, shouldPush) => {
|
|
23432
|
+
await ensureDir(getDeepstrikeDir());
|
|
23433
|
+
const templateFile = await readTemplateFile();
|
|
23434
|
+
const templateSecretNames = templateFile.secretNames ?? [];
|
|
23435
|
+
if (!templateSecretNames.includes(secretName)) {
|
|
23436
|
+
const updatedTemplateFile = { ...templateFile, secretNames: [...templateSecretNames, secretName] };
|
|
23437
|
+
await fs6.writeFile(getEnvTemplatePath(), JSON.stringify(updatedTemplateFile, null, 4) + `
|
|
23438
|
+
`, "utf8");
|
|
23439
|
+
}
|
|
23440
|
+
const environmentFilePath = path5.join(deepstrikeDirName, formatEnvironmentFileName(environmentRaw));
|
|
23441
|
+
if (!await fileExists(environmentFilePath)) {
|
|
23442
|
+
await createEmptySecretsFile(environmentRaw);
|
|
23443
|
+
}
|
|
23444
|
+
const environmentSecretsFile = await readEnvironmentSecretsFile(environmentRaw);
|
|
23445
|
+
const existingSecrets = environmentSecretsFile.secrets ?? [];
|
|
23446
|
+
const updatedSecrets = existingSecrets.some((secret) => secret.name === secretName) ? existingSecrets.map((secret) => secret.name === secretName ? { ...secret, value: secretValue } : secret) : [...existingSecrets, { name: secretName, value: secretValue }];
|
|
23447
|
+
const updatedEnvironmentFile = { ...environmentSecretsFile, secrets: updatedSecrets };
|
|
23448
|
+
await fs6.writeFile(environmentFilePath, JSON.stringify(updatedEnvironmentFile, null, 4) + `
|
|
23449
|
+
`, "utf8");
|
|
23450
|
+
process.stdout.write(`Added secret ${secretName} to ${environmentFilePath}
|
|
23451
|
+
`);
|
|
23452
|
+
if (shouldPush) {
|
|
23453
|
+
await pushCommand(environmentRaw);
|
|
23454
|
+
}
|
|
23455
|
+
};
|
|
23430
23456
|
var main = async () => {
|
|
23431
23457
|
const [, , command, ...args] = process.argv;
|
|
23432
23458
|
if (!command || command === "help" || command === "--help" || command === "-h") {
|
|
@@ -23473,6 +23499,17 @@ var main = async () => {
|
|
|
23473
23499
|
await importCommand(dotfilePath, environment);
|
|
23474
23500
|
return;
|
|
23475
23501
|
}
|
|
23502
|
+
if (command === "add-secret") {
|
|
23503
|
+
const environment = args[0];
|
|
23504
|
+
const secretName = args[1];
|
|
23505
|
+
const secretValue = args[2];
|
|
23506
|
+
const shouldPush = args.includes("--push");
|
|
23507
|
+
if (!environment || !secretName || secretValue === undefined) {
|
|
23508
|
+
throw new Error("add-secret requires <environment> <secretName> <secretValue> [--push]");
|
|
23509
|
+
}
|
|
23510
|
+
await addSecretCommand(environment, secretName, secretValue, shouldPush);
|
|
23511
|
+
return;
|
|
23512
|
+
}
|
|
23476
23513
|
throw new Error(`Unknown command: ${command}`);
|
|
23477
23514
|
};
|
|
23478
23515
|
main().catch((error) => {
|
package/package.json
CHANGED