Skip to content

Commit 2c202f7

Browse files
committed
Use of a default Policy; Storage system and report_path
1 parent f0403b1 commit 2c202f7

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

docs/adrs/00014-enterprise-contract-integration.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ An EC Wrapper (HTTP service) acts as a proxy between Trustify's EC service and C
3434

3535
Each SBOM + policy pair has a validation state that follows this lifecycle:
3636

37-
- **Pending** — initial state, set when an SBOM is associated with a policy. Indicates no validation has been triggered yet for this SBOM against this policy.
37+
- **Pending** — initial state, indicates no validation has been triggered yet for this SBOM against this policy.
3838
- **In Progress** — a user has triggered validation; the request is being processed. Other users can see this state, preventing duplicate validation runs for the same SBOM + policy pair.
3939
- **Pass** — Conforma validation succeeded; the SBOM satisfies the policy.
4040
- **Fail** — Conforma validation found policy violations; violation details are linked.
@@ -45,10 +45,10 @@ The "In Progress" state serves as a concurrency guard: if a validation is alread
4545
What is stored where
4646

4747
- PostgreSQL: validation status, structured violations (JSONB), summary statistics, foreign keys to SBOM and policy. Indexed on sbom_id, status, executed_at.
48-
- S3/Minio: full raw Conforma JSON report, linked from the DB row via report_url. Keeps DB rows small while preserving audit completeness.
48+
- Storage system: full raw Conforma JSON report, linked from the DB row via report_path. Keeps DB rows small while preserving audit completeness.
4949
- Not stored: the policy definitions themselves. ec_policies stores references (URLs, OCI refs) that Conforma fetches at runtime.
5050

51-
Storing full JSON in S3 rather than only a summary was chosen explicitly to preserve audit completeness — callers can always fetch the raw report. The DB violations JSONB holds enough structure for filtering and dashboards without duplicating the full payload.
51+
Storing full JSON in storage system rather than only a summary was chosen explicitly to preserve audit completeness — callers can always fetch the raw report. The DB violations JSONB holds enough structure for filtering and dashboards without duplicating the full payload.
5252

5353
## Consequences
5454

@@ -294,11 +294,11 @@ sequenceDiagram
294294
alt Pass
295295
VS->>DB: UPDATE ec_validation_results SET status='pass', violations=[]
296296
VS->>S3: store_validation_report(result_id, full_json)
297-
VS->>DB: UPDATE SET report_url = ?
297+
VS->>DB: UPDATE SET ureport_path = ?
298298
else Fail
299299
VS->>DB: UPDATE ec_validation_results SET status='fail', violations=json
300300
VS->>S3: store_validation_report(result_id, full_json)
301-
VS->>DB: UPDATE SET report_url = ?
301+
VS->>DB: UPDATE SET report_part = ?
302302
else Error
303303
VS->>DB: UPDATE ec_validation_results SET status='error', error_message=detail
304304
Note over VS,DB: Validation can be re-triggered (new request will create a new row with status='in_progress')
@@ -325,7 +325,7 @@ sequenceDiagram
325325
- `status` (ENUM) - 'pending', 'in_progress', 'pass', 'fail', 'error'
326326
- `violations` (JSONB) - Structured violation data for querying
327327
- `summary` (JSONB) - Total checks, passed, failed, warnings
328-
- `report_url` (VARCHAR) - S3 URL to detailed report
328+
- `report_path` (VARCHAR) - File system or S3 path to detailed report
329329
- `start_time` (TIMESTAMP)
330330
- `end_time` (TIMESTAMP)
331331
- `conforma_version` (VARCHAR) - Conforma CLI version used (e.g., `v0.8.83`), for reproducibility

0 commit comments

Comments
 (0)