Skip to content

Commit

Permalink
⭐️ eol.product resource
Browse files Browse the repository at this point in the history
  • Loading branch information
chris-rock committed Aug 9, 2024
1 parent 35f548b commit a2956a6
Show file tree
Hide file tree
Showing 9 changed files with 1,066 additions and 263 deletions.
2 changes: 1 addition & 1 deletion providers-sdk/v1/upstream/mvd/mvd.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ package mvd

import "go.mondoo.com/cnquery/v11/providers-sdk/v1/inventory"

//go:generate protoc --proto_path=../../../../:../:. --go_out=. --go_opt=paths=source_relative --rangerrpc_out=. mvd.proto
//go:generate protoc --proto_path=../../../../:. --go_out=. --go_opt=paths=source_relative --rangerrpc_out=. mvd.proto

// Determine all Cves of all Advisories
func (r *VulnReport) Cves() []*CVE {
Expand Down
867 changes: 610 additions & 257 deletions providers-sdk/v1/upstream/mvd/mvd.pb.go

Large diffs are not rendered by default.

48 changes: 47 additions & 1 deletion providers-sdk/v1/upstream/mvd/mvd.proto
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ syntax = "proto3";

package mondoo.mvd.v1;

import "google/protobuf/timestamp.proto";
import "providers-sdk/v1/upstream/mvd/cvss/cvss.proto";

option go_package =
Expand Down Expand Up @@ -35,10 +36,14 @@ message Package {
int32 score = 26;
bool affected = 27;
}

// Implements the AdvisoryScanner interface from cnquery
service AdvisoryScanner {
// Scans a list of packages for vulnerabilities
rpc AnalyseAsset(AnalyseAssetRequest) returns (VulnReport);
// Get information about the end of life of a platform
rpc IsEol(Platform) returns (PlatformEolInfo);
// Get information about the end of life of a product
rpc GetProductEol(GetProductEolRequest) returns (GetProductEolResponse);
}

message AnalyseAssetRequest {
Expand Down Expand Up @@ -206,4 +211,45 @@ message PlatformEolInfo {
string ReleaseDate = 4;
// protolint:disable:next FIELD_NAMES_LOWER_SNAKE_CASE
string EolDate = 5;
}

// GetProductEolRequest contains information about the product and the version
message GetProductEolRequest {
// Product ID eg. kubernetes
string name = 1;
// Product version
string version = 2;
}

// GetProductEolResponse contains information about the end of life of a product
// release
message GetProductEolResponse {
// Release information
EndOfLifeRelease release = 1;
}

// EndOfLifeRelease contains information about the end of life of a release
message EndOfLifeRelease {
// Release Name eg. Ubuntu
string release_name = 1;
// Release Codename eg. Focal Fossa
string release_codename = 2;
// Release Cycle eg. major version
string release_cycle = 3;
// Latest version in the release cycle
string latest_version = 4;
// First Release Date
google.protobuf.Timestamp first_release_date = 5;
// Last Release Date
google.protobuf.Timestamp last_release_date = 6;
// Link to the release
string release_link = 7;
// End Of Active Support
google.protobuf.Timestamp end_of_active_support = 8;
// End Of Life
google.protobuf.Timestamp end_of_life = 9;
// End Of Extended Support
google.protobuf.Timestamp end_of_extended_support = 10;
// Change Log Reference
string change_log_reference = 11;
}
35 changes: 33 additions & 2 deletions providers-sdk/v1/upstream/mvd/mvd.ranger.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

34 changes: 33 additions & 1 deletion providers/core/resources/core.lr
Original file line number Diff line number Diff line change
Expand Up @@ -147,4 +147,36 @@ cpe @defaults("uri") {
targetHw() string
// Other of the CPE
other() string
}
}

// End of life information for a product
eol.product {
// Product name
name string
// Product version
version string
// Product release information
release() eol.productRelease
}

// End of life information for a product release
private eol.productRelease {
// Release name
name string
// Release cycle
cycle string
// Last release version
latestVersion string
// First release date
firstReleaseDate time
// Last release date
lastReleaseDate time
// End of active support
endOfActiveSupport time
// End of life date
endOfLife time
// End of extended support
endOfExtendedSupport time
// Release link
link string
}
Loading

0 comments on commit a2956a6

Please sign in to comment.