@orygn/opa-mcp 0.1.9 → 0.1.11
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/CHANGELOG.md +69 -1
- package/README.md +55 -10
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -0
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +4 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -0
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/lib/conftest-cli.d.ts +144 -0
- package/dist/lib/conftest-cli.d.ts.map +1 -0
- package/dist/lib/conftest-cli.js +224 -0
- package/dist/lib/conftest-cli.js.map +1 -0
- package/dist/lib/tool-helpers.d.ts +1 -1
- package/dist/lib/tool-helpers.d.ts.map +1 -1
- package/dist/lib/tool-helpers.js +8 -2
- package/dist/lib/tool-helpers.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +14 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/authoring/check-schema.d.ts +20 -0
- package/dist/tools/authoring/check-schema.d.ts.map +1 -0
- package/dist/tools/authoring/check-schema.js +140 -0
- package/dist/tools/authoring/check-schema.js.map +1 -0
- package/dist/tools/authoring/index.d.ts.map +1 -1
- package/dist/tools/authoring/index.js +2 -0
- package/dist/tools/authoring/index.js.map +1 -1
- package/dist/tools/conftest/index.d.ts +4 -0
- package/dist/tools/conftest/index.d.ts.map +1 -0
- package/dist/tools/conftest/index.js +11 -0
- package/dist/tools/conftest/index.js.map +1 -0
- package/dist/tools/conftest/pull.d.ts +10 -0
- package/dist/tools/conftest/pull.d.ts.map +1 -0
- package/dist/tools/conftest/pull.js +83 -0
- package/dist/tools/conftest/pull.js.map +1 -0
- package/dist/tools/conftest/push.d.ts +10 -0
- package/dist/tools/conftest/push.d.ts.map +1 -0
- package/dist/tools/conftest/push.js +76 -0
- package/dist/tools/conftest/push.js.map +1 -0
- package/dist/tools/conftest/test.d.ts +21 -0
- package/dist/tools/conftest/test.d.ts.map +1 -0
- package/dist/tools/conftest/test.js +186 -0
- package/dist/tools/conftest/test.js.map +1 -0
- package/dist/tools/conftest/verify.d.ts +21 -0
- package/dist/tools/conftest/verify.d.ts.map +1 -0
- package/dist/tools/conftest/verify.js +112 -0
- package/dist/tools/conftest/verify.js.map +1 -0
- package/dist/tools/index.d.ts +13 -10
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -17,6 +17,72 @@ not part of the public surface and may change in minor releases.
|
|
|
17
17
|
|
|
18
18
|
## [Unreleased]
|
|
19
19
|
|
|
20
|
+
## [0.1.11] - 2026-05-24
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
|
|
24
|
+
- **`rego_check_schema` (48 tools total)** -- new authoring tool that runs
|
|
25
|
+
`opa check --schema` to validate that every `input.*` field reference in a
|
|
26
|
+
Rego policy exists in the provided JSON Schema. Schema violations surface as
|
|
27
|
+
`rego_type_error` diagnostics with file/line locations. Accepts the schema
|
|
28
|
+
inline (`inlineSchema` -- pass the `schema` output of `rego_infer_input_schema`
|
|
29
|
+
directly) or as a path to a JSON Schema file on disk (`schemaPath`). Closes the
|
|
30
|
+
infer-then-validate loop: use `rego_infer_input_schema` to derive the schema
|
|
31
|
+
from an existing policy, then validate a new or modified policy against it
|
|
32
|
+
without leaving the MCP session. Supports `strict` mode and all standard
|
|
33
|
+
path-validation and subprocess error handling.
|
|
34
|
+
|
|
35
|
+
## [0.1.10] - 2026-05-22
|
|
36
|
+
|
|
37
|
+
### Added
|
|
38
|
+
|
|
39
|
+
- **Conftest integration (4 new tools, 47 total)** -- adds `conftest_test`,
|
|
40
|
+
`conftest_verify`, `conftest_pull`, and `conftest_push`, wrapping the
|
|
41
|
+
[conftest](https://www.conftest.dev/) CLI for policy testing of Kubernetes,
|
|
42
|
+
Terraform, Helm, Dockerfile, and other configuration formats. Conftest is
|
|
43
|
+
optional; all existing tools continue to work without it installed.
|
|
44
|
+
|
|
45
|
+
- **`conftest_test`** -- runs `conftest test` against one or more configuration
|
|
46
|
+
files and returns structured JSON pass/fail/warn results per namespace. Supports
|
|
47
|
+
inline configuration (written to a secure temp file, path redacted from output)
|
|
48
|
+
and inline Rego policy (written to a secure temp dir), multiple data directories,
|
|
49
|
+
namespace targeting, `--all-namespaces`, `--combine`, and `--fail-on-warn`.
|
|
50
|
+
|
|
51
|
+
- **`conftest_verify`** -- runs `conftest verify` to execute `_test.rego` unit
|
|
52
|
+
tests inside a policy directory, verifying that the policies themselves are
|
|
53
|
+
correct. Returns structured JSON output.
|
|
54
|
+
|
|
55
|
+
- **`conftest_pull`** -- pulls a policy bundle from a remote OCI or Git registry
|
|
56
|
+
into a local directory (`oci://registry/repo:tag` form).
|
|
57
|
+
|
|
58
|
+
- **`conftest_push`** -- pushes a local policy bundle to a remote OCI registry,
|
|
59
|
+
using host-environment credentials (docker login / ORAS).
|
|
60
|
+
|
|
61
|
+
- **`CONFTEST_NOT_FOUND` error code** -- returned by all four conftest tools when
|
|
62
|
+
the binary is absent, with a structured install hint. Consistent with the
|
|
63
|
+
existing `OPA_BINARY_NOT_FOUND` and `REGAL_NOT_FOUND` pattern.
|
|
64
|
+
|
|
65
|
+
- **`CONFTEST_BINARY` environment variable** -- configures the path to the conftest
|
|
66
|
+
binary. Defaults to `conftest` on PATH.
|
|
67
|
+
|
|
68
|
+
### Security
|
|
69
|
+
|
|
70
|
+
- Temp files for inline config and inline policy are now created via `mkdtemp`
|
|
71
|
+
(atomically, with `O_CREAT|O_EXCL` semantics at the OS level) rather than
|
|
72
|
+
constructing a path from `os.tmpdir()` and a UUID. This eliminates the TOCTOU
|
|
73
|
+
race window flagged by CodeQL CWE-377.
|
|
74
|
+
|
|
75
|
+
### Internal
|
|
76
|
+
|
|
77
|
+
- `src/lib/conftest-cli.ts`: `ConftestCli` class with `withTempAssets()` temp
|
|
78
|
+
file lifecycle management and `sanitizeOutput()` for redacting internal paths
|
|
79
|
+
from conftest JSON output. Path redaction uses `JSON.stringify` encoding to
|
|
80
|
+
correctly handle backslashes in Windows paths embedded in JSON output.
|
|
81
|
+
- Exit-code semantics: 0 and 1 both produce valid JSON (pass/fail respectively);
|
|
82
|
+
exit 2+ is a command error surfaced as `UNKNOWN_ERROR`.
|
|
83
|
+
- Tests: 57 tool-layer unit tests, 46 CLI unit tests, 12 real-binary integration
|
|
84
|
+
tests (auto-skipped when conftest is not on PATH).
|
|
85
|
+
|
|
20
86
|
## [0.1.9] - 2026-05-21
|
|
21
87
|
|
|
22
88
|
### Added
|
|
@@ -557,7 +623,9 @@ wrappers end-to-end. CI matrix: Ubuntu, macOS, and Windows on Node
|
|
|
557
623
|
20 and 22, plus CodeQL security scanning and weekly Dependabot updates
|
|
558
624
|
for npm, GitHub Actions, and Docker base images.
|
|
559
625
|
|
|
560
|
-
[Unreleased]: https://github.com/OrygnsCode/opa-mcp-server/compare/v0.1.
|
|
626
|
+
[Unreleased]: https://github.com/OrygnsCode/opa-mcp-server/compare/v0.1.11...HEAD
|
|
627
|
+
[0.1.11]: https://github.com/OrygnsCode/opa-mcp-server/compare/v0.1.10...v0.1.11
|
|
628
|
+
[0.1.10]: https://github.com/OrygnsCode/opa-mcp-server/compare/v0.1.9...v0.1.10
|
|
561
629
|
[0.1.9]: https://github.com/OrygnsCode/opa-mcp-server/compare/v0.1.8...v0.1.9
|
|
562
630
|
[0.1.8]: https://github.com/OrygnsCode/opa-mcp-server/compare/v0.1.7...v0.1.8
|
|
563
631
|
[0.1.7]: https://github.com/OrygnsCode/opa-mcp-server/compare/v0.1.6...v0.1.7
|
package/README.md
CHANGED
|
@@ -15,13 +15,13 @@ VS Code, Windsurf, Zed, and others) into a first-class
|
|
|
15
15
|
environment.
|
|
16
16
|
|
|
17
17
|
```
|
|
18
|
-
+--------------------+ MCP / stdio +-----------------+ spawn / HTTP
|
|
19
|
-
| Claude · Cursor · | ------------> | @orygn/opa-mcp | -------------> | opa · regal ·
|
|
20
|
-
| VS Code · ... | <------------ | | <------------- | OPA REST API
|
|
21
|
-
+--------------------+
|
|
18
|
+
+--------------------+ MCP / stdio +-----------------+ spawn / HTTP +------------------------+
|
|
19
|
+
| Claude · Cursor · | ------------> | @orygn/opa-mcp | -------------> | opa · regal · conftest |
|
|
20
|
+
| VS Code · ... | <------------ | | <------------- | OPA REST API |
|
|
21
|
+
+--------------------+ 48 tools +-----------------+ +------------------------+
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
> **Status:** v0.1.
|
|
24
|
+
> **Status:** v0.1.11. Tool surface, error codes, and
|
|
25
25
|
> environment variables follow [SemVer](https://semver.org/) from
|
|
26
26
|
> v0.1.0 forward.
|
|
27
27
|
|
|
@@ -241,6 +241,7 @@ variable is optional; defaults are sensible for a local OPA on
|
|
|
241
241
|
| `OPA_TOKEN` | _(unset)_ | Bearer token for OPA, if your instance requires auth. Treated as a secret. Never echoed in logs or tool responses. |
|
|
242
242
|
| `OPA_BINARY` | `opa` (on `PATH`) | Path to the `opa` CLI, used by `rego_*` tools. |
|
|
243
243
|
| `REGAL_BINARY` | `regal` (on `PATH`) | Path to the `regal` linter. Only required by `rego_lint`. |
|
|
244
|
+
| `CONFTEST_BINARY` | `conftest` (on `PATH`) | Path to the `conftest` binary. Only required by `conftest_*` tools. Returns `CONFTEST_NOT_FOUND` if absent. |
|
|
244
245
|
| `OPA_MCP_ALLOWED_PATHS` | _(unset)_ | Comma- or semicolon-separated list of directories the server is allowed to read policies from. **When unset, file-based tools refuse to read from disk.** |
|
|
245
246
|
| `OPA_MCP_LOG_FILE` | `<tmpdir>/orygn-opa-mcp.log` | Path the server appends logs to. The server never writes to stdout; that channel is reserved for the MCP protocol. |
|
|
246
247
|
| `OPA_MCP_LOG_LEVEL` | `info` | One of `debug`, `info`, `warn`, `error`. |
|
|
@@ -412,11 +413,55 @@ the tasks agents are actually asked to do.
|
|
|
412
413
|
| `rego_format_write` | Run `opa fmt --write` to canonically format one or more Rego files or directories in place. Use `dryRun: true` to list which files would change without modifying them. Validates all files parse successfully before writing any. Supports `regoV1`, `v0Compatible`, and `v1Compatible` flags. Only requires `opa`. |
|
|
413
414
|
| `rego_policy_diff` | Evaluate the same query against two policies in parallel and compare the results. Returns `equal: true/false`, the raw value from each side (`resultA`/`resultB`), and `changedPaths` -- dot/bracket JSON paths that differ. Each side takes inline source or a file/directory path. Useful for verifying refactor equivalence or mapping divergence between two policy versions. |
|
|
414
415
|
|
|
415
|
-
### Category F:
|
|
416
|
+
### Category F: Conftest (configuration policy testing)
|
|
416
417
|
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
418
|
+
Test Kubernetes manifests, Terraform plans, Dockerfiles, Helm charts, and any
|
|
419
|
+
YAML/JSON/HCL/TOML/INI against Rego policies using
|
|
420
|
+
[conftest](https://www.conftest.dev/). Requires `conftest` on `PATH` or
|
|
421
|
+
`CONFTEST_BINARY` set; all four tools return `CONFTEST_NOT_FOUND` otherwise.
|
|
422
|
+
|
|
423
|
+
| Tool | What it does |
|
|
424
|
+
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
425
|
+
| `conftest_test` | Evaluate configuration files against policies with `conftest test`. Accepts file paths or `inlineConfig` (inline YAML/JSON/HCL/etc) and `policy` path or `inlinePolicy` source. Returns per-file pass/fail/warn results and a summary. |
|
|
426
|
+
| `conftest_verify` | Run `test_*` rules inside `*_test.rego` files to verify the policies themselves are correct. Equivalent to `opa test` but using conftest's policy-loading machinery. |
|
|
427
|
+
| `conftest_pull` | Pull a policy bundle from an OCI registry or Git repo into a local directory with `conftest pull`. The target directory need not exist; conftest creates it. |
|
|
428
|
+
| `conftest_push` | Package a local policy directory as an OCI artifact and push to a registry with `conftest push`. Registry credentials come from the host environment (`docker login`, ORAS keychain, etc.) -- credentials are never passed through tools. |
|
|
429
|
+
|
|
430
|
+
#### Featured: `conftest_test` with inline config
|
|
431
|
+
|
|
432
|
+
```jsonc
|
|
433
|
+
// Input
|
|
434
|
+
{
|
|
435
|
+
"inlineConfig": "apiVersion: v1\nkind: Pod\nspec:\n containers:\n - name: app\n image: nginx:latest",
|
|
436
|
+
"inlinePolicy": "package main\ndeny[msg] { input.spec.containers[_].image == \"nginx:latest\"; msg := \"pin your image tag\" }"
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
// Output
|
|
440
|
+
{
|
|
441
|
+
"ok": true,
|
|
442
|
+
"data": {
|
|
443
|
+
"passed": false,
|
|
444
|
+
"results": [
|
|
445
|
+
{
|
|
446
|
+
"filename": "<inline>",
|
|
447
|
+
"namespace": "main",
|
|
448
|
+
"successes": 0,
|
|
449
|
+
"failures": [{ "msg": "pin your image tag" }],
|
|
450
|
+
"warnings": [],
|
|
451
|
+
"skipped": [],
|
|
452
|
+
"exceptions": []
|
|
453
|
+
}
|
|
454
|
+
],
|
|
455
|
+
"summary": { "passed": 0, "failed": 1, "warnings": 0, "skipped": 0 }
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
### Category G: Meta
|
|
461
|
+
|
|
462
|
+
| Tool | What it does |
|
|
463
|
+
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
464
|
+
| `mcp_server_info` | Return server name, version, resolved `opa`/`regal`/`conftest` versions, transport type, and Node.js version in one call. Useful for verifying which server instance the agent is connected to. |
|
|
420
465
|
|
|
421
466
|
## Prompts
|
|
422
467
|
|
|
@@ -662,7 +707,7 @@ Dependabot or a manual PR.
|
|
|
662
707
|
|
|
663
708
|
## License
|
|
664
709
|
|
|
665
|
-
[MIT](./LICENSE) © Orygn LLC
|
|
710
|
+
[MIT](./LICENSE) © [Orygn LLC](https://orygn.tech)
|
|
666
711
|
|
|
667
712
|
`@orygn/opa-mcp` is an independent project. It is not affiliated with,
|
|
668
713
|
endorsed by, or sponsored by the Open Policy Agent project, the Cloud
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAiC1C,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAiC1C,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAiD/C;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAgBxE;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAC5C,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAMA"}
|
package/dist/cli.js
CHANGED
|
@@ -30,6 +30,7 @@ export function formatHelp(col) {
|
|
|
30
30
|
const rows = [
|
|
31
31
|
['OPA_BINARY', 'opa binary path', 'opa'],
|
|
32
32
|
['REGAL_BINARY', 'regal binary path', 'regal'],
|
|
33
|
+
['CONFTEST_BINARY', 'conftest binary path', 'conftest'],
|
|
33
34
|
['OPA_URL', 'OPA server base URL', 'http://localhost:8181'],
|
|
34
35
|
['OPA_TOKEN', 'OPA authentication token', ''],
|
|
35
36
|
['OPA_MCP_ALLOWED_PATHS', 'allowed filesystem roots, comma or semicolon separated', ''],
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
8
8
|
opaBinary: z.ZodDefault<z.ZodString>;
|
|
9
9
|
/** Path to the `regal` binary. Defaults to `regal` on PATH. */
|
|
10
10
|
regalBinary: z.ZodDefault<z.ZodString>;
|
|
11
|
+
/** Path to the `conftest` binary. Defaults to `conftest` on PATH. */
|
|
12
|
+
conftestBinary: z.ZodDefault<z.ZodString>;
|
|
11
13
|
/** Hard timeout in ms for any spawned subprocess (opa, regal). */
|
|
12
14
|
subprocessTimeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
13
15
|
/** HTTP request timeout for OPA REST API calls. */
|
|
@@ -33,6 +35,7 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
33
35
|
opaUrl: string;
|
|
34
36
|
opaBinary: string;
|
|
35
37
|
regalBinary: string;
|
|
38
|
+
conftestBinary: string;
|
|
36
39
|
subprocessTimeoutMs: number;
|
|
37
40
|
httpTimeoutMs: number;
|
|
38
41
|
allowedPaths: string[];
|
|
@@ -45,6 +48,7 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
45
48
|
opaToken?: string | undefined;
|
|
46
49
|
opaBinary?: string | undefined;
|
|
47
50
|
regalBinary?: string | undefined;
|
|
51
|
+
conftestBinary?: string | undefined;
|
|
48
52
|
subprocessTimeoutMs?: number | undefined;
|
|
49
53
|
httpTimeoutMs?: number | undefined;
|
|
50
54
|
allowedPaths?: string[] | undefined;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,YAAY;IAChB,wEAAwE;;IAGxE,2EAA2E;;IAG3E,2DAA2D;;IAG3D,+DAA+D;;IAG/D,kEAAkE;;IAGlE,mDAAmD;;IAGnD;;;;;OAKG;;IAGH,uEAAuE;;IAGvE,qCAAqC;;IAGrC;;;;OAIG
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,YAAY;IAChB,wEAAwE;;IAGxE,2EAA2E;;IAG3E,2DAA2D;;IAG3D,+DAA+D;;IAG/D,qEAAqE;;IAGrE,kEAAkE;;IAGlE,mDAAmD;;IAGnD;;;;;OAKG;;IAGH,uEAAuE;;IAGvE,qCAAqC;;IAGrC;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;EAEH,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAyBlD,wBAAgB,UAAU,IAAI,MAAM,CAgCnC"}
|
package/dist/config.js
CHANGED
|
@@ -17,6 +17,8 @@ const ConfigSchema = z.object({
|
|
|
17
17
|
opaBinary: z.string().default('opa'),
|
|
18
18
|
/** Path to the `regal` binary. Defaults to `regal` on PATH. */
|
|
19
19
|
regalBinary: z.string().default('regal'),
|
|
20
|
+
/** Path to the `conftest` binary. Defaults to `conftest` on PATH. */
|
|
21
|
+
conftestBinary: z.string().default('conftest'),
|
|
20
22
|
/** Hard timeout in ms for any spawned subprocess (opa, regal). */
|
|
21
23
|
subprocessTimeoutMs: z.coerce.number().int().positive().default(30_000),
|
|
22
24
|
/** HTTP request timeout for OPA REST API calls. */
|
|
@@ -53,6 +55,7 @@ const ENV_VAR_NAMES = {
|
|
|
53
55
|
opaToken: 'OPA_TOKEN',
|
|
54
56
|
opaBinary: 'OPA_BINARY',
|
|
55
57
|
regalBinary: 'REGAL_BINARY',
|
|
58
|
+
conftestBinary: 'CONFTEST_BINARY',
|
|
56
59
|
subprocessTimeoutMs: 'OPA_MCP_TIMEOUT_MS',
|
|
57
60
|
httpTimeoutMs: 'OPA_MCP_HTTP_TIMEOUT_MS',
|
|
58
61
|
allowedPaths: 'OPA_MCP_ALLOWED_PATHS',
|
|
@@ -67,6 +70,7 @@ export function loadConfig() {
|
|
|
67
70
|
opaToken: process.env['OPA_TOKEN'],
|
|
68
71
|
opaBinary: process.env['OPA_BINARY'],
|
|
69
72
|
regalBinary: process.env['REGAL_BINARY'],
|
|
73
|
+
conftestBinary: process.env['CONFTEST_BINARY'],
|
|
70
74
|
subprocessTimeoutMs: process.env['OPA_MCP_TIMEOUT_MS'],
|
|
71
75
|
httpTimeoutMs: process.env['OPA_MCP_HTTP_TIMEOUT_MS'],
|
|
72
76
|
allowedPaths,
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,WAAW,kBAAkB,CAAC;AAC3C,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,WAAW,kBAAkB,CAAC;AAC3C,eAAO,MAAM,cAAc,WAAW,CAAC"}
|
package/dist/constants.js
CHANGED
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC;AAC3C,MAAM,CAAC,MAAM,cAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC;AAC3C,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import type { Config } from '../config.js';
|
|
2
|
+
import { type SpawnResult } from './subprocess.js';
|
|
3
|
+
/**
|
|
4
|
+
* A single denial or warning message returned by conftest. The `metadata`
|
|
5
|
+
* field carries any structured data attached via the `{"msg": ..., ...}`
|
|
6
|
+
* violation object form -- it is absent when the rule returned a plain string.
|
|
7
|
+
*/
|
|
8
|
+
export interface ConftestMessage {
|
|
9
|
+
msg: string;
|
|
10
|
+
metadata?: Record<string, unknown>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Per-file test result. One entry is emitted for each (filename, namespace)
|
|
14
|
+
* pair that conftest evaluates.
|
|
15
|
+
*/
|
|
16
|
+
export interface ConftestFileResult {
|
|
17
|
+
filename: string;
|
|
18
|
+
namespace: string;
|
|
19
|
+
successes: number;
|
|
20
|
+
failures: ConftestMessage[];
|
|
21
|
+
warnings: ConftestMessage[];
|
|
22
|
+
skipped: ConftestMessage[];
|
|
23
|
+
exceptions: string[];
|
|
24
|
+
}
|
|
25
|
+
/** Input for `conftest test`. */
|
|
26
|
+
export interface ConftestTestInput {
|
|
27
|
+
/** Absolute paths to configuration files to evaluate. */
|
|
28
|
+
files?: string[];
|
|
29
|
+
/** Inline configuration content. Mutually exclusive with `files`. */
|
|
30
|
+
inlineConfig?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Parser used for inline config content. Determines the temp file
|
|
33
|
+
* extension (yaml → .yaml, json → .json, dockerfile → Dockerfile, etc.).
|
|
34
|
+
* Defaults to `yaml` when not specified.
|
|
35
|
+
*/
|
|
36
|
+
inlineConfigParser?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Absolute path to a directory or file containing Rego policies.
|
|
39
|
+
* Defaults to `./policy` (conftest's convention). Mutually exclusive
|
|
40
|
+
* with `inlinePolicy`.
|
|
41
|
+
*/
|
|
42
|
+
policy?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Inline Rego policy source. Written to a temp directory and passed as
|
|
45
|
+
* `--policy`. Mutually exclusive with `policy`.
|
|
46
|
+
*/
|
|
47
|
+
inlinePolicy?: string;
|
|
48
|
+
/** Namespace to test. Defaults to `main`. */
|
|
49
|
+
namespace?: string;
|
|
50
|
+
/** Test policies in all discovered namespaces. */
|
|
51
|
+
allNamespaces?: boolean;
|
|
52
|
+
/** Absolute paths to data directories for Rego policies. */
|
|
53
|
+
data?: string[];
|
|
54
|
+
/** Combine all config files into a single document before testing. */
|
|
55
|
+
combine?: boolean;
|
|
56
|
+
/** Return exit 1 when only warnings are present (no hard failures). */
|
|
57
|
+
failOnWarn?: boolean;
|
|
58
|
+
}
|
|
59
|
+
/** Input for `conftest verify`. */
|
|
60
|
+
export interface ConftestVerifyInput {
|
|
61
|
+
/** Absolute path to the policy directory to verify. */
|
|
62
|
+
policy?: string;
|
|
63
|
+
/** Namespace to verify. Defaults to `main`. */
|
|
64
|
+
namespace?: string;
|
|
65
|
+
/** Absolute paths to data directories. */
|
|
66
|
+
data?: string[];
|
|
67
|
+
}
|
|
68
|
+
/** Input for `conftest pull`. */
|
|
69
|
+
export interface ConftestPullInput {
|
|
70
|
+
/** Policy URL to pull from (OCI: `oci://registry/repo:tag`). */
|
|
71
|
+
url: string;
|
|
72
|
+
/** Local directory to store pulled policies. Defaults to `./policy`. */
|
|
73
|
+
policy?: string;
|
|
74
|
+
}
|
|
75
|
+
/** Input for `conftest push`. */
|
|
76
|
+
export interface ConftestPushInput {
|
|
77
|
+
/** OCI repository URL to push policies to. */
|
|
78
|
+
repository: string;
|
|
79
|
+
/** Local directory containing policies to push. Defaults to `./policy`. */
|
|
80
|
+
policy?: string;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Wrapper around the local `conftest` binary.
|
|
84
|
+
*
|
|
85
|
+
* Methods do not throw on conftest-side errors -- the exit code on the
|
|
86
|
+
* returned `SpawnResult` is the signal. Inline source is written to temp
|
|
87
|
+
* files/directories because conftest does not read from stdin.
|
|
88
|
+
*/
|
|
89
|
+
export declare class ConftestCli {
|
|
90
|
+
private readonly config;
|
|
91
|
+
constructor(config: Config);
|
|
92
|
+
/**
|
|
93
|
+
* Verify the binary is present and return its version string. Returns
|
|
94
|
+
* null if the binary is unreachable or the version output is malformed.
|
|
95
|
+
*/
|
|
96
|
+
version(signal?: AbortSignal): Promise<string | null>;
|
|
97
|
+
/**
|
|
98
|
+
* Run `conftest test` against one or more configuration files. Always
|
|
99
|
+
* uses `--output=json` so output is machine-readable.
|
|
100
|
+
*
|
|
101
|
+
* When `inlineConfig` or `inlinePolicy` are provided, temp files are
|
|
102
|
+
* created and cleaned up automatically. Temp file paths in the JSON
|
|
103
|
+
* output are replaced with `<inline>` before the result is returned so
|
|
104
|
+
* callers never see implementation-internal paths.
|
|
105
|
+
*/
|
|
106
|
+
test(input: ConftestTestInput, signal?: AbortSignal): Promise<SpawnResult>;
|
|
107
|
+
/**
|
|
108
|
+
* Run `conftest verify` -- executes the `_test.rego` tests inside the
|
|
109
|
+
* policy directory to verify the policies themselves.
|
|
110
|
+
*/
|
|
111
|
+
verify(input: ConftestVerifyInput, signal?: AbortSignal): Promise<SpawnResult>;
|
|
112
|
+
/**
|
|
113
|
+
* Pull policies from a remote OCI or Git location into a local
|
|
114
|
+
* directory. Stdout is minimal; errors go to stderr.
|
|
115
|
+
*/
|
|
116
|
+
pull(input: ConftestPullInput, signal?: AbortSignal): Promise<SpawnResult>;
|
|
117
|
+
/**
|
|
118
|
+
* Push the local policy bundle to a remote OCI registry. Uses
|
|
119
|
+
* credentials from the host environment (docker login, ORAS, etc.).
|
|
120
|
+
*/
|
|
121
|
+
push(input: ConftestPushInput, signal?: AbortSignal): Promise<SpawnResult>;
|
|
122
|
+
/**
|
|
123
|
+
* Run `conftest` with the given argv. Tools should prefer the typed
|
|
124
|
+
* methods above; this is the escape hatch for unusual invocations.
|
|
125
|
+
*/
|
|
126
|
+
run(args: string[], signal?: AbortSignal): Promise<SpawnResult>;
|
|
127
|
+
/**
|
|
128
|
+
* Create temp assets for inline inputs, run `fn`, then clean up.
|
|
129
|
+
* Returns whatever `fn` returns.
|
|
130
|
+
*/
|
|
131
|
+
private withTempAssets;
|
|
132
|
+
/**
|
|
133
|
+
* Replace the temp inline-config path and temp inline-policy directory
|
|
134
|
+
* path in the stdout JSON with `<inline>` so callers never see
|
|
135
|
+
* implementation-internal temp paths.
|
|
136
|
+
*
|
|
137
|
+
* conftest emits paths inside a JSON array, so each backslash in the
|
|
138
|
+
* path is JSON-encoded as `\\`. We match the JSON-encoded form of the
|
|
139
|
+
* path to handle Windows paths correctly (forward slashes need no
|
|
140
|
+
* special treatment).
|
|
141
|
+
*/
|
|
142
|
+
private sanitizeOutput;
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=conftest-cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conftest-cli.d.ts","sourceRoot":"","sources":["../../src/lib/conftest-cli.ts"],"names":[],"mappings":"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"}
|