@ploaness/cli 1.1.0 → 1.3.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.
Files changed (79) hide show
  1. package/dist/checks/assets.d.ts +12 -0
  2. package/dist/checks/assets.d.ts.map +1 -1
  3. package/dist/checks/assets.js +27 -4
  4. package/dist/checks/assets.js.map +1 -1
  5. package/dist/checks/blocklist.d.ts +8 -0
  6. package/dist/checks/blocklist.d.ts.map +1 -0
  7. package/dist/checks/blocklist.js +106 -0
  8. package/dist/checks/blocklist.js.map +1 -0
  9. package/dist/checks/container-run.d.ts +23 -0
  10. package/dist/checks/container-run.d.ts.map +1 -0
  11. package/dist/checks/container-run.js +55 -0
  12. package/dist/checks/container-run.js.map +1 -0
  13. package/dist/checks/containers.d.ts.map +1 -1
  14. package/dist/checks/containers.js +2 -32
  15. package/dist/checks/containers.js.map +1 -1
  16. package/dist/checks/dependencies.d.ts.map +1 -1
  17. package/dist/checks/dependencies.js +75 -52
  18. package/dist/checks/dependencies.js.map +1 -1
  19. package/dist/checks/editorconfig.js +6 -5
  20. package/dist/checks/editorconfig.js.map +1 -1
  21. package/dist/checks/environment.d.ts +3 -3
  22. package/dist/checks/environment.d.ts.map +1 -1
  23. package/dist/checks/environment.js +29 -14
  24. package/dist/checks/environment.js.map +1 -1
  25. package/dist/checks/infra.d.ts +5 -0
  26. package/dist/checks/infra.d.ts.map +1 -0
  27. package/dist/checks/infra.js +185 -0
  28. package/dist/checks/infra.js.map +1 -0
  29. package/dist/checks/install.d.ts +2 -0
  30. package/dist/checks/install.d.ts.map +1 -1
  31. package/dist/checks/install.js +10 -1
  32. package/dist/checks/install.js.map +1 -1
  33. package/dist/checks/oxlint.d.ts +5 -0
  34. package/dist/checks/oxlint.d.ts.map +1 -0
  35. package/dist/checks/oxlint.js +85 -0
  36. package/dist/checks/oxlint.js.map +1 -0
  37. package/dist/checks/payload.d.ts +11 -0
  38. package/dist/checks/payload.d.ts.map +1 -1
  39. package/dist/checks/payload.js +130 -9
  40. package/dist/checks/payload.js.map +1 -1
  41. package/dist/checks/shell.d.ts +5 -0
  42. package/dist/checks/shell.d.ts.map +1 -0
  43. package/dist/checks/shell.js +78 -0
  44. package/dist/checks/shell.js.map +1 -0
  45. package/dist/checks/suppressions.d.ts +2 -2
  46. package/dist/checks/suppressions.d.ts.map +1 -1
  47. package/dist/checks/suppressions.js +31 -11
  48. package/dist/checks/suppressions.js.map +1 -1
  49. package/dist/checks/tree.d.ts +1 -1
  50. package/dist/checks/tree.d.ts.map +1 -1
  51. package/dist/checks/tree.js +6 -26
  52. package/dist/checks/tree.js.map +1 -1
  53. package/dist/checks/wiring.d.ts +10 -0
  54. package/dist/checks/wiring.d.ts.map +1 -1
  55. package/dist/checks/wiring.js +16 -4
  56. package/dist/checks/wiring.js.map +1 -1
  57. package/dist/commands/init.d.ts.map +1 -1
  58. package/dist/commands/init.js +1 -3
  59. package/dist/commands/init.js.map +1 -1
  60. package/dist/context.d.ts +1 -23
  61. package/dist/context.d.ts.map +1 -1
  62. package/dist/context.js +16 -33
  63. package/dist/context.js.map +1 -1
  64. package/dist/gates.d.ts.map +1 -1
  65. package/dist/gates.js +54 -13
  66. package/dist/gates.js.map +1 -1
  67. package/dist/probes/payload-defaults.probe.d.ts +2 -0
  68. package/dist/probes/payload-defaults.probe.d.ts.map +1 -0
  69. package/dist/probes/payload-defaults.probe.js +116 -0
  70. package/dist/probes/payload-defaults.probe.js.map +1 -0
  71. package/dist/source-comments.d.ts +9 -0
  72. package/dist/source-comments.d.ts.map +1 -0
  73. package/dist/source-comments.js +54 -0
  74. package/dist/source-comments.js.map +1 -0
  75. package/dist/working-tree.d.ts +5 -0
  76. package/dist/working-tree.d.ts.map +1 -0
  77. package/dist/working-tree.js +36 -0
  78. package/dist/working-tree.js.map +1 -0
  79. package/package.json +6 -5
