anton-bakker-deploy-engine 0.4.0 → 0.5.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.
@@ -0,0 +1,18 @@
1
+ import type { CheckResult, ExecutionContext } from './types.js';
2
+ /**
3
+ * Secrets detection using gitleaks.
4
+ * Scans the working directory for hardcoded secrets (API keys, passwords, tokens).
5
+ * Requires: gitleaks installed or available via npx.
6
+ */
7
+ export declare function secretsScan(ctx: ExecutionContext): Promise<CheckResult>;
8
+ /**
9
+ * Software Composition Analysis using npm audit.
10
+ * Fails on high or critical vulnerabilities.
11
+ */
12
+ export declare function npmAudit(ctx: ExecutionContext): Promise<CheckResult>;
13
+ /**
14
+ * SBOM generation using CycloneDX.
15
+ * Produces a CycloneDX JSON SBOM in the project root.
16
+ */
17
+ export declare function sbomGenerate(ctx: ExecutionContext): Promise<CheckResult>;
18
+ //# sourceMappingURL=checks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checks.d.ts","sourceRoot":"","sources":["../src/checks.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEhE;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAS7E;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAoB1E;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAS9E"}
package/dist/checks.js ADDED
@@ -0,0 +1,63 @@
1
+ /**
2
+ * src/checks.ts
3
+ * Location: anton-bakker-deploy-engine/src/checks.ts
4
+ *
5
+ * Reusable check executors for common pipeline gates.
6
+ * Projects import these and register them with the PipelineEngine.
7
+ *
8
+ * All checks use ctx.exec() — zero runtime dependencies.
9
+ */
10
+ import { existsSync } from 'fs';
11
+ import { join } from 'path';
12
+ /**
13
+ * Secrets detection using gitleaks.
14
+ * Scans the working directory for hardcoded secrets (API keys, passwords, tokens).
15
+ * Requires: gitleaks installed or available via npx.
16
+ */
17
+ export async function secretsScan(ctx) {
18
+ const out = ctx.exec('npx --yes gitleaks@latest detect --no-git --source . --exit-code 1 --report-format json --report-path /dev/null 2>&1');
19
+ // gitleaks exits 0 = clean, 1 = secrets found, other = error
20
+ if (out === null) {
21
+ return { name: 'secrets-scan', passed: false, error: 'Secrets detected in source code — run `npx gitleaks detect --no-git --source .` for details' };
22
+ }
23
+ return { name: 'secrets-scan', passed: true, actual: 'no secrets found' };
24
+ }
25
+ /**
26
+ * Software Composition Analysis using npm audit.
27
+ * Fails on high or critical vulnerabilities.
28
+ */
29
+ export async function npmAudit(ctx) {
30
+ const out = ctx.exec('npm audit --json 2>/dev/null');
31
+ if (out === null) {
32
+ return { name: 'npm-audit', passed: false, error: 'npm audit command failed' };
33
+ }
34
+ try {
35
+ const parsed = JSON.parse(out);
36
+ const vulns = parsed.metadata?.vulnerabilities ?? {};
37
+ const high = vulns.high ?? 0;
38
+ const critical = vulns.critical ?? 0;
39
+ return {
40
+ name: 'npm-audit',
41
+ passed: high + critical === 0,
42
+ expected: 'high=0, critical=0',
43
+ actual: `high=${high}, critical=${critical}`,
44
+ error: high + critical > 0 ? `${high} high + ${critical} critical vulnerabilities` : undefined,
45
+ };
46
+ }
47
+ catch {
48
+ return { name: 'npm-audit', passed: false, error: 'Failed to parse npm audit output' };
49
+ }
50
+ }
51
+ /**
52
+ * SBOM generation using CycloneDX.
53
+ * Produces a CycloneDX JSON SBOM in the project root.
54
+ */
55
+ export async function sbomGenerate(ctx) {
56
+ const outPath = join(ctx.projectRoot, 'sbom.json');
57
+ const out = ctx.exec(`npx --yes @cyclonedx/cyclonedx-npm --output-file ${outPath} 2>&1`);
58
+ if (out === null || !existsSync(outPath)) {
59
+ return { name: 'sbom-generate', passed: false, error: 'SBOM generation failed' };
60
+ }
61
+ return { name: 'sbom-generate', passed: true, actual: outPath };
62
+ }
63
+ //# sourceMappingURL=checks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checks.js","sourceRoot":"","sources":["../src/checks.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAqB;IACrD,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAClB,sHAAsH,CACvH,CAAC;IACF,6DAA6D;IAC7D,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,6FAA6F,EAAE,CAAC;IACvJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;AAC5E,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAqB;IAClD,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACrD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC;IACjF,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,eAAe,IAAI,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;QACrC,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,IAAI,GAAG,QAAQ,KAAK,CAAC;YAC7B,QAAQ,EAAE,oBAAoB;YAC9B,MAAM,EAAE,QAAQ,IAAI,cAAc,QAAQ,EAAE;YAC5C,KAAK,EAAE,IAAI,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,WAAW,QAAQ,2BAA2B,CAAC,CAAC,CAAC,SAAS;SAC/F,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC;IACzF,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAqB;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAClB,oDAAoD,OAAO,OAAO,CACnE,CAAC;IACF,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;IACnF,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAClE,CAAC"}
package/dist/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export { PipelineEngine } from './engine.js';
8
8
  export { buildGates, DEFAULT_ENVIRONMENTS } from './pipeline.js';
