rampway 0.2.4 → 0.2.6
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 +2 -0
- package/build/src/cli.d.ts.map +1 -1
- package/build/src/cli.js +2 -0
- package/build/src/cli.js.map +1 -1
- package/build/src/commands/deploy.d.ts.map +1 -1
- package/build/src/commands/deploy.js +31 -7
- package/build/src/commands/deploy.js.map +1 -1
- package/build/src/commands/tasks.d.ts +13 -0
- package/build/src/commands/tasks.d.ts.map +1 -0
- package/build/src/commands/tasks.js +79 -0
- package/build/src/commands/tasks.js.map +1 -0
- package/build/src/core/deploy-log.d.ts +66 -0
- package/build/src/core/deploy-log.d.ts.map +1 -0
- package/build/src/core/deploy-log.js +112 -0
- package/build/src/core/deploy-log.js.map +1 -0
- package/build/src/core/redaction.d.ts +5 -2
- package/build/src/core/redaction.d.ts.map +1 -1
- package/build/src/core/redaction.js +6 -3
- package/build/src/core/redaction.js.map +1 -1
- package/build/src/core/reporter.d.ts +37 -6
- package/build/src/core/reporter.d.ts.map +1 -1
- package/build/src/core/reporter.js +46 -6
- package/build/src/core/reporter.js.map +1 -1
- package/build/src/transports/local-transport.js +3 -3
- package/build/src/transports/local-transport.js.map +1 -1
- package/build/src/transports/ssh-transport.js +6 -6
- package/build/src/transports/ssh-transport.js.map +1 -1
- package/build/src/types.d.ts +17 -0
- package/build/src/types.d.ts.map +1 -1
- package/docs/config-reference.md +26 -0
- package/docs/migration-from-capistrano.md +1 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -40,6 +40,8 @@ rampway production deploy <revision>
|
|
|
40
40
|
rampway production status
|
|
41
41
|
rampway production releases
|
|
42
42
|
rampway production releases --json
|
|
43
|
+
rampway production tasks
|
|
44
|
+
rampway production tasks --json
|
|
43
45
|
rampway production rollback
|
|
44
46
|
rampway production doctor
|
|
45
47
|
rampway production doctor --json
|
package/build/src/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.js"],"names":[],"mappings":";AA2CA;;;GAGG;AACH,2BAHW,MAAM,EAAE,GACN,OAAO,CAAC,IAAI,CAAC,CAUzB;AAED;;;;;;;GAOG;AACH,wCAHW,MAAM,EAAE,GACN;IAAC,OAAO,EAAE,MAAM,GAAC,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,GAAC,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,QAAQ,EAAE,cAAc,CAAA;CAAC,CAgB9G"}
|
package/build/src/cli.js
CHANGED
|
@@ -8,6 +8,7 @@ import { deployCommand } from "./commands/deploy.js";
|
|
|
8
8
|
import { releasesCommand, statusCommand } from "./commands/releases.js";
|
|
9
9
|
import { rollbackCommand } from "./commands/rollback.js";
|
|
10
10
|
import { rollbridgeValidateCommand, rollbridgeStatusCommand, rollbridgeLogsCommand, rollbridgeRecoverCommand } from "./commands/rollbridge.js";
|
|
11
|
+
import { tasksCommand } from "./commands/tasks.js";
|
|
11
12
|
import { initCommand } from "./commands/init.js";
|
|
12
13
|
/** @type {Record<string, Function>} */
|
|
13
14
|
const COMMANDS = {
|
|
@@ -17,6 +18,7 @@ const COMMANDS = {
|
|
|
17
18
|
deploy: deployCommand,
|
|
18
19
|
releases: releasesCommand,
|
|
19
20
|
status: statusCommand,
|
|
21
|
+
tasks: tasksCommand,
|
|
20
22
|
rollback: rollbackCommand,
|
|
21
23
|
"rollbridge-validate": rollbridgeValidateCommand,
|
|
22
24
|
"rollbridge-status": rollbridgeStatusCommand,
|
package/build/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"AAMA;;;GAGG;AACH,sEAHW,OAAO,QAAQ,EAAE,WAAW,GAC1B,OAAO,CAAC,IAAI,CAAC,CAgCzB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// @ts-check
|
|
2
2
|
import { commandContext as defaultCommandContext } from "./context.js";
|
|
3
3
|
import { deploy } from "../core/deploy-runner.js";
|
|
4
|
+
import { openDeployLog } from "../core/deploy-log.js";
|
|
4
5
|
import { humanReporter, jsonReporter } from "../core/reporter.js";
|
|
5
6
|
/**
|
|
6
7
|
* @param {import('#types').CommandArgs} args
|
|
@@ -8,22 +9,43 @@ import { humanReporter, jsonReporter } from "../core/reporter.js";
|
|
|
8
9
|
*/
|
|
9
10
|
export async function deployCommand({ stageName, options, commandContext = defaultCommandContext }) {
|
|
10
11
|
const reporter = options.json ? jsonReporter() : humanReporter();
|
|
11
|
-
const { stage, transport } = await commandContext(options, stageName, { reporter });
|
|
12
|
+
const { config, stage, transport } = await commandContext(options, stageName, { reporter });
|
|
12
13
|
const resolvedStage = options.branch && !options.revision ? { ...stage, revision: undefined } : stage;
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
const sourcePath = options.source ?? process.cwd();
|
|
15
|
+
// A dry run only prints a plan, so there is no deploy transcript worth keeping.
|
|
16
|
+
const deployLog = options.dryRun ? null : openDeployLog({ config, sourcePath, stageName });
|
|
17
|
+
if (deployLog) {
|
|
18
|
+
reporter.attachLogStream(deployLog.stream);
|
|
19
|
+
// Emitted through the reporter so it records its own path as the log's first
|
|
20
|
+
// line and stays off stdout in `--json` mode.
|
|
21
|
+
reporter.line(`Logging deploy output to ${deployLog.path}`);
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
const report = await deploy({ transport, stage: resolvedStage, sourcePath, revision: options.revision, branch: options.branch ?? stage.branch, dryRun: options.dryRun, force: options.force, reporter });
|
|
25
|
+
if (options.json || "plan" in report) {
|
|
26
|
+
console.log(JSON.stringify(report, null, 2));
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
printSummary(/** @type {import('#types').DeployReport} */ (report), deployLog?.path);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
if (deployLog)
|
|
33
|
+
deployLog.stream.write(`\nDeploy failed: ${ /** @type {Error} */(error).message}\n`);
|
|
34
|
+
throw error;
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
if (deployLog)
|
|
38
|
+
await deployLog.close();
|
|
17
39
|
}
|
|
18
|
-
printSummary(/** @type {import('#types').DeployReport} */ (report));
|
|
19
40
|
}
|
|
20
41
|
/**
|
|
21
42
|
* Prints a concise Capistrano-style final summary of a successful deploy.
|
|
22
43
|
*
|
|
23
44
|
* @param {import('#types').DeployReport} report
|
|
45
|
+
* @param {string} [logPath] Path of the persistent per-deploy log, when written.
|
|
24
46
|
* @returns {void}
|
|
25
47
|
*/
|
|
26
|
-
function printSummary(report) {
|
|
48
|
+
function printSummary(report, logPath) {
|
|
27
49
|
const seconds = report.durationMs === undefined ? undefined : (report.durationMs / 1000).toFixed(1);
|
|
28
50
|
console.log(`✔ Deployed ${report.application}/${report.stage} revision ${report.revision} as release ${report.releaseId}${seconds === undefined ? "" : ` in ${seconds}s`}`);
|
|
29
51
|
if (report.previousRelease)
|
|
@@ -31,5 +53,7 @@ function printSummary(report) {
|
|
|
31
53
|
console.log(` Health checks: ${report.healthChecks ?? "n/a"}`);
|
|
32
54
|
const removed = report.cleanupRemoved ?? [];
|
|
33
55
|
console.log(` Cleaned up: ${removed.length} old release${removed.length === 1 ? "" : "s"}`);
|
|
56
|
+
if (logPath)
|
|
57
|
+
console.log(` Deploy log: ${logPath}`);
|
|
34
58
|
}
|
|
35
59
|
//# sourceMappingURL=deploy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"AAAA,YAAY;AACZ,OAAO,EAAC,cAAc,IAAI,qBAAqB,EAAC,MAAM,cAAc,CAAA;AACpE,OAAO,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAA;AAC/C,OAAO,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,qBAAqB,CAAA;AAE/D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,qBAAqB,EAAC;IAC9F,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;IAChE,MAAM,EAAC,KAAK,EAAE,SAAS,EAAC,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,EAAC,QAAQ,EAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param {import('#types').CommandArgs} args
|
|
3
|
+
* @returns {Promise<void>}
|
|
4
|
+
*/
|
|
5
|
+
export function tasksCommand({ stageName, options, commandContext }: import("#types").CommandArgs): Promise<void>;
|
|
6
|
+
/**
|
|
7
|
+
* @param {{stage: import('#types').StageConfig}} opts
|
|
8
|
+
* @returns {import('#types').TasksReport}
|
|
9
|
+
*/
|
|
10
|
+
export function tasksReport({ stage }: {
|
|
11
|
+
stage: import("#types").StageConfig;
|
|
12
|
+
}): import("#types").TasksReport;
|
|
13
|
+
//# sourceMappingURL=tasks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../../src/commands/tasks.js"],"names":[],"mappings":"AAIA;;;GAGG;AACH,qEAHW,OAAO,QAAQ,EAAE,WAAW,GAC1B,OAAO,CAAC,IAAI,CAAC,CAuBzB;AAED;;;GAGG;AACH,uCAHW;IAAC,KAAK,EAAE,OAAO,QAAQ,EAAE,WAAW,CAAA;CAAC,GACnC,OAAO,QAAQ,EAAE,WAAW,CAexC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { commandContext as defaultCommandContext } from "./context.js";
|
|
2
|
+
import { commandsForEntries } from "../core/task-runner.js";
|
|
3
|
+
import { redactText, redactEnv } from "../core/redaction.js";
|
|
4
|
+
/**
|
|
5
|
+
* @param {import('#types').CommandArgs} args
|
|
6
|
+
* @returns {Promise<void>}
|
|
7
|
+
*/
|
|
8
|
+
export async function tasksCommand({ stageName, options, commandContext = defaultCommandContext }) {
|
|
9
|
+
const { stage } = await commandContext(options, stageName);
|
|
10
|
+
const report = tasksReport({ stage });
|
|
11
|
+
if (options.json) {
|
|
12
|
+
console.log(JSON.stringify(report, null, 2));
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
console.log(`Application: ${report.application}`);
|
|
16
|
+
console.log(`Stage: ${report.stage}`);
|
|
17
|
+
console.log(`Task groups: ${report.taskGroupCount}`);
|
|
18
|
+
console.log(`Tasks: ${report.taskCount}`);
|
|
19
|
+
console.log("");
|
|
20
|
+
if (report.taskGroups.length === 0) {
|
|
21
|
+
console.log("No task groups configured.");
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
for (const group of report.taskGroups) {
|
|
25
|
+
console.log(group.name);
|
|
26
|
+
for (const task of group.tasks)
|
|
27
|
+
console.log(` * ${task.command}${annotate(task)}`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @param {{stage: import('#types').StageConfig}} opts
|
|
32
|
+
* @returns {import('#types').TasksReport}
|
|
33
|
+
*/
|
|
34
|
+
export function tasksReport({ stage }) {
|
|
35
|
+
const taskGroups = Object.entries(stage.tasks ?? {}).map(([name, entries]) => ({
|
|
36
|
+
name,
|
|
37
|
+
tasks: commandsForEntries(name, entries).map(reportEntry)
|
|
38
|
+
}));
|
|
39
|
+
const taskCount = taskGroups.reduce((total, group) => total + group.tasks.length, 0);
|
|
40
|
+
return {
|
|
41
|
+
application: stage.application,
|
|
42
|
+
stage: stage.stageName,
|
|
43
|
+
taskGroupCount: taskGroups.length,
|
|
44
|
+
taskCount,
|
|
45
|
+
taskGroups
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Reduce a normalized task entry to its safe, listable fields with secrets redacted.
|
|
50
|
+
*
|
|
51
|
+
* @param {import('#types').TaskEntry} task
|
|
52
|
+
* @returns {import('#types').TaskListEntry}
|
|
53
|
+
*/
|
|
54
|
+
function reportEntry(task) {
|
|
55
|
+
return {
|
|
56
|
+
command: redactText(task.command),
|
|
57
|
+
...(task.cwd ? { cwd: task.cwd } : {}),
|
|
58
|
+
...(task.env ? { env: redactEnv(task.env) } : {}),
|
|
59
|
+
...(task.optional === true ? { optional: true } : {}),
|
|
60
|
+
...(task.onlyIfChanged ? { onlyIfChanged: task.onlyIfChanged } : {})
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* @param {import('#types').TaskListEntry} task
|
|
65
|
+
* @returns {string}
|
|
66
|
+
*/
|
|
67
|
+
function annotate(task) {
|
|
68
|
+
const parts = [];
|
|
69
|
+
if (task.cwd)
|
|
70
|
+
parts.push(`cwd: ${task.cwd}`);
|
|
71
|
+
if (task.env)
|
|
72
|
+
parts.push(`env: ${Object.entries(task.env).map(([key, value]) => `${key}=${value}`).join(" ")}`);
|
|
73
|
+
if (task.optional)
|
|
74
|
+
parts.push("optional");
|
|
75
|
+
if (task.onlyIfChanged)
|
|
76
|
+
parts.push(`onlyIfChanged: ${task.onlyIfChanged.join(" ")}`);
|
|
77
|
+
return parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=tasks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../src/commands/tasks.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name DeployLogSettings
|
|
3
|
+
* @typedef {object} DeployLogSettings
|
|
4
|
+
* @property {boolean} enabled Whether a per-deploy log file is written.
|
|
5
|
+
* @property {string} dir Log directory; relative paths resolve against the deploy source.
|
|
6
|
+
* @property {number} keep Number of most-recent deploy logs to retain.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Resolves the per-deploy log settings from the loaded Rampway config, applying
|
|
10
|
+
* defaults. `deployLog: false` (or `{enabled: false}`) disables logging.
|
|
11
|
+
*
|
|
12
|
+
* @param {unknown} rawConfig Full loaded Rampway config object.
|
|
13
|
+
* @returns {DeployLogSettings}
|
|
14
|
+
*/
|
|
15
|
+
export function resolveDeployLogConfig(rawConfig: unknown): DeployLogSettings;
|
|
16
|
+
/**
|
|
17
|
+
* @name DeployLog
|
|
18
|
+
* @typedef {object} DeployLog
|
|
19
|
+
* @property {string} path Absolute path of the log file being written.
|
|
20
|
+
* @property {import('node:fs').WriteStream} stream Append stream to tee reporter output into.
|
|
21
|
+
* @property {() => Promise<void>} close Flushes and closes the log stream.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Opens the per-deploy log for a run: resolves the directory relative to the
|
|
25
|
+
* deploy source, creates a timestamped file, prunes old logs to the configured
|
|
26
|
+
* keep count, and returns an append stream. Returns `null` when logging is
|
|
27
|
+
* disabled.
|
|
28
|
+
*
|
|
29
|
+
* @param {{config: unknown, sourcePath: string, stageName: string, now?: Date}} args
|
|
30
|
+
* @returns {DeployLog | null}
|
|
31
|
+
*/
|
|
32
|
+
export function openDeployLog({ config, sourcePath, stageName, now }: {
|
|
33
|
+
config: unknown;
|
|
34
|
+
sourcePath: string;
|
|
35
|
+
stageName: string;
|
|
36
|
+
now?: Date;
|
|
37
|
+
}): DeployLog | null;
|
|
38
|
+
export type DeployLogSettings = {
|
|
39
|
+
/**
|
|
40
|
+
* Whether a per-deploy log file is written.
|
|
41
|
+
*/
|
|
42
|
+
enabled: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Log directory; relative paths resolve against the deploy source.
|
|
45
|
+
*/
|
|
46
|
+
dir: string;
|
|
47
|
+
/**
|
|
48
|
+
* Number of most-recent deploy logs to retain.
|
|
49
|
+
*/
|
|
50
|
+
keep: number;
|
|
51
|
+
};
|
|
52
|
+
export type DeployLog = {
|
|
53
|
+
/**
|
|
54
|
+
* Absolute path of the log file being written.
|
|
55
|
+
*/
|
|
56
|
+
path: string;
|
|
57
|
+
/**
|
|
58
|
+
* Append stream to tee reporter output into.
|
|
59
|
+
*/
|
|
60
|
+
stream: import("node:fs").WriteStream;
|
|
61
|
+
/**
|
|
62
|
+
* Flushes and closes the log stream.
|
|
63
|
+
*/
|
|
64
|
+
close: () => Promise<void>;
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=deploy-log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-log.d.ts","sourceRoot":"","sources":["../../../src/core/deploy-log.js"],"names":[],"mappings":"AAqBA;;;;;;GAMG;AAEH;;;;;;GAMG;AACH,kDAHW,OAAO,GACL,iBAAiB,CAiB7B;AAED;;;;;;GAMG;AAEH;;;;;;;;GAQG;AACH,sEAHW;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAC,GAClE,SAAS,GAAG,IAAI,CAmB5B;;;;;aA/Da,OAAO;;;;SACP,MAAM;;;;UACN,MAAM;;;;;;UA8BN,MAAM;;;;YACN,OAAO,SAAS,EAAE,WAAW;;;;WAC7B,MAAM,OAAO,CAAC,IAAI,CAAC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
/**
|
|
3
|
+
* @file Persistent per-deploy log.
|
|
4
|
+
*
|
|
5
|
+
* A deploy streams every lifecycle step and command chunk through the
|
|
6
|
+
* {@link import('./reporter.js').Reporter}. This module tees that transcript to
|
|
7
|
+
* a timestamped file on the machine running the deploy (relative to the deploy
|
|
8
|
+
* source, or a configurable directory), keeping only the most recent N logs, so
|
|
9
|
+
* a full record of each deploy survives for later inspection — the kind of
|
|
10
|
+
* per-deploy log Capistrano keeps built in.
|
|
11
|
+
*/
|
|
12
|
+
import fs from "node:fs";
|
|
13
|
+
import path from "node:path";
|
|
14
|
+
import { optionalBoolean, optionalNonBlankString, optionalPositiveInteger } from "typanic";
|
|
15
|
+
import { releaseIdFromDate } from "./release-id.js";
|
|
16
|
+
const DEFAULT_DIR = "log/deploys";
|
|
17
|
+
const DEFAULT_KEEP = 20;
|
|
18
|
+
/**
|
|
19
|
+
* @name DeployLogSettings
|
|
20
|
+
* @typedef {object} DeployLogSettings
|
|
21
|
+
* @property {boolean} enabled Whether a per-deploy log file is written.
|
|
22
|
+
* @property {string} dir Log directory; relative paths resolve against the deploy source.
|
|
23
|
+
* @property {number} keep Number of most-recent deploy logs to retain.
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Resolves the per-deploy log settings from the loaded Rampway config, applying
|
|
27
|
+
* defaults. `deployLog: false` (or `{enabled: false}`) disables logging.
|
|
28
|
+
*
|
|
29
|
+
* @param {unknown} rawConfig Full loaded Rampway config object.
|
|
30
|
+
* @returns {DeployLogSettings}
|
|
31
|
+
*/
|
|
32
|
+
export function resolveDeployLogConfig(rawConfig) {
|
|
33
|
+
const config = rawConfig && typeof rawConfig === "object" ? /** @type {Record<string, unknown>} */ (rawConfig) : {};
|
|
34
|
+
const raw = config.deployLog;
|
|
35
|
+
if (raw === undefined || raw === null)
|
|
36
|
+
return { enabled: true, dir: DEFAULT_DIR, keep: DEFAULT_KEEP };
|
|
37
|
+
if (typeof raw === "boolean")
|
|
38
|
+
return { enabled: raw, dir: DEFAULT_DIR, keep: DEFAULT_KEEP };
|
|
39
|
+
if (typeof raw !== "object" || Array.isArray(raw))
|
|
40
|
+
throw new Error(`deployLog must be a boolean or an object, got ${JSON.stringify(raw)}`);
|
|
41
|
+
// Typanic throws loudly on a malformed field (e.g. `enabled: "false"`) rather
|
|
42
|
+
// than silently coercing it; each accessor returns null when the field is absent.
|
|
43
|
+
const settings = /** @type {Record<string, unknown>} */ (raw);
|
|
44
|
+
return {
|
|
45
|
+
enabled: optionalBoolean(settings.enabled, "deployLog.enabled") ?? true,
|
|
46
|
+
dir: optionalNonBlankString(settings.dir, "deployLog.dir") ?? DEFAULT_DIR,
|
|
47
|
+
keep: optionalPositiveInteger(settings.keep, "deployLog.keep") ?? DEFAULT_KEEP
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* @name DeployLog
|
|
52
|
+
* @typedef {object} DeployLog
|
|
53
|
+
* @property {string} path Absolute path of the log file being written.
|
|
54
|
+
* @property {import('node:fs').WriteStream} stream Append stream to tee reporter output into.
|
|
55
|
+
* @property {() => Promise<void>} close Flushes and closes the log stream.
|
|
56
|
+
*/
|
|
57
|
+
/**
|
|
58
|
+
* Opens the per-deploy log for a run: resolves the directory relative to the
|
|
59
|
+
* deploy source, creates a timestamped file, prunes old logs to the configured
|
|
60
|
+
* keep count, and returns an append stream. Returns `null` when logging is
|
|
61
|
+
* disabled.
|
|
62
|
+
*
|
|
63
|
+
* @param {{config: unknown, sourcePath: string, stageName: string, now?: Date}} args
|
|
64
|
+
* @returns {DeployLog | null}
|
|
65
|
+
*/
|
|
66
|
+
export function openDeployLog({ config, sourcePath, stageName, now = new Date() }) {
|
|
67
|
+
const { enabled, dir, keep } = resolveDeployLogConfig(config);
|
|
68
|
+
if (!enabled)
|
|
69
|
+
return null;
|
|
70
|
+
const logDir = path.isAbsolute(dir) ? dir : path.join(sourcePath, dir);
|
|
71
|
+
fs.mkdirSync(logDir, { recursive: true });
|
|
72
|
+
const logPath = path.join(logDir, `${releaseIdFromDate(now)}-${sanitizeStageForFilename(stageName)}.log`);
|
|
73
|
+
// Prune existing logs before opening this run's file, reserving one slot so the
|
|
74
|
+
// total (old logs + this deploy) settles at `keep`. `createWriteStream` creates
|
|
75
|
+
// the file lazily, so pruning here also avoids racing its on-disk appearance.
|
|
76
|
+
pruneOldDeployLogs(logDir, Math.max(0, keep - 1));
|
|
77
|
+
const stream = fs.createWriteStream(logPath, { flags: "a" });
|
|
78
|
+
return { path: logPath, stream, close: () => closeStream(stream) };
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* @param {string} stageName
|
|
82
|
+
* @returns {string}
|
|
83
|
+
*/
|
|
84
|
+
function sanitizeStageForFilename(stageName) {
|
|
85
|
+
return stageName.replace(/[^a-zA-Z0-9._-]/g, "_");
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Removes all but the newest `keep` Rampway deploy logs. Only files matching the
|
|
89
|
+
* `<timestamp>-<stage>.log` naming are considered, so unrelated files in the
|
|
90
|
+
* directory are never touched.
|
|
91
|
+
*
|
|
92
|
+
* @param {string} logDir
|
|
93
|
+
* @param {number} keep
|
|
94
|
+
* @returns {void}
|
|
95
|
+
*/
|
|
96
|
+
function pruneOldDeployLogs(logDir, keep) {
|
|
97
|
+
const entries = fs.readdirSync(logDir).filter(name => /^\d{14}-.*\.log$/.test(name)).sort();
|
|
98
|
+
const removable = entries.slice(0, Math.max(0, entries.length - keep));
|
|
99
|
+
for (const name of removable)
|
|
100
|
+
fs.rmSync(path.join(logDir, name), { force: true });
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* @param {import('node:fs').WriteStream} stream
|
|
104
|
+
* @returns {Promise<void>}
|
|
105
|
+
*/
|
|
106
|
+
function closeStream(stream) {
|
|
107
|
+
return new Promise((resolve, reject) => {
|
|
108
|
+
stream.on("error", reject);
|
|
109
|
+
stream.end(() => resolve());
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=deploy-log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-log.js","sourceRoot":"","sources":["../../../src/core/deploy-log.js"],"names":[],"mappings":"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"}
|
|
@@ -24,8 +24,11 @@ export function redactText(text: string): string;
|
|
|
24
24
|
* possibly-incomplete sensitive tail.
|
|
25
25
|
*
|
|
26
26
|
* Secret assignments (`KEY=value`) and credential URLs
|
|
27
|
-
* (`https://user:pass@host`) are
|
|
28
|
-
*
|
|
27
|
+
* (`https://user:pass@host`) are terminated by whitespace. Unquoted secret
|
|
28
|
+
* values contain no internal whitespace; quoted secret values (single- or
|
|
29
|
+
* double-quoted) may contain whitespace within the quotes, but the streaming
|
|
30
|
+
* redactor does not handle those — it relies on `redactText` for complete
|
|
31
|
+
* command strings, so any token preceding the final whitespace in the
|
|
29
32
|
* buffer is complete and safe to redact and emit. The unterminated trailing
|
|
30
33
|
* token is held back until more input (or {@link StreamingRedactor#flush})
|
|
31
34
|
* arrives. Notably `https://user:pass` without a terminating `@host` is not a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../../../src/core/redaction.js"],"names":[],"mappings":"AAMA;;;GAGG;AACH,iCAHW,OAAO,GACL,OAAO,CAInB;AAED;;;;GAIG;AACH,iCAJW,OAAO,SACP,OAAO,GACL,MAAM,CAKlB;AAED;;;GAGG;AACH,gCAHW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOlC;AAED;;;GAGG;AACH,iCAHW,MAAM,GACJ,MAAM,CAIlB;AAED
|
|
1
|
+
{"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../../../src/core/redaction.js"],"names":[],"mappings":"AAMA;;;GAGG;AACH,iCAHW,OAAO,GACL,OAAO,CAInB;AAED;;;;GAIG;AACH,iCAJW,OAAO,SACP,OAAO,GACL,MAAM,CAKlB;AAED;;;GAGG;AACH,gCAHW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOlC;AAED;;;GAGG;AACH,iCAHW,MAAM,GACJ,MAAM,CAIlB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH;IACE;;OAEG;IACH,0BAFW;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAC,EAS5B;IANC,qBAAqB;IACrB,SADW,MAAM,CACA;IACjB,qBAAqB;IACrB,SADW,MAAM,CACK;IACtB,sBAAsB;IACtB,uBADW,OAAO,CACgB;IAGpC;;;;;OAKG;IACH,YAHW,MAAM,GACJ,MAAM,CA6BlB;IAED;;;;;OAKG;IACH,SAFa,MAAM,CAMlB;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @ts-check
|
|
2
2
|
const SECRET_KEY_PATTERN = /(token|password|secret|key|cookie|authorization)/iu;
|
|
3
|
-
const SECRET_ASSIGNMENT_PATTERN = /((?:token|password|secret|key|cookie|authorization)[A-Z0-9_\-]*\s*=\s*)([^\s]+)/giu;
|
|
3
|
+
const SECRET_ASSIGNMENT_PATTERN = /((?:token|password|secret|key|cookie|authorization)[A-Z0-9_\-]*\s*=\s*)('[^']*'|"[^"]*"|[^\s]+)/giu;
|
|
4
4
|
const HTTPS_USERINFO_PATTERN = /(https?:\/\/)[^/@\s]+@/giu;
|
|
5
5
|
/**
|
|
6
6
|
* @param {unknown} key
|
|
@@ -42,8 +42,11 @@ export function redactText(text) {
|
|
|
42
42
|
* possibly-incomplete sensitive tail.
|
|
43
43
|
*
|
|
44
44
|
* Secret assignments (`KEY=value`) and credential URLs
|
|
45
|
-
* (`https://user:pass@host`) are
|
|
46
|
-
*
|
|
45
|
+
* (`https://user:pass@host`) are terminated by whitespace. Unquoted secret
|
|
46
|
+
* values contain no internal whitespace; quoted secret values (single- or
|
|
47
|
+
* double-quoted) may contain whitespace within the quotes, but the streaming
|
|
48
|
+
* redactor does not handle those — it relies on `redactText` for complete
|
|
49
|
+
* command strings, so any token preceding the final whitespace in the
|
|
47
50
|
* buffer is complete and safe to redact and emit. The unterminated trailing
|
|
48
51
|
* token is held back until more input (or {@link StreamingRedactor#flush})
|
|
49
52
|
* arrives. Notably `https://user:pass` without a terminating `@host` is not a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redaction.js","sourceRoot":"","sources":["../../../src/core/redaction.js"],"names":[],"mappings":"AAAA,YAAY;AAEZ,MAAM,kBAAkB,GAAG,oDAAoD,CAAA;AAC/E,MAAM,yBAAyB,GAAG,
|
|
1
|
+
{"version":3,"file":"redaction.js","sourceRoot":"","sources":["../../../src/core/redaction.js"],"names":[],"mappings":"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"}
|
|
@@ -26,13 +26,14 @@ export function jsonReporter(): Reporter;
|
|
|
26
26
|
*/
|
|
27
27
|
export class Reporter {
|
|
28
28
|
/**
|
|
29
|
-
* @param {{lifecycle?: boolean, streamCommands?: boolean, out?: import('node:stream').Writable, err?: import('node:stream').Writable}} [opts]
|
|
29
|
+
* @param {{lifecycle?: boolean, streamCommands?: boolean, out?: import('node:stream').Writable, err?: import('node:stream').Writable, logStream?: import('node:stream').Writable|null}} [opts]
|
|
30
30
|
*/
|
|
31
|
-
constructor({ lifecycle, streamCommands, out, err }?: {
|
|
31
|
+
constructor({ lifecycle, streamCommands, out, err, logStream }?: {
|
|
32
32
|
lifecycle?: boolean;
|
|
33
33
|
streamCommands?: boolean;
|
|
34
34
|
out?: import("node:stream").Writable;
|
|
35
35
|
err?: import("node:stream").Writable;
|
|
36
|
+
logStream?: import("node:stream").Writable | null;
|
|
36
37
|
});
|
|
37
38
|
/** @type {boolean} */
|
|
38
39
|
lifecycleEnabled: boolean;
|
|
@@ -42,26 +43,56 @@ export class Reporter {
|
|
|
42
43
|
out: import("node:stream").Writable;
|
|
43
44
|
/** @type {import('node:stream').Writable} */
|
|
44
45
|
err: import("node:stream").Writable;
|
|
46
|
+
/**
|
|
47
|
+
* Optional persistent per-deploy log. When attached, every lifecycle line
|
|
48
|
+
* and streamed command chunk is tee'd here in addition to the live
|
|
49
|
+
* stdout/stderr contract, so a full deploy transcript survives on disk.
|
|
50
|
+
*
|
|
51
|
+
* @type {import('node:stream').Writable|null}
|
|
52
|
+
*/
|
|
53
|
+
logStream: import("node:stream").Writable | null;
|
|
45
54
|
/**
|
|
46
55
|
* Whether live command stdout/stderr should be streamed as it arrives.
|
|
47
56
|
*
|
|
48
57
|
* @returns {boolean}
|
|
49
58
|
*/
|
|
50
59
|
get streamsCommands(): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Whether the transport should feed redacted command output to the reporter at
|
|
62
|
+
* all — either to live-stream it or to persist it to the deploy log. This is
|
|
63
|
+
* decoupled from {@link streamsCommands} so a `--json` deploy still records a
|
|
64
|
+
* full command transcript in its log even though nothing is streamed live.
|
|
65
|
+
*
|
|
66
|
+
* @returns {boolean}
|
|
67
|
+
*/
|
|
68
|
+
get capturesCommands(): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Attaches a persistent per-deploy log stream after construction. The deploy
|
|
71
|
+
* command builds the reporter before the config (and therefore the log path)
|
|
72
|
+
* is known, so the log is tee'd in once resolved.
|
|
73
|
+
*
|
|
74
|
+
* @param {import('node:stream').Writable|null} stream
|
|
75
|
+
* @returns {void}
|
|
76
|
+
*/
|
|
77
|
+
attachLogStream(stream: import("node:stream").Writable | null): void;
|
|
51
78
|
/**
|
|
52
79
|
* Prints a Capistrano-style lifecycle line in human mode; no-op otherwise.
|
|
80
|
+
* The line is always tee'd to the persistent log (when attached) so the log
|
|
81
|
+
* stays readable even for a `--json` automation deploy.
|
|
53
82
|
*
|
|
54
83
|
* @param {string} message
|
|
55
84
|
* @returns {void}
|
|
56
85
|
*/
|
|
57
86
|
line(message: string): void;
|
|
58
87
|
/**
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
88
|
+
* Records already-redacted command output. It is always tee'd to the deploy
|
|
89
|
+
* log when one is attached, so the log is a full transcript regardless of
|
|
90
|
+
* output mode. It is streamed live to the error stream only when
|
|
91
|
+
* {@link streamsCommands} is set (human mode) — the error stream keeps human
|
|
92
|
+
* stdout reserved for lifecycle progress and JSON stdout clean.
|
|
62
93
|
*
|
|
63
94
|
* @param {string} text
|
|
64
|
-
* @returns {boolean}
|
|
95
|
+
* @returns {boolean} Backpressure signal: `false` asks the caller to pause. Only the live stream can request a pause; log-only writes never do.
|
|
65
96
|
*/
|
|
66
97
|
writeCommandOutput(text: string): boolean;
|
|
67
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../../src/core/reporter.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../../src/core/reporter.js"],"names":[],"mappings":"AAsGA;;;;GAIG;AACH,iCAFa,QAAQ,CAIpB;AAED;;;;;GAKG;AACH,gCAFa,QAAQ,CAIpB;AArHD;;;;;;;;GAQG;AAEH;;;GAGG;AACH;IACE;;OAEG;IACH,iEAFW;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,aAAa,EAAE,QAAQ,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,aAAa,EAAE,QAAQ,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,aAAa,EAAE,QAAQ,GAAC,IAAI,CAAA;KAAC,EAmBtL;IAhBC,sBAAsB;IACtB,kBADW,OAAO,CACe;IACjC,sBAAsB;IACtB,gBADW,OAAO,CACkB;IACpC,6CAA6C;IAC7C,KADW,OAAO,aAAa,EAAE,QAAQ,CAC3B;IACd,6CAA6C;IAC7C,KADW,OAAO,aAAa,EAAE,QAAQ,CAC3B;IACd;;;;;;OAMG;IACH,WAFU,OAAO,aAAa,EAAE,QAAQ,GAAC,IAAI,CAEnB;IAG5B;;;;OAIG;IACH,uBAFa,OAAO,CAInB;IAED;;;;;;;OAOG;IACH,wBAFa,OAAO,CAInB;IAED;;;;;;;OAOG;IACH,wBAHW,OAAO,aAAa,EAAE,QAAQ,GAAC,IAAI,GACjC,IAAI,CAIhB;IAED;;;;;;;OAOG;IACH,cAHW,MAAM,GACJ,IAAI,CAKhB;IAED;;;;;;;;;OASG;IACH,yBAHW,MAAM,GACJ,OAAO,CAMnB;CACF"}
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
*/
|
|
15
15
|
export class Reporter {
|
|
16
16
|
/**
|
|
17
|
-
* @param {{lifecycle?: boolean, streamCommands?: boolean, out?: import('node:stream').Writable, err?: import('node:stream').Writable}} [opts]
|
|
17
|
+
* @param {{lifecycle?: boolean, streamCommands?: boolean, out?: import('node:stream').Writable, err?: import('node:stream').Writable, logStream?: import('node:stream').Writable|null}} [opts]
|
|
18
18
|
*/
|
|
19
|
-
constructor({ lifecycle = true, streamCommands = true, out = process.stdout, err = process.stderr } = {}) {
|
|
19
|
+
constructor({ lifecycle = true, streamCommands = true, out = process.stdout, err = process.stderr, logStream = null } = {}) {
|
|
20
20
|
/** @type {boolean} */
|
|
21
21
|
this.lifecycleEnabled = lifecycle;
|
|
22
22
|
/** @type {boolean} */
|
|
@@ -25,6 +25,14 @@ export class Reporter {
|
|
|
25
25
|
this.out = out;
|
|
26
26
|
/** @type {import('node:stream').Writable} */
|
|
27
27
|
this.err = err;
|
|
28
|
+
/**
|
|
29
|
+
* Optional persistent per-deploy log. When attached, every lifecycle line
|
|
30
|
+
* and streamed command chunk is tee'd here in addition to the live
|
|
31
|
+
* stdout/stderr contract, so a full deploy transcript survives on disk.
|
|
32
|
+
*
|
|
33
|
+
* @type {import('node:stream').Writable|null}
|
|
34
|
+
*/
|
|
35
|
+
this.logStream = logStream;
|
|
28
36
|
}
|
|
29
37
|
/**
|
|
30
38
|
* Whether live command stdout/stderr should be streamed as it arrives.
|
|
@@ -34,8 +42,32 @@ export class Reporter {
|
|
|
34
42
|
get streamsCommands() {
|
|
35
43
|
return this.streamCommands;
|
|
36
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Whether the transport should feed redacted command output to the reporter at
|
|
47
|
+
* all — either to live-stream it or to persist it to the deploy log. This is
|
|
48
|
+
* decoupled from {@link streamsCommands} so a `--json` deploy still records a
|
|
49
|
+
* full command transcript in its log even though nothing is streamed live.
|
|
50
|
+
*
|
|
51
|
+
* @returns {boolean}
|
|
52
|
+
*/
|
|
53
|
+
get capturesCommands() {
|
|
54
|
+
return this.streamCommands || this.logStream !== null;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Attaches a persistent per-deploy log stream after construction. The deploy
|
|
58
|
+
* command builds the reporter before the config (and therefore the log path)
|
|
59
|
+
* is known, so the log is tee'd in once resolved.
|
|
60
|
+
*
|
|
61
|
+
* @param {import('node:stream').Writable|null} stream
|
|
62
|
+
* @returns {void}
|
|
63
|
+
*/
|
|
64
|
+
attachLogStream(stream) {
|
|
65
|
+
this.logStream = stream;
|
|
66
|
+
}
|
|
37
67
|
/**
|
|
38
68
|
* Prints a Capistrano-style lifecycle line in human mode; no-op otherwise.
|
|
69
|
+
* The line is always tee'd to the persistent log (when attached) so the log
|
|
70
|
+
* stays readable even for a `--json` automation deploy.
|
|
39
71
|
*
|
|
40
72
|
* @param {string} message
|
|
41
73
|
* @returns {void}
|
|
@@ -43,16 +75,24 @@ export class Reporter {
|
|
|
43
75
|
line(message) {
|
|
44
76
|
if (this.lifecycleEnabled)
|
|
45
77
|
this.out.write(`${message}\n`);
|
|
78
|
+
if (this.logStream)
|
|
79
|
+
this.logStream.write(`${message}\n`);
|
|
46
80
|
}
|
|
47
81
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
82
|
+
* Records already-redacted command output. It is always tee'd to the deploy
|
|
83
|
+
* log when one is attached, so the log is a full transcript regardless of
|
|
84
|
+
* output mode. It is streamed live to the error stream only when
|
|
85
|
+
* {@link streamsCommands} is set (human mode) — the error stream keeps human
|
|
86
|
+
* stdout reserved for lifecycle progress and JSON stdout clean.
|
|
51
87
|
*
|
|
52
88
|
* @param {string} text
|
|
53
|
-
* @returns {boolean}
|
|
89
|
+
* @returns {boolean} Backpressure signal: `false` asks the caller to pause. Only the live stream can request a pause; log-only writes never do.
|
|
54
90
|
*/
|
|
55
91
|
writeCommandOutput(text) {
|
|
92
|
+
if (this.logStream)
|
|
93
|
+
this.logStream.write(text);
|
|
94
|
+
if (!this.streamCommands)
|
|
95
|
+
return true;
|
|
56
96
|
return this.err.write(text);
|
|
57
97
|
}
|
|
58
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../../src/core/reporter.js"],"names":[],"mappings":"AAAA,YAAY;AAEZ;;;;;;;;GAQG;AAEH;;;GAGG;AACH,MAAM,OAAO,QAAQ;IACnB;;OAEG;IACH,YAAY,EAAC,SAAS,GAAG,IAAI,EAAE,cAAc,GAAG,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAC,GAAG,EAAE;
|
|
1
|
+
{"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../../src/core/reporter.js"],"names":[],"mappings":"AAAA,YAAY;AAEZ;;;;;;;;GAQG;AAEH;;;GAGG;AACH,MAAM,OAAO,QAAQ;IACnB;;OAEG;IACH,YAAY,EAAC,SAAS,GAAG,IAAI,EAAE,cAAc,GAAG,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,EAAC,GAAG,EAAE;QACtH,sBAAsB;QACtB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAA;QACjC,sBAAsB;QACtB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,6CAA6C;QAC7C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,6CAA6C;QAC7C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd;;;;;;WAMG;QACH,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED;;;;OAIG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAA;IACvD,CAAC;IAED;;;;;;;OAOG;IACH,eAAe,CAAC,MAAM;QACpB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAA;IACzB,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,CAAC,OAAO;QACV,IAAI,IAAI,CAAC,gBAAgB;YAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAA;QACzD,IAAI,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAA;IAC1D,CAAC;IAED;;;;;;;;;OASG;IACH,kBAAkB,CAAC,IAAI;QACrB,IAAI,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAA;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,QAAQ,CAAC,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAC,CAAC,CAAA;AAC9D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,QAAQ,CAAC,EAAC,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAC,CAAC,CAAA;AAChE,CAAC"}
|
|
@@ -111,7 +111,7 @@ export class LocalTransport {
|
|
|
111
111
|
* @returns {Promise<import('#types').SpawnResult>}
|
|
112
112
|
*/
|
|
113
113
|
async run(command, { cwd, env = {} } = {}) {
|
|
114
|
-
const
|
|
114
|
+
const shouldCapture = this.reporter.capturesCommands;
|
|
115
115
|
return await new Promise((resolve, reject) => {
|
|
116
116
|
const child = spawn(command, { cwd, env: { ...process.env, ...env }, shell: true });
|
|
117
117
|
let output = "";
|
|
@@ -119,7 +119,7 @@ export class LocalTransport {
|
|
|
119
119
|
const emit = /** @param {Buffer|string} chunk */ /** @param {Buffer|string} chunk */ chunk => {
|
|
120
120
|
const text = chunk.toString();
|
|
121
121
|
output += text;
|
|
122
|
-
if (!
|
|
122
|
+
if (!shouldCapture)
|
|
123
123
|
return;
|
|
124
124
|
const safe = redactor.push(text);
|
|
125
125
|
if (safe && !this.reporter.writeCommandOutput(safe)) {
|
|
@@ -132,7 +132,7 @@ export class LocalTransport {
|
|
|
132
132
|
}
|
|
133
133
|
};
|
|
134
134
|
const flush = () => {
|
|
135
|
-
if (!
|
|
135
|
+
if (!shouldCapture)
|
|
136
136
|
return;
|
|
137
137
|
const rest = redactor.flush();
|
|
138
138
|
if (rest)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-transport.js","sourceRoot":"","sources":["../../../src/transports/local-transport.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"local-transport.js","sourceRoot":"","sources":["../../../src/transports/local-transport.js"],"names":[],"mappings":"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"}
|
|
@@ -223,7 +223,7 @@ export class SshTransport {
|
|
|
223
223
|
async runCommandPlan(plan, { input, stream = true } = {}) {
|
|
224
224
|
if (plan.pipeTo)
|
|
225
225
|
return await this.runPipedCommandPlan(plan, { stream });
|
|
226
|
-
const
|
|
226
|
+
const shouldCapture = stream && this.reporter.capturesCommands;
|
|
227
227
|
return await new Promise((resolve, reject) => {
|
|
228
228
|
const child = spawn(plan.command, plan.args);
|
|
229
229
|
let output = "";
|
|
@@ -233,7 +233,7 @@ export class SshTransport {
|
|
|
233
233
|
const emit = /** @param {Buffer|string} chunk */ /** @param {Buffer|string} chunk */ chunk => {
|
|
234
234
|
const text = chunk.toString();
|
|
235
235
|
output += text;
|
|
236
|
-
if (!
|
|
236
|
+
if (!shouldCapture)
|
|
237
237
|
return;
|
|
238
238
|
const safe = redactor.push(text);
|
|
239
239
|
if (safe && !this.reporter.writeCommandOutput(safe)) {
|
|
@@ -246,7 +246,7 @@ export class SshTransport {
|
|
|
246
246
|
}
|
|
247
247
|
};
|
|
248
248
|
const flush = () => {
|
|
249
|
-
if (!
|
|
249
|
+
if (!shouldCapture)
|
|
250
250
|
return;
|
|
251
251
|
const rest = redactor.flush();
|
|
252
252
|
if (rest)
|
|
@@ -279,14 +279,14 @@ export class SshTransport {
|
|
|
279
279
|
*/
|
|
280
280
|
async runPipedCommandPlan(plan, { stream = true } = {}) {
|
|
281
281
|
const pipeTo = /** @type {import('#types').CommandPlan} */ (plan.pipeTo);
|
|
282
|
-
const
|
|
282
|
+
const shouldCapture = stream && this.reporter.capturesCommands;
|
|
283
283
|
return await new Promise((resolve, reject) => {
|
|
284
284
|
const source = spawn(plan.command, plan.args);
|
|
285
285
|
const target = spawn(pipeTo.command, pipeTo.args);
|
|
286
286
|
let output = "";
|
|
287
287
|
const redactor = new StreamingRedactor();
|
|
288
288
|
const flushOutput = () => {
|
|
289
|
-
if (!
|
|
289
|
+
if (!shouldCapture)
|
|
290
290
|
return;
|
|
291
291
|
const rest = redactor.flush();
|
|
292
292
|
if (rest)
|
|
@@ -303,7 +303,7 @@ export class SshTransport {
|
|
|
303
303
|
const append = /** @param {Buffer|string} chunk */ /** @param {Buffer|string} chunk */ chunk => {
|
|
304
304
|
const text = chunk.toString();
|
|
305
305
|
output += text;
|
|
306
|
-
if (!
|
|
306
|
+
if (!shouldCapture)
|
|
307
307
|
return;
|
|
308
308
|
const safe = redactor.push(text);
|
|
309
309
|
if (safe && !this.reporter.writeCommandOutput(safe)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh-transport.js","sourceRoot":"","sources":["../../../src/transports/ssh-transport.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ssh-transport.js","sourceRoot":"","sources":["../../../src/transports/ssh-transport.js"],"names":[],"mappings":"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"}
|
package/build/src/types.d.ts
CHANGED
|
@@ -115,6 +115,23 @@ export type ReleasesReport = {
|
|
|
115
115
|
current: string;
|
|
116
116
|
};
|
|
117
117
|
};
|
|
118
|
+
export type TaskListEntry = {
|
|
119
|
+
command: string;
|
|
120
|
+
cwd?: string | undefined;
|
|
121
|
+
env?: Record<string, string> | undefined;
|
|
122
|
+
optional?: boolean | undefined;
|
|
123
|
+
onlyIfChanged?: string[] | undefined;
|
|
124
|
+
};
|
|
125
|
+
export type TasksReport = {
|
|
126
|
+
application: string;
|
|
127
|
+
stage: string;
|
|
128
|
+
taskGroupCount: number;
|
|
129
|
+
taskCount: number;
|
|
130
|
+
taskGroups: Array<{
|
|
131
|
+
name: string;
|
|
132
|
+
tasks: TaskListEntry[];
|
|
133
|
+
}>;
|
|
134
|
+
};
|
|
118
135
|
export type StatusReport = {
|
|
119
136
|
application: string;
|
|
120
137
|
stage: string;
|
package/build/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.js"],"names":[],"mappings":";UAYc,OAAO,GAAC,KAAK;;;;;;;;;UAab,MAAM;cACN,OAAO;;;;;;;;UAgBP,MAAM;;;;;;;;;;;;aAgBN,MAAM;;;;;;;UAWN,MAAM;aACN,MAAM;;YAEN,QAAQ,GAAC,QAAQ,GAAC,SAAS;;;;;iBAS3B,MAAM;eACN,MAAM;;YAEN,MAAM;;cAEN,MAAM;cACN,YAAY,GAAC,YAAY,GAAC,gBAAgB;eAC1C,eAAe;;cACF,MAAM;eAAS,MAAM;eAAS,MAAM;gBAAU,MAAM,EAAE;;kBACnE,MAAM;iBACN,WAAW,EAAE;gBACb,WAAW,EAAE;WACb,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;WAC3B,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;kBAC3B,gBAAgB,EAAE;aAClB,aAAa;;;cAOb,MAAM;kBACN,MAAM;gBACN,MAAM;iBACN,MAAM;cACN,MAAM;eACN,MAAM;gBACN,MAAM;;;;WAQN,MAAM;YACN,MAAM;;YAEN,MAAM;;;iBAON,MAAM;WACN,MAAM;eACN,MAAM;cACN,MAAM;;;WAGN,MAAM;;;;;;;;iBAYN,MAAM;WACN,MAAM;eACN,MAAM;kBACN,MAAM;;WAEN,MAAM;;;iBAON,MAAM;WACN,MAAM;aACN,MAAM,GAAC,IAAI;cACX,MAAM,EAAE;kBACR,MAAM;WACN;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC;;;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.js"],"names":[],"mappings":"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"}
|
package/docs/config-reference.md
CHANGED
|
@@ -8,6 +8,21 @@
|
|
|
8
8
|
|-------|------|----------|-------------|
|
|
9
9
|
| `application` | string | yes | Name of the application. Used in deploy metadata and reports. |
|
|
10
10
|
| `stages` | object | yes | Map of stage names to stage configs. |
|
|
11
|
+
| `deployLog` | object \| boolean | no | Per-deploy log settings, or a boolean to enable/disable with defaults. See Deploy log below. |
|
|
12
|
+
|
|
13
|
+
### Deploy log
|
|
14
|
+
|
|
15
|
+
Every `rampway <stage> deploy` writes a full transcript of its lifecycle steps and streamed command output (already redacted) to a timestamped file on the machine running the deploy — the kind of per-deploy log Capistrano keeps built in. The path is printed at the start of the run and in the final summary. Dry runs are not logged.
|
|
16
|
+
|
|
17
|
+
| Field | Type | Required | Default | Description |
|
|
18
|
+
|-------|------|----------|---------|-------------|
|
|
19
|
+
| `enabled` | boolean | no | `true` | Set to `false` (or set `deployLog: false`) to disable per-deploy logging. |
|
|
20
|
+
| `dir` | string | no | `"log/deploys"` | Log directory. Relative paths resolve against the deploy source; absolute paths are used as-is. |
|
|
21
|
+
| `keep` | number | no | `20` | Number of most-recent deploy logs to retain; older ones are pruned. |
|
|
22
|
+
|
|
23
|
+
Log files are named `<UTC-timestamp>-<stage>.log` (e.g. `20260722162000-production.log`). Only files matching that pattern are pruned, so unrelated files in the directory are never removed.
|
|
24
|
+
|
|
25
|
+
Malformed `deployLog` config fails loudly: `enabled` must be a boolean, `dir` a non-empty string, and `keep` a positive integer.
|
|
11
26
|
|
|
12
27
|
## Stage fields
|
|
13
28
|
|
|
@@ -172,6 +187,17 @@ onlyIfChanged(["backend"], npmInstall({cwd: "backend", production: true}))
|
|
|
172
187
|
5. Tasks with `onlyIfChanged` are skipped when their paths haven't changed since the last deploy.
|
|
173
188
|
6. Tasks with `cwd` resolve relative to the release root.
|
|
174
189
|
|
|
190
|
+
### Listing tasks
|
|
191
|
+
|
|
192
|
+
`rampway <environment> tasks` lists a stage's configured task groups and their entries in config order, so you can discover what a deploy will run without deploying:
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
rampway production tasks
|
|
196
|
+
rampway production tasks --json
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Each entry shows its command plus any `cwd`, `env`, `optional`, and `onlyIfChanged` metadata. Secret-like env values and `KEY=value` assignments in commands are redacted in both the human and `--json` output.
|
|
200
|
+
|
|
175
201
|
## Hooks
|
|
176
202
|
|
|
177
203
|
Hooks are lifecycle-phase callbacks that run commands at specific points during the deploy pipeline, outside the fixed task-group slot. Each hook phase accepts an array of task entries (strings or objects, same format as tasks).
|
|
@@ -18,6 +18,7 @@ Rampway is a JS-native alternative to Capistrano for Node projects. This guide m
|
|
|
18
18
|
| `after/before` hooks | `tasks` run in config order, or use lifecycle `hooks` for phase-specific callbacks |
|
|
19
19
|
| `deploy:starting` … `deploy:finished` | task groups + runtime deploy |
|
|
20
20
|
| `cap production deploy` | `rampway production deploy` |
|
|
21
|
+
| `cap -T` / `cap production -T` | `rampway production tasks` |
|
|
21
22
|
| `cap production deploy:rollback` | `rampway production rollback` |
|
|
22
23
|
| `current` symlink | same |
|
|
23
24
|
| `releases/` directory | same |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rampway",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.6",
|
|
4
4
|
"description": "JS-native Capistrano-style release-directory deployments with Rollbridge integration.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": false,
|
|
@@ -78,7 +78,8 @@
|
|
|
78
78
|
"release:major": "npm version major && git push --follow-tags"
|
|
79
79
|
},
|
|
80
80
|
"dependencies": {
|
|
81
|
-
"@types/node": "^26.1.1"
|
|
81
|
+
"@types/node": "^26.1.1",
|
|
82
|
+
"typanic": "^1.0.9"
|
|
82
83
|
},
|
|
83
84
|
"devDependencies": {
|
|
84
85
|
"eslint": "^9.39.2",
|