-
Notifications
You must be signed in to change notification settings - Fork 0
Feature/osh integration #91
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…hecks and configuration validation implement sequential scan ID discovery for batch processing
… and add OSH_SCAN to InputSourceType enum
…ry processing), configurable backoff, retry limits, retention policies, failure classification and automatic cleanup
…s for retry queue inspection and statistics and manual cleanup operations and polling triggers for troubleshooting
…sitory split, and named constants
…ting, and thread interruption
…all failure types are retryable)
Signed-off-by: Jude Niroshan <[email protected]>
Signed-off-by: Jude Niroshan <[email protected]>
src/main/java/com/redhat/sast/api/service/OshSchedulerService.java
Outdated
Show resolved
Hide resolved
src/main/java/com/redhat/sast/api/service/OshSchedulerService.java
Outdated
Show resolved
Hide resolved
src/main/java/com/redhat/sast/api/service/OshSchedulerService.java
Outdated
Show resolved
Hide resolved
src/main/java/com/redhat/sast/api/service/OshSchedulerService.java
Outdated
Show resolved
Hide resolved
src/main/java/com/redhat/sast/api/service/OshSchedulerService.java
Outdated
Show resolved
Hide resolved
src/main/java/com/redhat/sast/api/service/OshSchedulerService.java
Outdated
Show resolved
Hide resolved
src/main/java/com/redhat/sast/api/service/OshSchedulerService.java
Outdated
Show resolved
Hide resolved
src/main/java/com/redhat/sast/api/config/OshRetryConfiguration.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Jude Niroshan <[email protected]>
Signed-off-by: Jude Niroshan <[email protected]>
…ature/osh-integration
Signed-off-by: Jude Niroshan <[email protected]>
…th large diff upgraded model reviewer to gemini-2.5-flash
|
AI Code Review Skipped: This PR is too large for automated review (diff size exceeds 100KB). |
Signed-off-by: Jude Niroshan <[email protected]>
…ature/osh-integration
Signed-off-by: Jude Niroshan <[email protected]>
|
AI Code Review Skipped: This PR is too large for automated review (diff size exceeds 100KB). |
Signed-off-by: Jude Niroshan <[email protected]>
|
AI Code Review Skipped: This PR is too large for automated review (diff size exceeds 100KB). |
…mary to new type (String) for retryBackoffDuration
…(only try once on initial collection attempt)
|
AI Code Review Skipped: This PR is too large for automated review (diff size exceeds 100KB). |
Signed-off-by: Jude Niroshan <[email protected]>
Signed-off-by: Jude Niroshan <[email protected]>
Signed-off-by: Jude Niroshan <[email protected]>
|
AI Code Review Skipped: This PR is too large for automated review (diff size exceeds 100KB). |
|
AI Code Review Skipped: This PR is too large for automated review (diff size exceeds 100KB). |
|



OshSchedulerServicethat automatically polls OSH for new scans on configured packages with configurable intervals and batch processing. NOTE: currently the packages list is empty, meaning all tasks will get scanned - we should decide on a list.OshClientandOshClientServicewith health checks, JSON/HTML response parsing, and error handling for OSH API interactions.OshJobCreationServicethat converts OSH scan results into SAST-AI workflow jobs, including NVR parsing and metadata extractionOshJsonDownloadServiceto fetch SAST scan results from OSH log files and convert them into processable formatsRetry Algorithm Implementation:
OshSchedulerServicewith incremental scan processing (new scans) and retry processing (failed scans) in a single polling cycleOshRetryConfigurationwith master toggle, configurable max attempts, exponential backoff timing, retention policies, and batch sizing controlsOshRetryServicefor the retry lifecycle - recording failures with classification, fetching retry-eligible scans with backoff enforcement, tracking attempt counts and automated cleanupOshUncollectedScanRepositoryfor core retry operations with database-level locking (FOR UPDATE SKIP LOCKED) for concurrent scheduler safety, andOshRetryStatisticsRepositoryfor monitoring and statistical queriesOshAdminResourcewith comprehensive admin endpoints for retry queue status, statistics, manual cleanup operations, and troubleshooting toolsData Model Extensions:
Jobentity withoshScanIdfield and unique constraints to prevent duplicate processingOshSchedulerCursorentity for tracking polling state and resuming from where it left offOshUncollectedScanentity for retry queue management with attempt tracking, failure classification, and JSON scan data storageJobCreationDtoto support OSH scan data input with transient JSON content handlingKey Capabilities: