Skip to content

Commit

Permalink
all: update zlog and otel
Browse files Browse the repository at this point in the history
Signed-off-by: Hank Donnay <hdonnay@redhat.com>
  • Loading branch information
hdonnay committed Feb 14, 2022
1 parent 4e27f1f commit 8ca8736
Show file tree
Hide file tree
Showing 73 changed files with 308 additions and 466 deletions.
22 changes: 12 additions & 10 deletions alpine/distributionscanner.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ import (
"runtime/trace"

"github.com/quay/zlog"
"go.opentelemetry.io/otel/baggage"
"go.opentelemetry.io/otel/label"

"github.com/quay/claircore"
"github.com/quay/claircore/internal/indexer"
Expand Down Expand Up @@ -89,11 +87,15 @@ var alpineRegexes = []alpineRegex{
},
}

const osReleasePath = `etc/os-release`
const issuePath = `etc/issue`
const (
osReleasePath = `etc/os-release`
issuePath = `etc/issue`
)

var _ indexer.DistributionScanner = (*DistributionScanner)(nil)
var _ indexer.VersionedScanner = (*DistributionScanner)(nil)
var (
_ indexer.DistributionScanner = (*DistributionScanner)(nil)
_ indexer.VersionedScanner = (*DistributionScanner)(nil)
)

