Versions in this module Expand all Collapse all v0 v0.8.0 Oct 17, 2026 Changes in this version + const DefaultUserAgent + const DefaultWalkPageSize + const ScopeDirect + const ScopeRoot + const ScopeTransitive + const ScopeUnknown + const Version + func Collect[T any](seq Seq[T]) ([]T, error) + func IsBadRequest(err error) bool + func IsForbidden(err error) bool + func IsNotFound(err error) bool + func IsRateLimited(err error) bool + func IsUnauthorized(err error) bool + func IsUnavailable(err error) bool + func StatusCode(err error) int + func String(s string) *string + func UploadedFilename(sourceFile string) string + type APIError struct + Message string + Method string + Path string + StatusCode int + func (e *APIError) Error() string + type AffectedProject struct + DependencyDepth *uint32 + DependencyScope string + DocumentName string + IsDirect bool + PURL string + PackageName string + SBOMID string + Severity string + SourceFile string + VEXStatus string + Version string + type ArchivedPackage struct + LastPushed time.Time + PackageName string + PackagePURL string + ProjectName string + ProjectVersion string + Repo string + SBOMID string + SourceFile string + Stars uint32 + type BlanketLicenseException struct + ApprovedDate string + Comment string + ID string + IssueURL string + License string + PackageURL string + Results string + Scope string + Status string + type Client struct + func New(baseURL string, opts ...Option) *Client + func (c *Client) AffectedProjects(ctx context.Context, vulnID string) ([]AffectedProject, error) + func (c *Client) AllSBOMs(ctx context.Context, opts *SBOMListOptions) ([]SBOM, error) + func (c *Client) AllVEXStatements(ctx context.Context) ([]VEXStatement, error) + func (c *Client) ArchivedPackages(ctx context.Context) ([]ArchivedPackage, error) + func (c *Client) BaseURL() string + func (c *Client) ClusterStats(ctx context.Context, name string) (ClusterStats, error) + func (c *Client) Clusters(ctx context.Context) ([]Cluster, error) + func (c *Client) DashboardStats(ctx context.Context) (DashboardStats, error) + func (c *Client) Dependencies(ctx context.Context, sbomID string) ([]DependencyNode, error) + func (c *Client) DependencyStats(ctx context.Context, limit int) (DependencyStats, error) + func (c *Client) DownloadSBOM(ctx context.Context, sbomID string) ([]byte, error) + func (c *Client) DownloadSBOMTo(ctx context.Context, sbomID string, w io.Writer) (int64, error) + func (c *Client) FindSBOM(ctx context.Context, ref string) (SBOM, error) + func (c *Client) Fleet(ctx context.Context) ([]FleetCluster, error) + func (c *Client) Healthy(ctx context.Context) error + func (c *Client) LicenseCompliance(ctx context.Context) ([]LicenseCompliance, error) + func (c *Client) LicenseExceptions(ctx context.Context) (LicenseExceptions, error) + func (c *Client) LicensePolicy(ctx context.Context) (LicensePolicy, error) + func (c *Client) LicenseSources(ctx context.Context) ([]LicenseSource, error) + func (c *Client) LicenseViolationSummaries(ctx context.Context) ([]LicenseViolationSummary, error) + func (c *Client) LicenseViolations(ctx context.Context) ([]LicenseViolation, error) + func (c *Client) ListClusterSBOMs(ctx context.Context, name string, opts *ListOptions) (Paginated[SBOM], error) + func (c *Client) ListNamespaceSBOMs(ctx context.Context, name, cluster string, opts *ListOptions) (Paginated[SBOM], error) + func (c *Client) ListProjectGroups(ctx context.Context, opts *ProjectListOptions) (Paginated[ProjectGroup], error) + func (c *Client) ListProjectPackages(ctx context.Context, name string, opts *SearchListOptions) (Paginated[ProjectPackage], error) + func (c *Client) ListProjectSBOMs(ctx context.Context, name string, opts *ListOptions) (Paginated[SBOM], error) + func (c *Client) ListProjects(ctx context.Context, opts *ProjectListOptions) (Paginated[Project], error) + func (c *Client) ListSBOMs(ctx context.Context, opts *SBOMListOptions) (Paginated[SBOM], error) + func (c *Client) ListVEXStatements(ctx context.Context, opts *ListOptions) (Paginated[VEXStatement], error) + func (c *Client) ListVulnerabilities(ctx context.Context, opts *VulnerabilityListOptions) (Paginated[Vulnerability], error) + func (c *Client) Live(ctx context.Context) error + func (c *Client) NamespaceStats(ctx context.Context, name, cluster string) (NamespaceStats, error) + func (c *Client) Namespaces(ctx context.Context, cluster string) ([]Namespace, error) + func (c *Client) PackageDetail(ctx context.Context, name string, opts *ListOptions) (PackageDetail, error) + func (c *Client) PatchSBOMSource(ctx context.Context, sbomID string, patch SourcePatch) (SourceAttribution, error) + func (c *Client) Project(ctx context.Context, name string) (ProjectDetail, error) + func (c *Client) ProjectVulnerabilities(ctx context.Context, name string, opts *VulnerabilityOptions) ([]Vulnerability, error) + func (c *Client) Projects(ctx context.Context, opts *ProjectListOptions) Seq[Project] + func (c *Client) Ready(ctx context.Context) error + func (c *Client) SBOMDetail(ctx context.Context, sbomID string) (SBOMDetail, error) + func (c *Client) SBOMLicenses(ctx context.Context, sbomID string) ([]SBOMLicense, error) + func (c *Client) SBOMVEXStatements(ctx context.Context, sbomID string) ([]VEXStatement, error) + func (c *Client) SBOMs(ctx context.Context, opts *SBOMListOptions) Seq[SBOM] + func (c *Client) Search(ctx context.Context, q string, limit int) (SearchResult, error) + func (c *Client) SearchPackages(ctx context.Context, q string, opts *ListOptions) (PackageSearch, error) + func (c *Client) Tags(ctx context.Context) ([]Tag, error) + func (c *Client) Upload(ctx context.Context, filename string, doc []byte, opts *UploadOptions) (UploadResult, error) + func (c *Client) UploadSBOM(ctx context.Context, filename string, doc []byte, opts *UploadOptions) (UploadResult, error) + func (c *Client) UploadVEX(ctx context.Context, filename string, doc []byte, sbomID string) (UploadResult, error) + func (c *Client) VEXStatements(ctx context.Context, opts *ListOptions) Seq[VEXStatement] + func (c *Client) VersionSkew(ctx context.Context, opts *SearchListOptions) (VersionSkew, error) + func (c *Client) Vulnerabilities(ctx context.Context, sbomID string, opts *VulnerabilityOptions) ([]Vulnerability, error) + func (c *Client) VulnerabilityReportCSV(ctx context.Context, opts *VulnerabilityOptions, w io.Writer) (int64, error) + type Cluster struct + LastIngested string + Name string + PackageCount uint64 + SBOMCount uint64 + VulnCount uint64 + type ClusterStats struct + Cluster string + CriticalVulns uint64 + HighVulns uint64 + LastIngested string + LicenseBreakdown map[string]uint64 + LowVulns uint64 + MediumVulns uint64 + TotalPackages uint64 + TotalSBOMs uint64 + TotalVulnerabilities uint64 + type DashboardStats struct + ArchivedReposCount uint64 + CriticalVulns uint64 + EffectiveVulnerabilities uint64 + ExemptedPackages uint64 + HighVulns uint64 + LastCVERefresh string + LicenseBreakdown map[string]uint64 + LowVulns uint64 + MediumVulns uint64 + NewVulnsSinceRefresh uint64 + SuppressedByVEX uint64 + TotalPackages uint64 + TotalSBOMs uint64 + TotalVEXStatements uint64 + TotalVulnerabilities uint64 + type DependencyNode struct + Children []uint32 + DependencyDepth *uint32 + DependencyScope string + Index uint32 + License string + LicenseSource string + Name string + PURL string + SPDXID string + Version string + type DependencyStat struct + PURL string + PackageName string + ProjectCount uint64 + Versions []string + VulnCount uint64 + type DependencyStats struct + TopDependencies []DependencyStat + TotalUniqueDeps uint64 + type FleetCluster struct + Name string + Namespaces []FleetNamespace + SBOMCount uint64 + VulnCount uint64 + type FleetNamespace struct + Name string + Projects []FleetProject + SBOMCount uint64 + VulnCount uint64 + type FleetProject struct + LastIngested string + Name string + SBOMCount uint64 + VulnCount uint64 + type Health struct + Reason string + Status string + type LicenseCompliance struct + AffectedSBOMs []SBOMLink + Category string + ExemptedPackages []string + ExemptionReason string + LicenseID string + NonCompliantPackages []string + PackageCount uint64 + SBOMCount int + type LicenseException struct + ApprovedDate string + Comment string + ID string + IssueURL string + License string + Package string + PackageURL string + Project string + Results string + Scope string + Status string + type LicenseExceptions struct + BlanketExceptions []BlanketLicenseException + Description string + Exceptions []LicenseException + LastUpdated string + Version string + type LicensePolicy struct + Copyleft []string + Description string + ExpressionMode string + Permissive []string + type LicenseSource struct + Examples []string + Modifiers []string + Origin string + PackageCount uint64 + Resolved bool + SBOMCount uint64 + Source string + type LicenseViolation struct + CopyleftCount uint64 + DocumentName string + NonCompliantPackages []string + PackageScopes map[string]string + SBOMID string + SourceFile string + UnapprovedCount uint64 + UnknownCount uint64 + ViolatingLicenses []string + type LicenseViolationSummary struct + CopyleftCount uint64 + DirectCount uint64 + DocumentName string + NonCompliantPackageCount uint64 + SBOMID string + SourceFile string + TransitiveCount uint64 + UnapprovedCount uint64 + UnknownCount uint64 + ViolatingLicenses []string + type ListOptions struct + Page int + PageSize int + type Namespace struct + Cluster string + ClusterCount uint64 + LastIngested string + Name string + PackageCount uint64 + SBOMCount uint64 + VulnCount uint64 + type NamespaceStats struct + Cluster string + Clusters []string + CriticalVulns uint64 + HighVulns uint64 + LastIngested string + LicenseBreakdown map[string]uint64 + LowVulns uint64 + MediumVulns uint64 + Namespace string + TotalPackages uint64 + TotalSBOMs uint64 + TotalVulnerabilities uint64 + type Option func(*Client) + func WithAPIKey(key string) Option + func WithHTTPClient(h *http.Client) Option + func WithMaxRetries(n int) Option + func WithRateLimit(limit int, window time.Duration) Option + func WithRateLimiter(l *RateLimiter) Option + func WithServiceToken(token string) Option + func WithStrictDecoding() Option + func WithUserAgent(ua string) Option + type PackageDetail struct + PackageName string + Page uint64 + PageSize uint64 + Projects []PackageProject + TotalProjects uint64 + type PackageProject struct + ProjectName string + SBOMID string + Version string + type PackageSearch struct + Items []PackageSearchResult + Page uint64 + PageSize uint64 + Query string + TotalResults uint64 + type PackageSearchResult struct + PURL string + PackageName string + ProjectCount uint64 + Projects []PackageProject + Versions []string + type Paginated struct + Data []T + Page uint64 + PageSize uint64 + Total uint64 + type Project struct + LatestIngested string + LatestSBOMID string + PackageCount uint64 + Parent string + ParentSource string + ProjectName string + SBOMCount uint64 + Tags []string + VulnCount uint64 + type ProjectDetail struct + Children []string + Clusters []string + CriticalVulns uint64 + HighVulns uint64 + LatestIngested string + LatestSBOMID string + LatestVersion string + LicenseBreakdown map[string]uint64 + LowVulns uint64 + MediumVulns uint64 + Namespaces []string + PackageCount uint64 + Parent string + ParentOwner string + ParentSource string + Parents []string + ProjectName string + RelatedProjectCount uint64 + SBOMCount uint64 + SourceRepo string + Tags []string + VulnCount uint64 + type ProjectGroup struct + IsProject bool + LatestIngested string + Members []Project + Name string + Owner string + PackageCount uint64 + ProjectCount uint64 + SBOMCount uint64 + Sources []string + Tags []string + VulnCount uint64 + type ProjectListOptions struct + Search string + Tag string + type ProjectPackage struct + Name string + PURL string + SBOMCount uint64 + Version string + VulnCount uint64 + type RateLimiter struct + func NewRateLimiter(limit int, window time.Duration) *RateLimiter + func (r *RateLimiter) Wait(ctx context.Context) error + type SBOM struct + Cluster string + DocumentName string + DocumentVersion string + ID string + IngestedAt string + Namespace string + PackageCount uint64 + Project string + SPDXVersion string + SourceFile string + SourceRef string + SourceRepo string + VulnCount uint64 + type SBOMDetail struct + CriticalVulns uint64 + DocumentName string + DocumentVersion string + HighVulns uint64 + ID string + IngestedAt string + LowVulns uint64 + MediumVulns uint64 + PackageCount uint64 + SPDXVersion string + SourceFile string + SourceRef string + SourceRepo string + VulnCount uint64 + type SBOMLicense struct + Category string + ExemptedPackages []string + ExemptionReason string + LicenseID string + PackageCount uint32 + PackageScopes map[string]string + Packages []string + type SBOMLink struct + DocumentName string + SBOMID string + type SBOMListOptions struct + Project string + Search string + type SearchLicense struct + Category string + LicenseID string + SBOMCount uint64 + type SearchListOptions struct + Search string + type SearchPackage struct + PURL string + PackageName string + ProjectCount uint64 + type SearchProject struct + LatestSBOMID string + ProjectName string + SBOMCount uint64 + type SearchResult struct + Licenses []SearchLicense + Packages []SearchPackage + Projects []SearchProject + Query string + TotalLicenses uint64 + TotalPackages uint64 + TotalProjects uint64 + TotalVulnerabilities uint64 + Vulnerabilities []SearchVulnerability + type SearchVulnerability struct + AffectedSBOMs uint64 + Aliases []string + CVEID string + Severity string + Summary string + VulnID string + type Seq = iter.Seq2[T, error] + func Paginate[T any](ctx context.Context, pageSize int, ...) Seq[T] + type SourceAttribution struct + SBOMID string + SourceRef string + SourceRepo string + type SourcePatch struct + SourceRef *string + SourceRepo *string + type Tag struct + IsProject bool + ProjectCount uint64 + SBOMCount uint64 + Tag string + type UploadOptions struct + Cluster string + Namespace string + Parent string + Project string + SBOMID string + SourceRef string + SourceRepo string + Tags []string + type UploadResult struct + Cluster string + JobID string + JobType string + Message string + Namespace string + Parent string + Project string + SHA256Hash string + Status string + func (r UploadResult) Duplicate() bool + type VEXStatement struct + ActionStatement string + AffectedSBOMs []SBOMLink + Aliases []string + Author string + CVEID string + DocumentID string + ImpactStatement string + IngestedAt string + Justification string + ProductPURL string + Role string + SBOMID string + SourceFile string + Status string + StatusNotes string + Tooling string + VEXID string + VEXTimestamp string + VulnID string + type VersionSkew struct + Items []VersionSkewItem + Page uint64 + PageSize uint64 + TotalSkewedPackages uint64 + type VersionSkewDetail struct + ProjectCount uint64 + Projects []string + Version string + type VersionSkewItem struct + IsDirectInCount uint64 + PURL string + PackageName string + ProjectCount uint64 + VersionCount uint64 + Versions []VersionSkewDetail + type Vulnerability struct + AffectedSBOMs uint64 + Aliases []string + CVEID string + DependencyDepth *uint32 + DependencyScope string + DiscoveredAt string + FixedVersion string + PURL string + Severity string + SourceFile string + Summary string + VEXAuthor string + VEXJustification string + VEXScope string + VEXStatementID string + VEXStatus string + VEXTimestamp string + VEXTooling string + VulnID string + type VulnerabilityListOptions struct + type VulnerabilityOptions struct + Scope string