Documentation ¶
Overview ¶
Package cataloger provides the ability to process files from a container image or file system and discover packages (gems, wheels, jars, rpms, debs, etc). Specifically, this package contains both a catalog function to utilize all catalogers defined in child packages as well as the interface definition to implement a cataloger.
Index ¶
- Constants
- func AllCatalogers(cfg Config) []pkg.Cataloger
- func Catalog(resolver source.FileResolver, release *linux.Release, ...) (*pkg.Catalog, []artifact.Relationship, error)
- func DirectoryCatalogers(cfg Config) []pkg.Cataloger
- func ImageCatalogers(cfg Config) []pkg.Cataloger
- func RequestedAllCatalogers(cfg Config) bool
- type Config
- type Monitor
- type SearchConfig
Constants ¶
const AllCatalogersPattern = "all"
Variables ¶
This section is empty.
Functions ¶
func AllCatalogers ¶ added in v0.30.0
AllCatalogers returns all implemented catalogers
func Catalog ¶
func Catalog(resolver source.FileResolver, release *linux.Release, catalogers ...pkg.Cataloger) (*pkg.Catalog, []artifact.Relationship, error)
Catalog a given source (container image or filesystem) with the given catalogers, returning all discovered packages. In order to efficiently retrieve contents from a underlying container image the content fetch requests are done in bulk. Specifically, all files of interest are collected from each catalogers and accumulated into a single request.
func DirectoryCatalogers ¶
DirectoryCatalogers returns a slice of locally implemented catalogers that are fit for detecting packages from index files (and select installations)
func ImageCatalogers ¶
ImageCatalogers returns a slice of locally implemented catalogers that are fit for detecting installations of packages.
func RequestedAllCatalogers ¶ added in v0.50.0
Types ¶
type Config ¶ added in v0.35.0
type Config struct { Search SearchConfig Catalogers []string }
func DefaultConfig ¶ added in v0.35.0
func DefaultConfig() Config
type Monitor ¶
type Monitor struct { FilesProcessed progress.Monitorable // the number of files selected and contents analyzed from all registered catalogers PackagesDiscovered progress.Monitorable // the number of packages discovered from all registered catalogers }
Monitor provides progress-related data for observing the progress of a Catalog() call (published on the event bus).
type SearchConfig ¶ added in v0.35.0
type SearchConfig struct { IncludeIndexedArchives bool IncludeUnindexedArchives bool Scope source.Scope }
func DefaultSearchConfig ¶ added in v0.35.0
func DefaultSearchConfig() SearchConfig
Directories ¶
Path | Synopsis |
---|---|
Package apkdb provides a concrete Cataloger implementation for Alpine DB files.
|
Package apkdb provides a concrete Cataloger implementation for Alpine DB files. |
common
|
|
Package dpkg provides a concrete Cataloger implementation for Debian package DB status files.
|
Package dpkg provides a concrete Cataloger implementation for Debian package DB status files. |
Package golang provides a concrete Cataloger implementation for go.mod files.
|
Package golang provides a concrete Cataloger implementation for go.mod files. |
internal
|
|
Package java provides a concrete Cataloger implementation for Java archives (jar, war, ear, par, sar, jpi, hpi formats).
|
Package java provides a concrete Cataloger implementation for Java archives (jar, war, ear, par, sar, jpi, hpi formats). |
Package javascript provides a concrete Cataloger implementation for JavaScript ecosystem files (yarn and npm).
|
Package javascript provides a concrete Cataloger implementation for JavaScript ecosystem files (yarn and npm). |
Package php provides a concrete Cataloger implementation for PHP ecosystem files.
|
Package php provides a concrete Cataloger implementation for PHP ecosystem files. |
Package portage provides a concrete Cataloger implementation for Gentoo Portage.
|
Package portage provides a concrete Cataloger implementation for Gentoo Portage. |
Package rpm provides a concrete DBCataloger implementation for RPM "Package" DB files and a FileCataloger for RPM files.
|
Package rpm provides a concrete DBCataloger implementation for RPM "Package" DB files and a FileCataloger for RPM files. |
Package ruby bundler provides a concrete Cataloger implementation for Ruby Gemfile.lock bundler files.
|
Package ruby bundler provides a concrete Cataloger implementation for Ruby Gemfile.lock bundler files. |
Package rust provides a concrete Cataloger implementation for Cargo.lock files.
|
Package rust provides a concrete Cataloger implementation for Cargo.lock files. |
Package swift provides a concrete Cataloger implementation for Podfile.lock files.
|
Package swift provides a concrete Cataloger implementation for Podfile.lock files. |