@@ -18,6 +18,18 @@ export interface SyncChange {
18
18
  readonly path: string;
19
19
  readonly action: 'wrote' | 'deleted' | 'spliced' | 'refused';
20
20
  }
21
+ /**
22
+ * Copy a managed body over its target only when the bytes differ.
23
+ *
24
+ * A pinned file is always the catalogue's, so the copy is unconditional in effect - but reporting it as
25
+ * a write on every run told an agent to review and commit edits that did not exist, and left the
26
+ * "already matches" line unreachable for every pinned path. The comparison is what makes the report
27
+ * name the runs that changed something.
28
+ * @param source the catalogue body.
29
+ * @param target where it is materialised.
30
+ * @returns whether the target was written.
31
+ */
32
+ export declare const hasCopiedChange: (source: string, target: string) => boolean;
21
33
  /**
22
34
  * Materialise the managed files into the working tree. This is the only command that writes them: a
23
35
  * PINNED file is rewritten so drift is repaired, a SEED file is written only when absent so the
@@ -1 +1 @@
1
- {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/checks/assets.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,KAAK,OAAO,EAAe,KAAK,UAAU,EAAoB,MAAM,eAAe,CAAA;AAC5F,OAAO,EAAU,KAAK,UAAU,EAAU,MAAM,YAAY,CAAA;AAiG5D,mGAAmG;AACnG,eAAO,MAAM,MAAM,GAAI,YAAY,UAAU,KAAG,UAyB/C,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,GAAI,SAAS,OAAO,KAAG,WAAW,CAAC,MAAM,CAUjE,CAAA;AAED,2DAA2D;AAC3D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;CAC7D;AA6CD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,YAAY,UAAU,KAAG,SAAS,UAAU,EAetE,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,WAAW,MAAM,EAAE,MAAM,MAAM,KAAG,OAQ7E,CAAA"}
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/checks/assets.ts"],"names":[],"mappings":"AA8BA,OAAO,EACL,KAAK,OAAO,EAEZ,KAAK,UAAU,EAGhB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAU,KAAK,UAAU,EAAU,MAAM,YAAY,CAAA;AAiG5D,mGAAmG;AACnG,eAAO,MAAM,MAAM,GAAI,YAAY,UAAU,KAAG,UA+B/C,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,GAAI,SAAS,OAAO,KAAG,WAAW,CAAC,MAAM,CAUjE,CAAA;AAED,2DAA2D;AAC3D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;CAC7D;AA2CD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,EAAE,QAAQ,MAAM,KAAG,OAQhE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,YAAY,UAAU,KAAG,SAAS,UAAU,EAetE,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,WAAW,MAAM,EAAE,MAAM,MAAM,KAAG,OAQ7E,CAAA"}
@@ -2,8 +2,8 @@
2
2
  // gate can never disagree with the command that repairs it.
3
3
  import { cpSync, existsSync, mkdirSync, readFileSync, rmSync, statSync, writeFileSync, } from 'node:fs';
4
4
  import path from 'node:path';
5
- import { applyManagedSection, findAssetViolations, hasRuntime, memberAssets, memberKindOf, parseManifest, ROOT_MEMBER_PATH, repositoryAssets, syncAction, } from '@ploaness/governance';
6
- import { shippedDirectory } from '../context.js';
5
+ import { applyManagedSection, findAssetViolations, hasRuntime, isOxlintConfig, memberAssets, memberKindOf, parseManifest, ROOT_MEMBER_PATH, repositoryAssets, syncAction, } from '@ploaness/governance';
6
+ import { shippedDirectory, workingTreeFiles, } from '../context.js';
7
7
  import { failed, passed } from '../exec.js';
8
8
  const assetsRoot = () => shippedDirectory('@ploaness/assets');
9
9
  const readManifestText = () => readFileSync(path.join(assetsRoot(), 'manifest.tsv'), 'utf8');
@@ -80,7 +80,12 @@ export const assets = (repository) => {
80
80
  ]);
81
81
  }
82
82
  const sites = sitesOf(repository, parsed.assets);
83
- const findings = sites.flatMap((site) => findAssetViolations(site.assets, site.unmanaged, stateOf(site.root)).map((violation) => `${site.label}${violation.path}: ${violation.reason}`));
83
+ const findings = [
84
+ ...sites.flatMap((site) => findAssetViolations(site.assets, site.unmanaged, stateOf(site.root)).map((violation) => `${site.label}${violation.path}: ${violation.reason}`)),
85
+ ...workingTreeFiles(repository.root)
86
+ .filter(isOxlintConfig)
87
+ .map((file) => `${file}: Oxlint configuration is owned by ploaness`),
88
+ ];
84
89
  const checked = sites.reduce((total, site) => total + site.assets.length, 0);
85
90
  return findings.length > 0
86
91
  ? failed(`${String(findings.length)} managed-file defect(s)`, findings)
@@ -132,9 +137,27 @@ const syncOne = (root, asset) => {
132
137
  if (action === 'splice') {
133
138
  return spliceSection(asset.path, target, source);
134
139
  }
140
+ return hasCopiedChange(source, target) ? { path: asset.path, action: 'wrote' } : undefined;
141
+ };
142
+ /**
143
+ * Copy a managed body over its target only when the bytes differ.
144
+ *
145
+ * A pinned file is always the catalogue's, so the copy is unconditional in effect - but reporting it as
146
+ * a write on every run told an agent to review and commit edits that did not exist, and left the
147
+ * "already matches" line unreachable for every pinned path. The comparison is what makes the report
148
+ * name the runs that changed something.
149
+ * @param source the catalogue body.
150
+ * @param target where it is materialised.
151
+ * @returns whether the target was written.
152
+ */
153
+ export const hasCopiedChange = (source, target) => {
154
+ const body = readFileSync(source);
155
+ if (existsSync(target) && body.equals(readFileSync(target))) {
156
+ return false;
157
+ }
135
158
  mkdirSync(path.dirname(target), { recursive: true });
136
159
  cpSync(source, target);
137
- return { path: asset.path, action: 'wrote' };
160
+ return true;
138
161
  };