9
9
  export { verifyAmplifyOutputs, verifyBuildArtifact, parseTableCount, assertTableCount, parseEcsStatus, assertCognitoGroups, assertApiHealth, deriveExpectations, summarize, promotionCheck, } from './verify.js';
10
10
  export { SlackNotifier } from './slack.js';
11
+ export { secretsScan, npmAudit, sbomGenerate } from './checks.js';
11
12
  export { computeStateHash } from './types.js';
12
13
  export type { CheckResult, GateDefinition, GateResult, EnvironmentConfig, PipelineState, PipelineReport, CheckExecutor, ExecutionContext, PipelineEvent, PipelineEventType, PipelineEventListener, SlackSeverity, SlackEventConfig, SlackMessageConfig, SlackNotifierOptions, } from './types.js';
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGjE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,cAAc,GACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,YAAY,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGjE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,cAAc,GACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGlE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,YAAY,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -12,6 +12,8 @@ export { buildGates, DEFAULT_ENVIRONMENTS } from './pipeline.js';
12
12
  export { verifyAmplifyOutputs, verifyBuildArtifact, parseTableCount, assertTableCount, parseEcsStatus, assertCognitoGroups, assertApiHealth, deriveExpectations, summarize, promotionCheck, } from './verify.js';
13
13
  // Slack notifier (optional)
14
14
  export { SlackNotifier } from './slack.js';
15
+ // Reusable check executors
16
+ export { secretsScan, npmAudit, sbomGenerate } from './checks.js';
15
17
  // Utilities
16
18
  export { computeStateHash } from './types.js';
17
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,mBAAmB;AACnB,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEjE,4CAA4C;AAC5C,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,4BAA4B;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,mBAAmB;AACnB,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEjE,4CAA4C;AAC5C,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,4BAA4B;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,2BAA2B;AAC3B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAElE,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
package/dist/pipeline.js CHANGED
@@ -37,7 +37,7 @@ export function buildGates(env) {
37
37
  {
38
38
  id: 'build',
39
39
  name: 'Build',
40
- checks: ['docker-build', 'frontend-build', 'post-build-verify'],
40
+ checks: ['docker-build', 'frontend-build', 'post-build-verify', 'sbom-generate'],
41
41
  onFail: 'abort',
42
42
  },
43
43
  // One-box canary: deploy to single target, bake, verify before full fleet
@@ -90,7 +90,7 @@ export function buildGates(env) {
90
90
  export const DEFAULT_ENVIRONMENTS = {
91
91
  development: {
92
92
  approval: 'never',
93
- preDeployChecks: ['typecheck', 'lint', 'server-tests', 'schema-parse', 'merge-markers'],
93
+ preDeployChecks: ['typecheck', 'lint', 'server-tests', 'schema-parse', 'merge-markers', 'secrets-scan', 'npm-audit'],
94
94
  migrations: true,
95
95
  seed: { enabled: true, skipCalendar: true },
96
96
  e2eTests: false,
@@ -102,7 +102,7 @@ export const DEFAULT_ENVIRONMENTS = {
102
102
  },
103
103
  staging: {
104
104
  approval: 'never',
105
- preDeployChecks: ['typecheck', 'lint', 'server-tests', 'web-tests', 'schema-parse', 'merge-markers'],
105
+ preDeployChecks: ['typecheck', 'lint', 'server-tests', 'web-tests', 'schema-parse', 'merge-markers', 'secrets-scan', 'npm-audit'],
106
106
  migrations: true,
107
107
  seed: { enabled: true, skipCalendar: false },
108
108
  e2eTests: true,
@@ -116,7 +116,7 @@ export const DEFAULT_ENVIRONMENTS = {
116
116
  },
117
117
  production: {
118
118
  approval: 'broadening',
119
- preDeployChecks: ['typecheck', 'lint', 'server-tests', 'web-tests', 'schema-parse', 'merge-markers', 'schema-backward-compat'],
119
+ preDeployChecks: ['typecheck', 'lint', 'server-tests', 'web-tests', 'schema-parse', 'merge-markers', 'schema-backward-compat', 'secrets-scan', 'npm-audit'],
120
120
  migrations: true,
121
121
  seed: { enabled: false },
122
122
  e2eTests: true,
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "anton-bakker-deploy-engine",
3
- "version": "0.4.0",
3
+ "version": "0.5.1",
4
4
  "description": "Self-validating AWS deployment engine with 4-layer verification: exists, configured, functional, project-specific",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",