rampway 0.2.4 → 0.2.5
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/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/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/types.d.ts +17 -0
- package/build/src/types.d.ts.map +1 -1
- package/docs/config-reference.md +11 -0
- package/docs/migration-from-capistrano.md +1 -0
- package/package.json +1 -1
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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"}
|
|
@@ -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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"}
|
|
@@ -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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"}
|
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
|
@@ -172,6 +172,17 @@ onlyIfChanged(["backend"], npmInstall({cwd: "backend", production: true}))
|
|
|
172
172
|
5. Tasks with `onlyIfChanged` are skipped when their paths haven't changed since the last deploy.
|
|
173
173
|
6. Tasks with `cwd` resolve relative to the release root.
|
|
174
174
|
|
|
175
|
+
### Listing tasks
|
|
176
|
+
|
|
177
|
+
`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:
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
rampway production tasks
|
|
181
|
+
rampway production tasks --json
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
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.
|
|
185
|
+
|
|
175
186
|
## Hooks
|
|
176
187
|
|
|
177
188
|
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 |
|