Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ImageDto ¶
type ImageDto struct { Id int `gorm:"column:Id;primaryKey;<-:false"` Name string `gorm:"column:Name;->;<-:create"` BaseImage string `gorm:"column:BaseImage;->;<-:create"` Scans []ImageScanDto `gorm:"foreignKey:ImageId"` }
ImageDto has information about a specific docker image and tag Returned by "read" methods for the Repository, e.g. GetLastImageScan
type ImageScanDto ¶
type ImageScanDto struct { Id int `gorm:"column:Id;primaryKey;<-:false"` ImageId int `gorm:"column:ImageId;<-:false"` ScanTime time.Time `gorm:"column:ScanTime;<-:false"` ScanSuccess bool `gorm:"column:ScanSuccess;<-:false"` Vulnerabilities []VulnerabilityDto `gorm:"many2many:ImageScanVulnerabilities;joinForeignKey:ImageScanId;joinReferences:VulnerabilityId"` // https://gorm.io/docs/many_to_many.html }
ImageScanDto has information about a spcific vulnerability scan for a docker image Returned by "read" methods for the Repository, e.g. GetLastImageScan
func (ImageScanDto) TableName ¶
func (ImageScanDto) TableName() string
type Repository ¶
type Repository interface { // GetLastImageScan returns the last vulnerability scan for an image GetLastImageScan(ctx context.Context, image string) (*ImageScanDto, error) // RegisterImageScan stores information about a vulnerability scan for an image RegisterImageScan(ctx context.Context, image string, baseImage *string, scanTime time.Time, success bool, vulnerabilities []VulnerabilityBulkDto, identifiers []VulnerabilityIdentifierBulkDto, references []VulnerabilityReferenceBulkDto) error }
Repository defines methods for reading and storing data about vulnerability scans
func NewGormRepository ¶
func NewGormRepository(db *gorm.DB) Repository
NewGormRepository returns a Repository using a Gorm ORM (https://gorm.io/index.html) database to access data
type VulnerabilityBulkDto ¶
type VulnerabilityBulkDto struct { ExternalId string PackageName string Version string Title string Description string Severity string CVSS *float32 CVSSv3 string CreationTime time.Time ModificationTime time.Time PublicationTime time.Time DisclosureTime *time.Time }
VulnerabilityBulkDto defines details about a vulnerability Used as argument when registering a scan with RegisterImageScan in Repository
type VulnerabilityDto ¶
type VulnerabilityDto struct { Id int `gorm:"column:Id;primaryKey;<-:false"` ExternalId string `gorm:"column:ExternalId;<-:false"` PackageName string `gorm:"column:PackageName;<-:false"` Version string `gorm:"column:Version;<-:false"` Description string `gorm:"column:Description;<-:false"` Title string `gorm:"column:Title;<-:false"` Severity string `gorm:"column:Severity;<-:false"` CVSS *float32 `gorm:"column:CVSS;<-:false"` CVSSv3 string `gorm:"column:CVSSv3;<-:false"` CreationTime time.Time `gorm:"column:CreationTime;<-:false"` ModificationTime time.Time `gorm:"column:ModificationTime;<-:false"` PublicationTime time.Time `gorm:"column:PublicationTime;<-:false"` DisclosureTime time.Time `gorm:"column:DisclosureTime;<-:false"` References []VulnerabilityReferenceDto `gorm:"foreignKey:VulnerabilityId"` Identifiers []VulnerabilityIdentifierDto `gorm:"foreignKey:VulnerabilityId"` }
VulnerabilityDto has information about a vulnerability Returned by "read" methods for the Repository, e.g. GetLastImageScan
func (VulnerabilityDto) TableName ¶
func (VulnerabilityDto) TableName() string
type VulnerabilityIdentifierBulkDto ¶
type VulnerabilityIdentifierBulkDto struct { ExternalId string IdentifierType string Identifier string }
VulnerabilityIdentifierBulkDto defines details about a vulnerability identifier type and value, e.g. CVE, CVE-2011-3374 Used as argument when registering a scan with RegisterImageScan in Repository
type VulnerabilityIdentifierDto ¶
type VulnerabilityIdentifierDto struct { VulnerabilityId int `gorm:"column:VulnerabilityId;primaryKey;<-:false"` IdentifierType string `gorm:"column:IdentifierType;primaryKey;<-:false"` Identifier string `gorm:"column:Identifier;primaryKey;<-:false"` }
VulnerabilityIdentifierDto defines an identifier type and value for a vulnerability, e.g. CVE, CVE-2011-3374 Returned by "read" methods for the Repository, e.g. GetLastImageScan
func (VulnerabilityIdentifierDto) TableName ¶
func (VulnerabilityIdentifierDto) TableName() string
type VulnerabilityReferenceBulkDto ¶
VulnerabilityBulkDto defines an external URL with information about the vulnerability Used as argument when registering a scan with RegisterImageScan in Repository
type VulnerabilityReferenceDto ¶
type VulnerabilityReferenceDto struct { VulnerabilityId int `gorm:"column:VulnerabilityId;primaryKey;<-:false"` Url string `gorm:"column:Url;primaryKey;<-:false"` }
VulnerabilityReferenceDto defines an external URL with information about a vulnerability Returned by "read" methods for the Repository, e.g. GetLastImageScan
func (VulnerabilityReferenceDto) TableName ¶
func (VulnerabilityReferenceDto) TableName() string