@@ -79,7 +79,7 @@ C4Context
7979 Rel(user, trustify, "Request Compliance<br/>View compliance status", "API/GUI")
8080 Rel(trustify, conforma, "Executes policy validation", "Spawn Process")
8181 Rel(conforma, policyRepo, "Fetches policies", "Git/HTTPS")
82- Rel(trustify, s3, "3s", S3/Minio Storager, trustify, $offsetX="-30", $offsetY="+20 ")
82+ Rel(trustify, s3, "Stores reports", "S3 API ")
8383
8484 UpdateRelStyle(trustify, conforma, $offsetX="-40")
8585 UpdateRelStyle(user, trustify, $offsetX="-50", $offsetY="20")
@@ -446,43 +446,19 @@ modules/ec/
4464466 . ** Extensibility** : Module design allows future enhancement (webhooks, notifications, etc.)
4474477 . ** Open Source** : Conforma is open-source and actively maintained
448448
449- ### Negative
449+ ### Trade-offs and Risks
450450
451- 1 . ** External Dependency** : Requires Conforma CLI to be installed on Trustify servers
452- 2 . ** Process Overhead** : Spawning external processes has performance implications
453- 3 . ** Error Handling Complexity** : Must handle CLI failures, timeouts, and malformed output
454- 4 . ** Version Management** : Need to track Conforma version compatibility
455- 5 . ** Resource Usage** : Multiple concurrent validations may consume significant resources
456- 6 . ** No Native API** : Until Conforma provides an API the CLI integration is less efficient than native API integration.
457-
458- ### Risks and Mitigations
459-
460- | Risk | Mitigation |
461- | ----------------------------------- | --------------------------------------------------------------- |
462- | Conforma CLI unavailable/crashes | Implement health checks, graceful error handling, retry logic |
463- | Long execution times block requests | Use async execution with configurable timeouts (default: 5 min) |
464- | Large SBOMs cause memory issues | Stream SBOM to temp file, pass file path to Conforma |
465- | CLI injection attacks | Sanitize all inputs, use process args array (not shell strings) |
466- | Version incompatibility | Document required Conforma version, validate on startup |
467- | Storage costs for reports | Implement retention policies, compress reports |
468-
469- ### Migration Path
470-
471- When Conforma REST API becomes available:
472-
473- 1 . Implement API client alongside CLI executor
474- 2 . Add configuration flag to select execution mode
475- 3 . Gradually migrate workloads to API mode
476- 4 . Deprecate CLI mode after stability period
477- 5 . Remove CLI executor in future major version
478-
479- ### Performance Considerations
480-
481- - ** Concurrent Limits** : Implement semaphore to limit parallel Conforma executions (default: 5)
482- - ** Timeout** : Default 5-minute timeout, configurable per policy
483- - ** Caching** : Cache policy files to avoid repeated Git fetches
484- - ** Async** : All operations non-blocking using Tokio runtime
485- - ** Streaming** : Stream results incrementally for large reports
451+ | Trade-off / Risk | Impact | Mitigation |
452+ | ------------------------------- | ---------------------------------------- | -------------------------------------------------------------------------- |
453+ | External CLI dependency | Requires Conforma installed on servers | Health checks, graceful error handling, retry logic |
454+ | Process spawning overhead | Performance implications per validation | Async execution with configurable timeouts (default: 5 min) |
455+ | Error handling complexity | CLI failures, timeouts, malformed output | Distinguish validation failures from execution errors; actionable messages |
456+ | Version management | Conforma version compatibility | Document required version, validate on startup |
457+ | Resource usage under load | Concurrent validations consume resources | Semaphore limits (default: 5), queueing, monitoring |
458+ | No native API yet | CLI less efficient than REST integration | Adapter pattern for future API migration (see Phase 3) |
459+ | Large SBOMs cause memory issues | Out-of-memory during validation | Stream SBOM to temp file, pass file path to Conforma |
460+ | CLI injection attacks | Security vulnerability | Sanitize all inputs, use process args array (not shell strings) |
461+ | Storage costs for reports | Growing storage over time | Retention policies, report compression |
486462
487463## Alternatives Considered
488464
@@ -556,7 +532,6 @@ When Conforma REST API becomes available:
556532 - [ ] Policy reference create/edit form (Git URL, OCI ref, auth config)
557533 - [ ] Policy reference delete confirmation
558534 - [ ] Test policy connectivity button (validate URL is reachable)
559- - [ ] Policy delete confirmation
560535- [ ] Add report download functionality (JSON/HTML)
561536- [ ] Create detailed report preview modal
562537- [ ] Implement loading indicators for validation execution
0 commit comments