// DistributionScanner attempts to discover if a layer
// displays characteristics of a alpine distribution
Expand All @@ -115,10 +117,10 @@ func (*DistributionScanner) Kind() string { return scannerKind }
// If the files are found but all regexp fail to match an empty slice is returned.
func (ds *DistributionScanner) Scan(ctx context.Context, l *claircore.Layer) ([]*claircore.Distribution, error) {
defer trace.StartRegion(ctx, "Scanner.Scan").End()
ctx = baggage.ContextWithValues(ctx,
label.String("component", "alpine/DistributionScanner.Scan"),
label.String("version", ds.Version()),
label.String("layer", l.Hash.String()))
ctx = zlog.ContextWithValues(ctx,
"component", "alpine/DistributionScanner.Scan",
"version", ds.Version(),
"layer", l.Hash.String())
zlog.Debug(ctx).Msg("start")
defer zlog.Debug(ctx).Msg("done")
files, err := l.Files(osReleasePath, issuePath)
Expand Down
8 changes: 2 additions & 6 deletions alpine/fetcher.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,13 @@ import (
"net/http"

"github.com/quay/zlog"
"go.opentelemetry.io/otel/baggage"
"go.opentelemetry.io/otel/label"

"github.com/quay/claircore/libvuln/driver"
"github.com/quay/claircore/pkg/tmp"
)

var fetchLabel = label.String("component", "alpine/Updater.Fetch")

func (u *Updater) Fetch(ctx context.Context, hint driver.Fingerprint) (io.ReadCloser, driver.Fingerprint, error) {
ctx = baggage.ContextWithValues(ctx, fetchLabel)
ctx = zlog.ContextWithValues(ctx, "component", "alpine/Updater.Fetch")

zlog.Info(ctx).Str("database", u.url).Msg("starting fetch")
req, err := http.NewRequestWithContext(ctx, http.MethodGet, u.url, nil)
Expand All @@ -40,7 +36,7 @@ func (u *Updater) Fetch(ctx context.Context, hint driver.Fingerprint) (io.ReadCl

switch res.StatusCode {
case http.StatusOK:
//break
// break
case http.StatusNotModified:
zlog.Info(ctx).Msg("database unchanged since last fetch")
return nil, hint, driver.Unchanged
Expand Down
12 changes: 5 additions & 7 deletions alpine/packagescanner.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ import (
"runtime/trace"

"github.com/quay/zlog"
"go.opentelemetry.io/otel/baggage"
"go.opentelemetry.io/otel/label"

"github.com/quay/claircore"
"github.com/quay/claircore/internal/indexer"
Expand Down Expand Up @@ -50,10 +48,10 @@ func (*Scanner) Scan(ctx context.Context, layer *claircore.Layer) ([]*claircore.
}
defer trace.StartRegion(ctx, "Scanner.Scan").End()
trace.Log(ctx, "layer", layer.Hash.String())
ctx = baggage.ContextWithValues(ctx,
label.String("component", "alpine/Scanner.Scan"),
label.String("version", pkgVersion),
label.String("layer", layer.Hash.String()))
ctx = zlog.ContextWithValues(ctx,
"component", "alpine/Scanner.Scan",
"version", pkgVersion,
"layer", layer.Hash.String())

zlog.Debug(ctx).Msg("start")
defer zlog.Debug(ctx).Msg("done")
Expand All @@ -78,7 +76,7 @@ func (*Scanner) Scan(ctx context.Context, layer *claircore.Layer) ([]*claircore.
// It'd be great if we could just use the textproto package here, but we
// can't because the database "keys" are case sensitive, unlike MIME
// headers. So, roll our own entry and header splitting.
var delim = []byte("\n\n")
delim := []byte("\n\n")
entries := bytes.Split(b.Bytes(), delim)
for _, entry := range entries {
if len(entry) == 0 {
Expand Down
9 changes: 2 additions & 7 deletions alpine/parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ import (
"io"

"github.com/quay/zlog"
"go.opentelemetry.io/otel/baggage"
"go.opentelemetry.io/otel/label"

"github.com/quay/claircore"
"github.com/quay/claircore/libvuln/driver"
Expand All @@ -18,13 +16,10 @@ const (
nvdURLPrefix = "https://cve.mitre.org/cgi-bin/cvename.cgi?name=%s"
)

var (
_ driver.Parser = (*Updater)(nil)
parseLabel = label.String("component", "apline/Updater.Parse")
)
var _ driver.Parser = (*Updater)(nil)

func (u *Updater) Parse(ctx context.Context, r io.ReadCloser) ([]*claircore.Vulnerability, error) {
ctx = baggage.ContextWithValues(ctx, parseLabel)
ctx = zlog.ContextWithValues(ctx, "component", "apline/Updater.Parse")
zlog.Info(ctx).Msg("starting parse")
defer r.Close()

Expand Down
20 changes: 6 additions & 14 deletions aws/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ import (

"github.com/quay/alas"
"github.com/quay/zlog"
"go.opentelemetry.io/otel/baggage"
"go.opentelemetry.io/otel/label"

"github.com/quay/claircore/internal/xmlutil"
"github.com/quay/claircore/pkg/tmp"
Expand All @@ -36,8 +34,7 @@ type Client struct {
}

func NewClient(ctx context.Context, hc *http.Client, release Release) (*Client, error) {
ctx = baggage.ContextWithValues(ctx,
label.String("release", string(release)))
ctx = zlog.ContextWithValues(ctx, "release", string(release))
if hc == nil {
return nil, errors.New("http.Client not provided")
}
Expand All @@ -53,13 +50,11 @@ func NewClient(ctx context.Context, hc *http.Client, release Release) (*Client,

// RepoMD returns a alas.RepoMD containing sha256 information of a repositories contents
func (c *Client) RepoMD(ctx context.Context) (alas.RepoMD, error) {
ctx = baggage.ContextWithValues(ctx,
label.String("component", "aws/Client.RepoMD"))
ctx = zlog.ContextWithValues(ctx, "component", "aws/Client.RepoMD")
for _, mirror := range c.mirrors {
m := *mirror
m.Path = path.Join(m.Path, repoDataPath)
ctx := baggage.ContextWithValues(ctx,
label.String("mirror", m.String()))
ctx := zlog.ContextWithValues(ctx, "mirror", m.String())

req, err := http.NewRequestWithContext(ctx, http.MethodGet, m.String(), nil)
if err != nil {
Expand Down Expand Up @@ -106,13 +101,11 @@ func (c *Client) RepoMD(ctx context.Context) (alas.RepoMD, error) {

// Updates returns the *http.Response of the first mirror to establish a connection
func (c *Client) Updates(ctx context.Context) (io.ReadCloser, error) {
ctx = baggage.ContextWithValues(ctx,
label.String("component", "aws/Client.Updates"))
ctx = zlog.ContextWithValues(ctx, "component", "aws/Client.Updates")
for _, mirror := range c.mirrors {
m := *mirror
m.Path = path.Join(m.Path, updatesPath)
ctx := baggage.ContextWithValues(ctx,
label.String("mirror", m.String()))
ctx := zlog.ContextWithValues(ctx, "mirror", m.String())

req, err := http.NewRequestWithContext(ctx, http.MethodGet, m.String(), nil)
if err != nil {
Expand Down Expand Up @@ -178,8 +171,7 @@ type gzippedFile struct {
}

func (c *Client) getMirrors(ctx context.Context, list string) error {
ctx = baggage.ContextWithValues(ctx,
label.String("component", "aws/Client.getMirrors"))
ctx = zlog.ContextWithValues(ctx, "component", "aws/Client.getMirrors")

req, err := http.NewRequestWithContext(ctx, http.MethodGet, list, nil)
if err != nil {
Expand Down
20 changes: 10 additions & 10 deletions aws/distributionscanner.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ import (
"runtime/trace"

"github.com/quay/zlog"
"go.opentelemetry.io/otel/baggage"
"go.opentelemetry.io/otel/label"

"github.com/quay/claircore"
"github.com/quay/claircore/internal/indexer"
Expand Down Expand Up @@ -42,8 +40,10 @@ var awsRegexes = []awsRegex{

const osReleasePath = `etc/os-release`

var _ indexer.DistributionScanner = (*DistributionScanner)(nil)
var _ indexer.VersionedScanner = (*DistributionScanner)(nil)
var (
_ indexer.DistributionScanner = (*DistributionScanner)(nil)
_ indexer.VersionedScanner = (*DistributionScanner)(nil)
)

// DistributionScanner attempts to discover if a layer
// displays characteristics of a AWS distribution
Expand All @@ -65,12 +65,12 @@ func (*DistributionScanner) Kind() string { return scannerKind }
// If the files are found but all regexp fail to match an empty slice is returned.
func (ds *DistributionScanner) Scan(ctx context.Context, l *claircore.Layer) ([]*claircore.Distribution, error) {
defer trace.StartRegion(ctx, "Scanner.Scan").End()
ctx = baggage.ContextWithValues(ctx,
label.String("component", "aws_dist_scanner"),
label.String("name", ds.Name()),
label.String("version", ds.Version()),
label.String("kind", ds.Kind()),
label.String("layer", l.Hash.String()))
ctx = zlog.ContextWithValues(ctx,
"component", "aws_dist_scanner",
"name", ds.Name(),
"version", ds.Version(),
"kind", ds.Kind(),
"layer", l.Hash.String())
zlog.Debug(ctx).Msg("start")
defer zlog.Debug(ctx).Msg("done")
files, err := l.Files(osReleasePath)
Expand Down
5 changes: 1 addition & 4 deletions aws/updater.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ import (

"github.com/quay/alas"
"github.com/quay/zlog"
"go.opentelemetry.io/otel/baggage"
"go.opentelemetry.io/otel/label"

"github.com/quay/claircore"
"github.com/quay/claircore/internal/xmlutil"
Expand Down Expand Up @@ -46,8 +44,7 @@ func (u *Updater) Configure(ctx context.Context, _ driver.ConfigUnmarshaler, c *
}

func (u *Updater) Fetch(ctx context.Context, fingerprint driver.Fingerprint) (io.ReadCloser, driver.Fingerprint, error) {
ctx = baggage.ContextWithValues(ctx,
label.String("component", "aws/Updater.Fetch"))
ctx = zlog.ContextWithValues(ctx, "component", "aws/Updater.Fetch")
if u.c == http.DefaultClient { // OK: checking for log purposes
zlog.Warn(ctx).Msg("DefaultClient used, this is almost certainly wrong")
}
Expand Down
8 changes: 2 additions & 6 deletions crda/matcherfactory.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ import (
"net/url"

"github.com/quay/zlog"
"go.opentelemetry.io/otel/baggage"
"go.opentelemetry.io/otel/label"

"github.com/quay/claircore/libvuln/driver"
)
Expand All @@ -24,8 +22,7 @@ type Factory struct {

// MatcherFactory implements driver.MatcherFactory.
func (f *Factory) Matcher(ctx context.Context) ([]driver.Matcher, error) {
ctx = baggage.ContextWithValues(ctx,
label.String("component", "crda/MatcherFactory.Matcher"))
ctx = zlog.ContextWithValues(ctx, "component", "crda/MatcherFactory.Matcher")
EcosystemSubSet:
for _, e := range f.ecosystems {
for _, se := range supportedEcosystems {
Expand Down Expand Up @@ -66,8 +63,7 @@ type FactoryConfig struct {

// MatcherFactory implements driver.MatcherConfigurable.
func (f *Factory) Configure(ctx context.Context, cfg driver.MatcherConfigUnmarshaler, c *http.Client) error {
ctx = baggage.ContextWithValues(ctx,
label.String("component", "crda/MatcherFactory.Configure"))
ctx = zlog.ContextWithValues(ctx, "component", "crda/MatcherFactory.Configure")
var fc FactoryConfig

if err := cfg(&fc); err != nil {
Expand Down
5 changes: 1 addition & 4 deletions crda/remotematcher.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ import (
"time"

"github.com/quay/zlog"
"go.opentelemetry.io/otel/baggage"
"go.opentelemetry.io/otel/label"
"golang.org/x/sync/errgroup"

"github.com/quay/claircore"
Expand Down Expand Up @@ -269,8 +267,7 @@ func (m *Matcher) Configure(ctx context.Context, f driver.MatcherConfigUnmarshal

// QueryRemoteMatcher implements driver.RemoteMatcher.
func (m *Matcher) QueryRemoteMatcher(ctx context.Context, records []*claircore.IndexRecord) (map[string][]*claircore.Vulnerability, error) {
ctx = baggage.ContextWithValues(ctx,
label.String("component", "crda/Matcher.QueryRemoteMatcher"))
ctx = zlog.ContextWithValues(ctx, "component", "crda/Matcher.QueryRemoteMatcher")
zlog.Debug(ctx).
Int("records", len(records)).
Msg("request")
Expand Down
22 changes: 12 additions & 10 deletions debian/distributionscanner.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ import (
"runtime/trace"

"github.com/quay/zlog"
"go.opentelemetry.io/otel/baggage"
"go.opentelemetry.io/otel/label"

"github.com/quay/claircore"
"github.com/quay/claircore/internal/indexer"
Expand Down Expand Up @@ -48,11 +46,15 @@ var debianRegexes = []debianRegex{
},
}

const osReleasePath = `etc/os-release`
const issuePath = `etc/issue`
const (
osReleasePath = `etc/os-release`
issuePath = `etc/issue`
)

var _ indexer.DistributionScanner = (*DistributionScanner)(nil)
var _ indexer.VersionedScanner = (*DistributionScanner)(nil)
var (
_ indexer.DistributionScanner = (*DistributionScanner)(nil)
_ indexer.VersionedScanner = (*DistributionScanner)(nil)
)

// DistributionScanner attempts to discover if a layer
// displays characteristics of a Debian distribution
Expand All @@ -74,10 +76,10 @@ func (*DistributionScanner) Kind() string { return scannerKind }
// If the files are found but all regexp fail to match an empty slice is returned.
func (ds *DistributionScanner) Scan(ctx context.Context, l *claircore.Layer) ([]*claircore.Distribution, error) {
defer trace.StartRegion(ctx, "Scanner.Scan").End()
ctx = baggage.ContextWithValues(ctx,
label.String("component", "debian/DistributionScanner.Scan"),
label.String("version", ds.Version()),
label.String("layer", l.Hash.String()))
ctx = zlog.ContextWithValues(ctx,
"component", "debian/DistributionScanner.Scan",
"version", ds.Version(),
"layer", l.Hash.String())
zlog.Debug(ctx).Msg("start")
defer zlog.Debug(ctx).Msg("done")
files, err := l.Files(osReleasePath, issuePath)
Expand Down
5 changes: 1 addition & 4 deletions debian/parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,14 @@ import (

"github.com/quay/goval-parser/oval"
"github.com/quay/zlog"
"go.opentelemetry.io/otel/baggage"
"go.opentelemetry.io/otel/label"

"github.com/quay/claircore"
"github.com/quay/claircore/internal/xmlutil"
"github.com/quay/claircore/pkg/ovalutil"
)

func (u *Updater) Parse(ctx context.Context, r io.ReadCloser) ([]*claircore.Vulnerability, error) {
ctx = baggage.ContextWithValues(ctx,
label.String("component", "debian/Updater.Parse"))
ctx = zlog.ContextWithValues(ctx, "component", "debian/Updater.Parse")
zlog.Info(ctx).Msg("starting parse")
defer r.Close()
root := oval.Root{}
Expand Down
12 changes: 4 additions & 8 deletions debian/sourcemapper.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,12 @@ import (
"sync"

"github.com/quay/zlog"
"go.opentelemetry.io/otel/baggage"
"go.opentelemetry.io/otel/label"
"golang.org/x/sync/errgroup"
)

const sourcesURL = "https://ftp.debian.org/debian/dists/%s/%s/source/Sources.gz"

var (
sourceRepos = [3]string{"main", "contrib", "non-free"}
)
var sourceRepos = [3]string{"main", "contrib", "non-free"}

// NewSourcesMap returns a SourcesMap but does not perform any
// inserts into the map. That needs to be done explitly by calling
Expand Down Expand Up @@ -93,9 +89,9 @@ func (m *SourcesMap) Update(ctx context.Context) error {
}

func (m *SourcesMap) fetchSources(ctx context.Context, url string) error {
ctx = baggage.ContextWithValues(ctx,
label.String("component", "debian/sourcemapper.fetchSources"),
label.String("url", url))
ctx = zlog.ContextWithValues(ctx,
"component", "debian/sourcemapper.fetchSources",
"url", url)
zlog.Debug(ctx).Msg("attempting fetch of Sources file")

req, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil)
Expand Down
Loading

0 comments on commit 8ca8736

Please sign in to comment.