You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,6 +42,7 @@
42
42
- Added a release installer script that detects the local platform, verifies the selected artifact against `SHA256SUMS` and `RELEASE_MANIFEST.json`, and is smoke-tested by the release gate.
43
43
- Added `openexit completion` plus release completion assets for Bash, Zsh, Fish, and PowerShell.
44
44
- Extended release manifests and `SHA256SUMS` to cover installer and shell-completion assets as well as platform binaries.
45
+
- Added `openexit sbom` and a verified release `SBOM.cdx.json` asset with CycloneDX JSON dependency metadata.
45
46
- Added `make release-check` and wired the draft-release workflow to run the full release gate before packaging artifacts.
46
47
- Updated push CI to run the same release readiness gate, including smoke pipelines and bundle verification.
47
48
- Updated CI and release workflows to Node.js 24-native GitHub Actions.
Copy file name to clipboardExpand all lines: README.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,7 +51,7 @@ Release candidates can be built locally with:
51
51
make release-check VERSION=0.1.0
52
52
```
53
53
54
-
This runs the release gate, writes OS/architecture binaries, writes `dist/SHA256SUMS`, writes `dist/RELEASE_MANIFEST.json`, and verifies the release artifacts.
54
+
This runs the release gate, writes OS/architecture binaries, writes `dist/SHA256SUMS`, writes `dist/RELEASE_MANIFEST.json`, writes `dist/SBOM.cdx.json`, and verifies the release artifacts.
55
55
56
56
Refresh the checked-in Datadog example project with:
The Datadog, GitHub, Okta, Auth0, Cloudflare, Akamai, OpenAI, and Anthropic collectors are read-only. API tokens are read from environment variables or local credential files, are not printed, and are not stored.
@@ -140,6 +141,7 @@ Included in the current implementation:
140
141
- Offline release artifact verification for binaries and auxiliary assets against `RELEASE_MANIFEST.json` and optional `SHA256SUMS`.
141
142
- Release installer script that selects the current platform binary and verifies it before installation.
142
143
- Shell completion generation for Bash, Zsh, Fish, and PowerShell, including release-provided completion assets.
144
+
- CycloneDX JSON SBOM generation for the OpenExit binary and Go module dependencies.
143
145
- Evidence bundle path-safety checks that reject symlinks in exported project sections.
144
146
- No-op assist provider and explicit opt-in LiteLLM assist.
145
147
- GitHub Enterprise to Forgejo assessment path with fixture import and live repository inventory collection.
Copy file name to clipboardExpand all lines: docs/cli.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -41,6 +41,8 @@ The checked-in Datadog example can be refreshed with `make example VERSION=0.1.0
41
41
42
42
`openexit completion bash|zsh|fish|powershell` prints shell completion scripts. Release artifacts also include `openexit.bash`, `_openexit`, `openexit.fish`, and `openexit.ps1` so package managers and manual installs can wire completion without rebuilding from source.
43
43
44
+
`openexit sbom --out SBOM.cdx.json` writes a CycloneDX JSON SBOM for the current OpenExit binary. It records the stamped OpenExit version, commit, build date, Go toolchain version, and Go module dependencies reported by the binary build info. Release builds include `SBOM.cdx.json` and cover it with both `RELEASE_MANIFEST.json` and `SHA256SUMS`.
45
+
44
46
Generate individual artifacts with `openexit generate --artifact <name>`. The primary Datadog path supports `mapping`, `assessment`, `risk-register`, `manual-review`, `cost-drivers`, `target-architecture`, `acceptance-criteria`, `rollback-plan`, `runbook`, `restore-drill-checklist`, `alert-shadowing-plan`, `migration-plan`, `grafana-dashboards`, `prometheus-rules`, `opentelemetry`, and `argocd`. The GitHub Enterprise path also supports `forgejo-migration-candidate`; the identity path also supports `realm-client-candidate`; the edge path also supports `vcl-candidates`, `haproxy-candidates`, and `coraza-rule-candidates`; the AI provider path also supports `litellm-config-candidate`.
45
47
46
48
The GitHub Enterprise to Forgejo fixture path uses local JSON metadata:
-[ ]`make verify VERSION=0.1.0` passes, including CLI smoke pipelines.
44
45
-[ ]`make lint` runs `gofmt`, `golangci-lint`, and `go vet`.
45
-
-[ ]`make release-dist VERSION=0.1.0` produces binaries, `dist/SHA256SUMS`, `dist/RELEASE_MANIFEST.json`, `dist/install.sh`, and completion assets `openexit.bash`, `_openexit`, `openexit.fish`, and `openexit.ps1`.
46
+
-[ ]`make release-dist VERSION=0.1.0` produces binaries, `dist/SHA256SUMS`, `dist/RELEASE_MANIFEST.json`, `dist/SBOM.cdx.json`, `dist/install.sh`, and completion assets `openexit.bash`, `_openexit`, `openexit.fish`, and `openexit.ps1`.
46
47
-[ ]`openexit verify-release dist/RELEASE_MANIFEST.json --dist dist --require-checksums` passes and covers binaries, `install.sh`, and completion assets; it fails when a release artifact is tampered with.
47
48
-[ ]`OPENEXIT_VERSION=0.1.0 OPENEXIT_BASE_URL=$PWD/dist BIN_DIR=$(mktemp -d)/bin sh scripts/install.sh` installs a verified local release binary and `openexit version` reports `0.1.0`.
48
49
-[ ]`make example VERSION=0.1.0-dev` refreshes `examples/datadog-to-grafana/output/` and exports `examples/datadog-to-grafana/openexit-example.zip`.
@@ -55,6 +56,7 @@ The AI provider path is complete for local fixture assessment workflows and incl
55
56
-[ ]`openexit run --project <demo> --export --out <zip>` completes a collected project through assessment, mapping, generation, validation, status reporting, and bundle export.
56
57
-[ ]`openexit status --project <demo>` reports inventory, assessment, mapping, generated artifacts, validation status, export readiness, and matching `--json` output.
57
58
-[ ]`openexit completion bash`, `zsh`, `fish`, and `powershell` each generate non-empty shell completion scripts.
59
+
-[ ]`openexit sbom --out SBOM.cdx.json` generates valid CycloneDX JSON with OpenExit build metadata and Go module dependencies.
58
60
-[ ]`README.md`, `docs/cli.md`, `docs/security.md`, and this checklist reflect current behavior.
59
61
-[ ]`examples/datadog-to-grafana/README.md` reproduces the primary local demo.
60
62
-[ ]`assessment/openexit.migration-plan.yaml`, `.json`, and `migration-plan.md` are generated by the demo pipeline and included in exported bundles.
@@ -73,7 +75,7 @@ The AI provider path is complete for local fixture assessment workflows and incl
73
75
-[ ] Exported bundle README includes version, commit, build date, bundle timestamp, and candidate warning.
74
76
-[ ] Exported bundle `manifest.json` includes build metadata, project source/target, validation totals, and per-file SHA-256 digests, and validates against `schemas/openexit.evidence-bundle.schema.json`.
75
77
-[ ]`openexit verify-bundle <zip>` passes for exported bundles and fails when an archived file is tampered with.
76
-
-[ ] Release manifest validates against `schemas/openexit.release-manifest.schema.json` and includes version, commit, build date, generation time, artifact type, binary OS/architecture metadata, sizes, and SHA-256 digests.
78
+
-[ ] Release manifest validates against `schemas/openexit.release-manifest.schema.json` and includes version, commit, build date, generation time, artifact type, binary OS/architecture metadata, sizes, and SHA-256 digests, including `SBOM.cdx.json`.
77
79
-[ ] Export refuses symlinks in exported project sections, including when `--force` is used.
78
80
-[ ] No credentials, tokens, passwords, or private keys are present in fixtures, generated files, docs, or bundles.
Copy file name to clipboardExpand all lines: docs/schemas.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ OpenExit schemas live under `schemas/` and mirror the typed Go manifests. Releas
4
4
5
5
Evidence bundle exports include `openexit-evidence/manifest.json`, which follows `schemas/openexit.evidence-bundle.schema.json`. The manifest records OpenExit build metadata, project source/target metadata, validation totals, and SHA-256 digests for exported project files so downstream review tooling can verify a bundle without parsing every human-readable report first.
6
6
7
-
Release builds include `RELEASE_MANIFEST.json`, which follows `schemas/openexit.release-manifest.schema.json`. The manifest records OpenExit build metadata and every release artifact that should be covered by `SHA256SUMS`: platform binaries use `type: binary` with `os` and `arch`, while installer and shell-completion files use `type: asset`.
7
+
Release builds include `RELEASE_MANIFEST.json`, which follows `schemas/openexit.release-manifest.schema.json`. The manifest records OpenExit build metadata and every release artifact that should be covered by `SHA256SUMS`: platform binaries use `type: binary` with `os` and `arch`, while installer, shell-completion, and SBOM files use `type: asset`.
8
8
9
9
Project manifests must use one of the supported source/target pairs: Datadog to Grafana LGTM, GitHub Enterprise to Forgejo, Okta/Auth0 to Keycloak/Zitadel, Cloudflare/Akamai to Varnish/HAProxy/Coraza, or OpenAI/Anthropic to vLLM/LiteLLM.
0 commit comments