Documentation
¶
Index ¶
- Variables
- type EnqueueStacksResult
- type ScanOrchestrator
- func (o *ScanOrchestrator) EnqueueStacks(ctx context.Context, scan *queue.Scan, projectCfg *config.ProjectConfig, ...) (*EnqueueStacksResult, error)
- func (o *ScanOrchestrator) StartAndEnqueue(ctx context.Context, projectCfg *config.ProjectConfig, ...) (*queue.Scan, *EnqueueStacksResult, error)
- func (o *ScanOrchestrator) StartAndEnqueueStacks(ctx context.Context, projectCfg *config.ProjectConfig, stacks []string, ...) (*queue.Scan, *EnqueueStacksResult, error)
- func (o *ScanOrchestrator) StartScan(ctx context.Context, projectCfg *config.ProjectConfig, ...) (*queue.Scan, []string, error)
- func (o *ScanOrchestrator) Stop()
Constants ¶
This section is empty.
Variables ¶
var ErrNoStacksEnqueued = errors.New("no stacks enqueued")
ErrNoStacksEnqueued is returned when all stacks were skipped or failed to enqueue.
Functions ¶
This section is empty.
Types ¶
type EnqueueStacksResult ¶
EnqueueStacksResult holds the outcome of an enqueue operation.
type ScanOrchestrator ¶
type ScanOrchestrator struct {
// contains filtered or unexported fields
}
ScanOrchestrator handles the full lifecycle of starting a scan: acquiring the project lock, cloning the workspace, discovering stacks, detecting versions, and spawning the lock renewal goroutine.
func (*ScanOrchestrator) EnqueueStacks ¶
func (o *ScanOrchestrator) EnqueueStacks(ctx context.Context, scan *queue.Scan, projectCfg *config.ProjectConfig, stacks []string, trigger, commit, actor string) (*EnqueueStacksResult, error)
EnqueueStacks sets the scan total, batch-enqueues stack scans, and adjusts scan counters for any skips or failures. Returns ErrNoStacksEnqueued if nothing was successfully enqueued (scan is auto-cancelled in that case).
func (*ScanOrchestrator) StartAndEnqueue ¶
func (o *ScanOrchestrator) StartAndEnqueue(ctx context.Context, projectCfg *config.ProjectConfig, trigger, commit, actor string) (*queue.Scan, *EnqueueStacksResult, error)
StartAndEnqueue starts a scan and enqueues all discovered stacks.
func (*ScanOrchestrator) StartAndEnqueueStacks ¶
func (o *ScanOrchestrator) StartAndEnqueueStacks(ctx context.Context, projectCfg *config.ProjectConfig, stacks []string, trigger, commit, actor string) (*queue.Scan, *EnqueueStacksResult, error)
StartAndEnqueueStacks starts a scan and enqueues a specific stack list.
func (*ScanOrchestrator) StartScan ¶
func (o *ScanOrchestrator) StartScan(ctx context.Context, projectCfg *config.ProjectConfig, trigger, commit, actor string) (*queue.Scan, []string, error)
StartScan acquires a project lock (cancelling an in-flight scan if allowed), clones the workspace, discovers stacks, detects versions, and spawns a background lock renewal goroutine. On any failure, the scan is marked failed.
func (*ScanOrchestrator) Stop ¶
func (o *ScanOrchestrator) Stop()
Stop cancels all in-flight lock renewal goroutines and waits for them to exit.