139
162
  /**
140
163
  * Materialise the managed files into the working tree. This is the only command that writes them: a
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/checks/assets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/checks/assets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type Context } from '../context.js';
2
+ import { type GateResult } from '../exec.js';
3
+ /**
4
+ * Fail when a container image, a Dockerfile system package, or an installed npm package is one
5
+ * ploaness refuses, or when an image reference is not pinned to a tag.
6
+ */
7
+ export declare const blocklist: (context: Context) => GateResult;
8
+ //# sourceMappingURL=blocklist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocklist.d.ts","sourceRoot":"","sources":["../../src/checks/blocklist.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,KAAK,OAAO,EAAoB,MAAM,eAAe,CAAA;AAC9D,OAAO,EAAU,KAAK,UAAU,EAA+B,MAAM,YAAY,CAAA;AA2GjF;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,OAAO,KAAG,UA8B5C,CAAA"}
@@ -0,0 +1,106 @@
1
+ // The gate that refuses named software: the shell around `blocklist.ts` in governance, holding the
2
+ // file reads, the compose render, and the pnpm inventory, and nothing that decides.
3
+ import { readFileSync } from 'node:fs';
4
+ import path from 'node:path';
5
+ import { composeProjectsIn, describeRefusal, dockerfilesIn, hasUnresolvedVariable, imageReferencesInComposeModel, imageReferencesInDockerfile, imageReferencesInWorkflow, isMutableImageReference, packagesInLicenseInventory, refuseImage, refuseInstalledPackages, refuseSystemPackages, workflowsIn, } from '@ploaness/governance';
6
+ import { workingTreeFiles } from '../context.js';
7
+ import { failed, passed, run } from '../exec.js';
8
+ const INVENTORY_LOCATION = 'the resolved dependency set';
9
+ // Every reference is judged three ways, in the order a reader repairs them: a refused image is replaced
10
+ // before its tag is pinned, and a reference nobody can resolve is named as such rather than passed.
11
+ const judgeReference = (location, reference) => {
12
+ if (hasUnresolvedVariable(reference)) {
13
+ return [
14
+ `${location}: ${reference} carries a variable nothing substituted, so it cannot be judged; write it literally`,
15
+ ];
16
+ }
17
+ const refusal = refuseImage(reference);
18
+ if (refusal !== undefined) {
19
+ return [describeRefusal(refusal, location)];
20
+ }
21
+ return isMutableImageReference(reference)
22
+ ? [
23
+ `${location}: ${reference} is not pinned to a tag, so what it pulls can change without the repository changing`,
24
+ ]
25
+ : [];
26
+ };
27
+ const readTracked = (context, file) => readFileSync(path.join(context.root, file), 'utf8');
28
+ const judgeDockerfile = (context, file) => {
29
+ const text = readTracked(context, file);
30
+ return [
31
+ ...imageReferencesInDockerfile(text).flatMap((reference) => judgeReference(file, reference)),
32
+ ...refuseSystemPackages(text).map((refusal) => describeRefusal(refusal, file)),
33
+ ];
34
+ };
35
+ const judgeWorkflow = (context, file) => imageReferencesInWorkflow(readTracked(context, file)).flatMap((reference) => judgeReference(file, reference));
36
+ // Rendered rather than read: compose interpolates from the `.env` beside the file and merges its
37
+ // override files, and only the rendered model says what the daemon pulls. Run from the project's own
38
+ // directory for the reason `containers.ts` records. Both spellings of compose are tried, and a model
39
+ // that cannot be rendered fails the gate: an image nothing could read is not an image nobody pulls.
40
+ const renderCompose = (directory) => {
41
+ const modern = run('docker', ['compose', 'config', '--format', 'json'], {
42
+ cwd: directory,
43
+ });
44
+ return modern.code === 0
45
+ ? modern
46
+ : run('docker-compose', ['config', '--format', 'json'], { cwd: directory });
47
+ };
48
+ const judgeComposeProject = (context, project) => {
49
+ const rendered = renderCompose(path.join(context.root, project.directory));
50
+ const images = rendered.code === 0 ? imageReferencesInComposeModel(rendered.stdout) : undefined;
51
+ if (images === undefined) {
52
+ return { findings: [], unrendered: [`${project.file}:`, rendered.output] };
53
+ }
54
+ return {
55
+ findings: images.flatMap((entry) => judgeReference(`${project.file} (service ${entry.service})`, entry.image)),
56
+ unrendered: [],
57
+ };
58
+ };
59
+ const judgeInventory = (context) => {
60
+ const result = run('pnpm', ['licenses', 'list', '--json'], { cwd: context.root });
61
+ // Parsed from stdout alone, for the reason `dependencies.ts` records: pnpm writes its warnings to
62
+ // stderr, and the joined output is not JSON.
63
+ const packages = result.code === 0 ? packagesInLicenseInventory(result.stdout) : undefined;
64
+ if (packages === undefined) {
65
+ return { findings: [], unread: [result.output], counted: 0 };
66
+ }
67
+ return {
68
+ findings: refuseInstalledPackages(packages).map((refusal) => describeRefusal(refusal, INVENTORY_LOCATION)),
69
+ unread: [],
70
+ counted: packages.length,
71
+ };
72
+ };
73
+ const describeTargets = (dockerfiles, workflows, projects, packages) => `${String(dockerfiles)} Dockerfile(s), ${String(workflows)} workflow(s), ${String(projects)} compose ` +
74
+ `project(s) and ${String(packages)} installed package(s) name nothing ploaness refuses`;
75
+ /**
76
+ * Fail when a container image, a Dockerfile system package, or an installed npm package is one
77
+ * ploaness refuses, or when an image reference is not pinned to a tag.
78
+ */
79
+ export const blocklist = (context) => {
80
+ const tracked = workingTreeFiles(context.root);
81
+ const dockerfiles = dockerfilesIn(tracked);
82
+ const workflows = workflowsIn(tracked);
83
+ const projects = composeProjectsIn(tracked);
84
+ const compose = projects.map((project) => judgeComposeProject(context, project));
85
+ const inventory = judgeInventory(context);
86
+ const unreadable = [
87
+ ...compose.flatMap((judgement) => judgement.unrendered),
88
+ ...inventory.unread,
89
+ ];
90
+ if (unreadable.length > 0) {
91
+ return failed('a compose model or the dependency inventory could not be read', [
92
+ ...unreadable,
93
+ 'this gate is fail-closed by design; an image or package nothing could read is not one nobody uses',
94
+ ]);
95
+ }
96
+ const findings = [
97
+ ...dockerfiles.flatMap((file) => judgeDockerfile(context, file)),
98
+ ...workflows.flatMap((file) => judgeWorkflow(context, file)),
99
+ ...compose.flatMap((judgement) => judgement.findings),
100
+ ...inventory.findings,
101
+ ];
102
+ return findings.length > 0
103
+ ? failed('software ploaness refuses is in use', findings)
104
+ : passed(describeTargets(dockerfiles.length, workflows.length, projects.length, inventory.counted));
105
+ };
106
+ //# sourceMappingURL=blocklist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocklist.js","sourceRoot":"","sources":["../../src/checks/blocklist.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { type DockerFailure } from '@ploaness/governance';
2
+ import type { Context } from '../context.js';
3
+ import { type GateResult, type RunResult } from '../exec.js';
4
+ /** A docker failure, as the verdict a gate returns for it. */
5
+ export declare const describeFailure: (failure: DockerFailure) => GateResult;
6
+ /**
7
+ * Make an analyzer image available, reporting why it could not be.
8
+ * @param context the repository or member being judged, for the working directory.
9
+ * @param image the digest-pinned reference to acquire.
10
+ * @param gate what to call this gate in a failure, so the message names the check that stopped.
11
+ * @returns a failing result when the image cannot be obtained, or undefined when it is present.
12
+ */
13
+ export declare const acquireImage: (context: Context, image: string, gate: string) => GateResult | undefined;
14
+ /**
15
+ * Whether a failed run was docker's fault rather than the project's.
16
+ * @param context the repository or member being judged.
17
+ * @param image the image the run used, re-checked when the exit code is not a reserved one.
18
+ * @param gate what to call this gate in a failure.
19
+ * @param result the outcome of the run.
20
+ * @returns a failing result when docker is at fault, or undefined when the finding is the project's.
21
+ */
22
+ export declare const dockerFault: (context: Context, image: string, gate: string, result: RunResult) => GateResult | undefined;
23
+ //# sourceMappingURL=container-run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container-run.d.ts","sourceRoot":"","sources":["../../src/checks/container-run.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAU,KAAK,UAAU,EAAE,KAAK,SAAS,EAAO,MAAM,YAAY,CAAA;AAEzE,8DAA8D;AAC9D,eAAO,MAAM,eAAe,GAAI,SAAS,aAAa,KAAG,UACd,CAAA;AAU3C;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GACvB,SAAS,OAAO,EAChB,OAAO,MAAM,EACb,MAAM,MAAM,KACX,UAAU,GAAG,SAUf,CAAA;AAMD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GACtB,SAAS,OAAO,EAChB,OAAO,MAAM,EACb,MAAM,MAAM,EACZ,QAAQ,SAAS,KAChB,UAAU,GAAG,SAMf,CAAA"}
@@ -0,0 +1,55 @@
1
+ // Acquiring an analyzer image, and deciding whether a failed run was the tool's fault or docker's.
2
+ //
3
+ // Shared rather than private to one gate: every containerised analyzer needs both answers, and a second
4
+ // copy of either would be a second opinion about what "docker is unavailable" means. The reasoning each
5
+ // carries is the reason it exists, so it travels with the function rather than staying behind.
6
+ import { classifyContainerExit, classifyImageFailure, } from '@ploaness/governance';
7
+ import { failed, run } from '../exec.js';
8
+ /** A docker failure, as the verdict a gate returns for it. */
9
+ export const describeFailure = (failure) => failed(failure.summary, failure.remedies);
10
+ // The image is acquired as a step of its own, BEFORE any analyzer runs, and that ordering is the repair
11
+ // rather than an optimisation. It puts "the analyzer could not be obtained" on a command whose output
12
+ // docker wrote in full, so the failure can be read honestly; leaving the pull implicit in `docker run`
13
+ // left one exit code carrying two questions, and a rate-limited pull answered the wrong one - the secret
14
+ // scan reported a secret in the git history because gitleaks had never started.
15
+ //
16
+ // `docker image inspect` is local and costs nothing on a machine that has already pulled, which is every
17
+ // machine after the first run.
18
+ /**
19
+ * Make an analyzer image available, reporting why it could not be.
20
+ * @param context the repository or member being judged, for the working directory.
21
+ * @param image the digest-pinned reference to acquire.
22
+ * @param gate what to call this gate in a failure, so the message names the check that stopped.
23
+ * @returns a failing result when the image cannot be obtained, or undefined when it is present.
24
+ */
25
+ export const acquireImage = (context, image, gate) => {
26
+ const present = run('docker', ['image', 'inspect', '--format', '{{.Id}}', image], {
27
+ cwd: context.root,
28
+ });
29
+ if (present.code === 0) {
30
+ return undefined;
31
+ }
32
+ const pulled = run('docker', ['pull', image], { cwd: context.root });
33
+ const failure = classifyImageFailure(gate, pulled);
34
+ return failure === undefined ? undefined : describeFailure(failure);
35
+ };
36
+ // Asked only when a run failed, and answered by docker rather than by the analyzer's output. The reserved
37
+ // exit codes settle it outright; otherwise the question is whether docker is STILL well, which closes the
38
+ // narrow window where the daemon dies between the pull and the run without letting a commit message the
39
+ // scanner quoted decide whether a finding is real.
40
+ /**
41
+ * Whether a failed run was docker's fault rather than the project's.
42
+ * @param context the repository or member being judged.
43
+ * @param image the image the run used, re-checked when the exit code is not a reserved one.
44
+ * @param gate what to call this gate in a failure.
45
+ * @param result the outcome of the run.
46
+ * @returns a failing result when docker is at fault, or undefined when the finding is the project's.
47
+ */
48
+ export const dockerFault = (context, image, gate, result) => {
49
+ if (result.code === 0) {
50
+ return undefined;
51
+ }
52
+ const reserved = classifyContainerExit(gate, result);
53
+ return reserved === undefined ? acquireImage(context, image, gate) : describeFailure(reserved);
54
+ };
55
+ //# sourceMappingURL=container-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container-run.js","sourceRoot":"","sources":["../../src/checks/container-run.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,EAAE;AACF,wGAAwG;AACxG,wGAAwG;AACxG,+FAA+F;AAC/F,OAAO,EACL,qBAAqB,EACrB,oBAAoB,GAErB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,MAAM,EAAmC,GAAG,EAAE,MAAM,YAAY,CAAA;AAEzE,8DAA8D;AAC9D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAsB,EAAc,EAAE,CACpE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;AAE3C,wGAAwG;AACxG,sGAAsG;AACtG,uGAAuG;AACvG,yGAAyG;AACzG,gFAAgF;AAChF,EAAE;AACF,yGAAyG;AACzG,+BAA+B;AAC/B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,OAAgB,EAChB,KAAa,EACb,IAAY,EACY,EAAE;IAC1B,MAAM,OAAO,GAAc,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE;QAC3F,GAAG,EAAE,OAAO,CAAC,IAAI;KAClB,CAAC,CAAA;IACF,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,MAAM,GAAc,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IAC/E,MAAM,OAAO,GAA8B,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC7E,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;AACrE,CAAC,CAAA;AAED,0GAA0G;AAC1G,0GAA0G;AAC1G,wGAAwG;AACxG,mDAAmD;AACnD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,OAAgB,EAChB,KAAa,EACb,IAAY,EACZ,MAAiB,EACO,EAAE;IAC1B,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,QAAQ,GAA8B,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC/E,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;AAChG,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"containers.d.ts","sourceRoot":"","sources":["../../src/checks/containers.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,OAAO,EAAoB,MAAM,eAAe,CAAA;AAC9D,OAAO,EAIL,KAAK,UAAU,EAIhB,MAAM,YAAY,CAAA;AA0InB,gFAAgF;AAChF,eAAO,MAAM,OAAO,GAAI,SAAS,OAAO,KAAG,UAiBvC,CAAA;AAqGJ,gEAAgE;AAChE,eAAO,MAAM,UAAU,GAAI,SAAS,OAAO,KAAG,UAkC7C,CAAA;AAED,yCAAyC;AACzC,eAAO,MAAM,OAAO,GAAI,SAAS,OAAO,KAAG,UAqB1C,CAAA"}
1
+ {"version":3,"file":"containers.d.ts","sourceRoot":"","sources":["../../src/checks/containers.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,OAAO,EAAoB,MAAM,eAAe,CAAA;AAC9D,OAAO,EAIL,KAAK,UAAU,EAIhB,MAAM,YAAY,CAAA;AAmGnB,gFAAgF;AAChF,eAAO,MAAM,OAAO,GAAI,SAAS,OAAO,KAAG,UAiBvC,CAAA;AAqGJ,gEAAgE;AAChE,eAAO,MAAM,UAAU,GAAI,SAAS,OAAO,KAAG,UAkC7C,CAAA;AAED,yCAAyC;AACzC,eAAO,MAAM,OAAO,GAAI,SAAS,OAAO,KAAG,UAqB1C,CAAA"}
@@ -4,46 +4,16 @@
4
4
  import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
5
5
  import { homedir } from 'node:os';
6
6
  import path from 'node:path';
7
- import { CONTAINER_IMAGES, classifyContainerExit, classifyImageFailure, composeProjectsIn, dockerfilesIn, renderGitleaksConfig, } from '@ploaness/governance';
7
+ import { CONTAINER_IMAGES, classifyContainerExit, composeProjectsIn, dockerfilesIn, renderGitleaksConfig, } from '@ploaness/governance';
8
8
  import { workingTreeFiles } from '../context.js';
9
9
  import { asFindings, failed, fromRun, passed, run, } from '../exec.js';
10
10
  import { mirrorSecretCandidates } from '../secret-mirror.js';
11
+ import { acquireImage, describeFailure, dockerFault } from './container-run.js';
11
12
  // Pinned by digest in the governance layer, where a spec rejects a mutable reference. These were three
12
13
  // `:latest` literals, which let an upstream release change a verdict without the repository changing.
13
14
  const GITLEAKS_IMAGE = CONTAINER_IMAGES.gitleaks;
14
15
  const HADOLINT_IMAGE = CONTAINER_IMAGES.hadolint;
15
16
  const ACTIONLINT_IMAGE = CONTAINER_IMAGES.actionlint;
16
- const describeFailure = (failure) => failed(failure.summary, failure.remedies);
17
- // The image is acquired as a step of its own, BEFORE any analyzer runs, and that ordering is the repair
18
- // rather than an optimisation. It puts "the analyzer could not be obtained" on a command whose output
19
- // docker wrote in full, so the failure can be read honestly; leaving the pull implicit in `docker run`
20
- // left one exit code carrying two questions, and a rate-limited pull answered the wrong one - the secret
21
- // scan reported a secret in the git history because gitleaks had never started.
22
- //
23
- // `docker image inspect` is local and costs nothing on a machine that has already pulled, which is every
24
- // machine after the first run.
25
- const acquireImage = (context, image, gate) => {
26
- const present = run('docker', ['image', 'inspect', '--format', '{{.Id}}', image], {
27
- cwd: context.root,
28
- });
29
- if (present.code === 0) {
30
- return undefined;
31
- }
32
- const pulled = run('docker', ['pull', image], { cwd: context.root });
33
- const failure = classifyImageFailure(gate, pulled);
34
- return failure === undefined ? undefined : describeFailure(failure);
35
- };
36
- // Asked only when a run failed, and answered by docker rather than by the analyzer's output. The reserved
37
- // exit codes settle it outright; otherwise the question is whether docker is STILL well, which closes the
38
- // narrow window where the daemon dies between the pull and the run without letting a commit message the
39
- // scanner quoted decide whether a finding is real.
40
- const dockerFault = (context, image, gate, result) => {
41
- if (result.code === 0) {
42
- return undefined;
43
- }
44
- const reserved = classifyContainerExit(gate, result);
45
- return reserved === undefined ? acquireImage(context, image, gate) : describeFailure(reserved);
46
- };
47
17
  const withSecretWorkspace = (context, use) => {
48
18
  const directory = mkdtempSync(path.join(homedir(), '.ploaness-secrets-'));
49
19
  const configDirectory = path.join(directory, 'config');
@@ -1 +1 @@
1
- {"version":3,"file":"containers.js","sourceRoot":"","sources":["../../src/checks/containers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"containers.js","sourceRoot":"","sources":["../../src/checks/containers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../src/checks/dependencies.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAE,KAAK,OAAO,EAAgD,MAAM,eAAe,CAAA;AAC1F,OAAO,EAEL,KAAK,UAAU,EAMhB,MAAM,YAAY,CAAA;AAgBnB,eAAO,MAAM,QAAQ,GAAI,SAAS,OAAO,KAAG,UAkC3C,CAAA;AAsWD,eAAO,MAAM,mBAAmB,GAAU,SAAS,OAAO,KAAG,OAAO,CAAC,UAAU,CA+C9E,CAAA;AA6CD;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,OAAO,KAAG,UAiDlD,CAAA"}
1
+ {"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../src/checks/dependencies.ts"],"names":[],"mappings":"AA6CA,OAAO,EAAE,KAAK,OAAO,EAAgD,MAAM,eAAe,CAAA;AAC1F,OAAO,EAEL,KAAK,UAAU,EAMhB,MAAM,YAAY,CAAA;AAiBnB,eAAO,MAAM,QAAQ,GAAI,SAAS,OAAO,KAAG,UAkC3C,CAAA;AAuZD,eAAO,MAAM,mBAAmB,GAAU,SAAS,OAAO,KAAG,OAAO,CAAC,UAAU,CAuD9E,CAAA;AA6CD;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,OAAO,KAAG,UAiDlD,CAAA"}