Documentation
¶
Index ¶
- type FolderAdapter
- func (f *FolderAdapter) AddCommandParams(cmd *cobra.Command)
- func (f *FolderAdapter) DryRun(ctx tcontext.TransferMetadata, iter iterator.SBOMIterator) error
- func (f *FolderAdapter) FetchSBOMs(ctx tcontext.TransferMetadata) (iterator.SBOMIterator, error)
- func (f *FolderAdapter) Monitor(ctx tcontext.TransferMetadata) (iterator.SBOMIterator, error)
- func (f *FolderAdapter) ParseAndValidateParams(cmd *cobra.Command) error
- func (f *FolderAdapter) UploadSBOMs(ctx tcontext.TransferMetadata, iterator iterator.SBOMIterator) error
- type FolderConfig
- type FolderIterator
- type FolderReporter
- type ParallelFetcher
- type SBOMFetcher
- type SequentialFetcher
- type WatcherFetcher
- type WatcherIterator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FolderAdapter ¶
type FolderAdapter struct {
Config *FolderConfig
Role types.AdapterRole // "input" or "output" adapter type
Fetcher SBOMFetcher
}
FolderAdapter handles fetching SBOMs from folders
func (*FolderAdapter) AddCommandParams ¶
func (f *FolderAdapter) AddCommandParams(cmd *cobra.Command)
AddCommandParams adds Folder-specific CLI flags
func (*FolderAdapter) DryRun ¶
func (f *FolderAdapter) DryRun(ctx tcontext.TransferMetadata, iter iterator.SBOMIterator) error
DryRun for Folder Adapter: Displays all fetched SBOMs from folder adapter
func (*FolderAdapter) FetchSBOMs ¶
func (f *FolderAdapter) FetchSBOMs(ctx tcontext.TransferMetadata) (iterator.SBOMIterator, error)
FetchSBOMs initializes the Folder SBOM iterator using the unified method
func (*FolderAdapter) Monitor ¶ added in v0.0.3
func (f *FolderAdapter) Monitor(ctx tcontext.TransferMetadata) (iterator.SBOMIterator, error)
func (*FolderAdapter) ParseAndValidateParams ¶
func (f *FolderAdapter) ParseAndValidateParams(cmd *cobra.Command) error
ParseAndValidateParams validates the Folder adapter params
func (*FolderAdapter) UploadSBOMs ¶
func (f *FolderAdapter) UploadSBOMs(ctx tcontext.TransferMetadata, iterator iterator.SBOMIterator) error
OutputSBOMs should return an error since Folder does not support SBOM uploads
type FolderConfig ¶
type FolderConfig struct {
FolderPath string
Recursive bool
ProcessingMode types.ProcessingMode
Daemon bool
}
func NewFolderConfig ¶
func NewFolderConfig() *FolderConfig
type FolderIterator ¶
type FolderIterator struct {
// contains filtered or unexported fields
}
FolderIterator iterates over SBOMs found in a folder
func NewFolderIterator ¶
func NewFolderIterator(sboms []*iterator.SBOM) *FolderIterator
NewFolderIterator initializes and returns a new FolderIterator
func (*FolderIterator) Next ¶
func (it *FolderIterator) Next(ctx tcontext.TransferMetadata) (*iterator.SBOM, error)
Next retrieves the next SBOM in the iteration
type FolderReporter ¶
type FolderReporter struct {
// contains filtered or unexported fields
}
func NewFolderReporter ¶
func NewFolderReporter(verbose bool, inputDir, folderPath string) *FolderReporter
func (*FolderReporter) DryRun ¶
func (r *FolderReporter) DryRun(ctx tcontext.TransferMetadata, iter iterator.SBOMIterator) error
type ParallelFetcher ¶
type ParallelFetcher struct{}
func (*ParallelFetcher) Fetch ¶
func (f *ParallelFetcher) Fetch(ctx tcontext.TransferMetadata, config *FolderConfig) (iterator.SBOMIterator, error)
Fetch scans the folder for SBOMs concurrently. It walks through the directory to collect file paths, then spawns a fixed number of worker goroutines to read and process those files concurrently.
type SBOMFetcher ¶
type SBOMFetcher interface {
Fetch(ctx tcontext.TransferMetadata, config *FolderConfig) (iterator.SBOMIterator, error)
}
type SequentialFetcher ¶
type SequentialFetcher struct{}
func (*SequentialFetcher) Fetch ¶
func (f *SequentialFetcher) Fetch(ctx tcontext.TransferMetadata, config *FolderConfig) (iterator.SBOMIterator, error)
SequentialFetcher Fetch() scans the folder for SBOMs one-by-one 1. Walks through the folder file-by-file 2. Detects valid SBOMs using source.IsSBOMFile(). 3. Reads the content & adds it to the iterator along with path.
type WatcherFetcher ¶ added in v0.0.3
type WatcherFetcher struct{}
func NewWatcherFetcher ¶ added in v0.0.3
func NewWatcherFetcher() *WatcherFetcher
func (*WatcherFetcher) Fetch ¶ added in v0.0.3
func (f *WatcherFetcher) Fetch(ctx tcontext.TransferMetadata, config *FolderConfig) (iterator.SBOMIterator, error)
type WatcherIterator ¶ added in v0.0.3
type WatcherIterator struct {
// contains filtered or unexported fields
}
watchiterator collects sbom on the real time via channel
func (*WatcherIterator) Next ¶ added in v0.0.3
func (it *WatcherIterator) Next(ctx tcontext.TransferMetadata) (*iterator.SBOM, error)