Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run new TUF autoupdater side-by-side with notary autoupdater #1081

Merged
merged 44 commits into from
Mar 14, 2023
Merged
Show file tree
Hide file tree
Changes from 43 commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
c453221
First pass at running new tuf client side-by-side with notary impl
RebeccaMahany Mar 7, 2023
ca9742e
Merge branch 'main' into becca/tuf
RebeccaMahany Mar 7, 2023
e43ca07
Generate root.json
RebeccaMahany Mar 8, 2023
53141fb
Test for switching between updater and fallback updater
RebeccaMahany Mar 8, 2023
1e3165e
Make TUF server URL a command-line flag
RebeccaMahany Mar 8, 2023
95c8ac6
Rename TUF autoupdater
RebeccaMahany Mar 8, 2023
f42e577
Add options to configure TUF autoupdater
RebeccaMahany Mar 8, 2023
51777c5
const for error count threshold
RebeccaMahany Mar 8, 2023
e021a99
Run new and old autoupdaters alongside each other; don't do update fr…
RebeccaMahany Mar 8, 2023
9e6ceeb
go mod tidy
RebeccaMahany Mar 8, 2023
82c286d
Simplify error counting for now
RebeccaMahany Mar 8, 2023
95e47ca
Log release version
RebeccaMahany Mar 8, 2023
71e2549
Small fixes, begin unit tests
RebeccaMahany Mar 8, 2023
662cfb8
Add TUF tests for updating local metadata; make threadsafe buffer reu…
RebeccaMahany Mar 9, 2023
beb997d
Remove unused const; add test for timestamp checking when calculating…
RebeccaMahany Mar 9, 2023
3dacb90
Ensure failure to initialize TUF autoupdater does not stop legacy aut…
RebeccaMahany Mar 9, 2023
3e2f3bc
Merge branch 'main' into becca/tuf
RebeccaMahany Mar 9, 2023
f6bbb7b
Fix how we include root.json asset
RebeccaMahany Mar 9, 2023
2a44428
Lock for error counter
RebeccaMahany Mar 9, 2023
527a878
Rename TUF repo
RebeccaMahany Mar 9, 2023
f098d4b
fix up some tests
RebeccaMahany Mar 9, 2023
7ce15cf
lint
RebeccaMahany Mar 9, 2023
fc11378
Merge branch 'main' into becca/tuf
RebeccaMahany Mar 9, 2023
9847a7c
debug windows test
RebeccaMahany Mar 9, 2023
30a2932
remove assertexpectations for the moment
RebeccaMahany Mar 9, 2023
712e95d
Remove mirror client/url since we don't need it yet
RebeccaMahany Mar 10, 2023
ffafb0a
Merge remote-tracking branch 'upstream/main' into becca/tuf
RebeccaMahany Mar 10, 2023
ae74d52
Move new TUF autoupdater to its own package
RebeccaMahany Mar 10, 2023
162c9af
Update order we apply options/args and build metadata client
RebeccaMahany Mar 10, 2023
1591823
Fix autoupdate asset generation
RebeccaMahany Mar 10, 2023
c43765c
Fix test for windows
RebeccaMahany Mar 10, 2023
780a90d
Add cleanup routine for error counter
RebeccaMahany Mar 10, 2023
5a69134
Merge branch 'main' into becca/tuf
RebeccaMahany Mar 13, 2023
c9bcd66
Commit tuf-dev/root.json
RebeccaMahany Mar 13, 2023
195d984
Use binaryName instead of binaryPath
RebeccaMahany Mar 13, 2023
7be32e2
Just use launcher/osqueryd, don't include .exe for Windows
RebeccaMahany Mar 13, 2023
0dd8db2
move tuf pkg to nest under autoupdate
RebeccaMahany Mar 13, 2023
6293b19
Merge remote-tracking branch 'upstream/main' into becca/tuf
RebeccaMahany Mar 13, 2023
6b6be3f
Remove new autoupdater from cmd/launcher/internal/updater
RebeccaMahany Mar 13, 2023
34eeb99
Actually fix test on windows
RebeccaMahany Mar 13, 2023
37b8a05
Log binary as well
RebeccaMahany Mar 13, 2023
3418978
Add TUF url to ip lookups in checkpointer
RebeccaMahany Mar 13, 2023
0323c0f
Use const for tuf directory name that we will need to update later; u…
RebeccaMahany Mar 14, 2023
e3141a2
Don't need to export default channel const
RebeccaMahany Mar 14, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 20 additions & 2 deletions cmd/launcher/internal/updater/mocks/updater.go

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

1 change: 1 addition & 0 deletions cmd/launcher/internal/updater/updater_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ func Test_updaterCmd_execute(t *testing.T) {
t.Parallel()

type fields struct {
// Mock generated with `mockery --name updater --exported`
updater *mocks.Updater
stopChan chan bool
config *UpdaterConfig
Expand Down
47 changes: 43 additions & 4 deletions cmd/launcher/launcher.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import (
"github.com/kolide/launcher/ee/localserver"
"github.com/kolide/launcher/pkg/agent"
agentbbolt "github.com/kolide/launcher/pkg/agent/storage/bbolt"
"github.com/kolide/launcher/pkg/autoupdate/tuf"
"github.com/kolide/launcher/pkg/contexts/ctxlog"
"github.com/kolide/launcher/pkg/debug"
"github.com/kolide/launcher/pkg/launcher"
Expand Down Expand Up @@ -304,11 +305,11 @@ func runLauncher(ctx context.Context, cancel func(), opts *launcher.Options) err
}

// create an updater for osquery
osqueryUpdater, err := updater.NewUpdater(ctx, opts.OsquerydPath, runnerRestart, osqueryUpdaterconfig)
osqueryLegacyUpdater, err := updater.NewUpdater(ctx, opts.OsquerydPath, runnerRestart, osqueryUpdaterconfig)
if err != nil {
return fmt.Errorf("create osquery updater: %w", err)
}
runGroup.Add(osqueryUpdater.Execute, osqueryUpdater.Interrupt)
runGroup.Add(osqueryLegacyUpdater.Execute, osqueryLegacyUpdater.Interrupt)

launcherUpdaterconfig := &updater.UpdaterConfig{
Logger: logger,
Expand All @@ -328,7 +329,7 @@ func runLauncher(ctx context.Context, cancel func(), opts *launcher.Options) err
if err != nil {
logutil.Fatal(logger, "err", err)
}
launcherUpdater, err := updater.NewUpdater(
launcherLegacyUpdater, err := updater.NewUpdater(
ctx,
launcherPath,
updater.UpdateFinalizer(logger, func() error {
Expand All @@ -343,7 +344,45 @@ func runLauncher(ctx context.Context, cancel func(), opts *launcher.Options) err
if err != nil {
return fmt.Errorf("create launcher updater: %w", err)
}
runGroup.Add(launcherUpdater.Execute, launcherUpdater.Interrupt)
runGroup.Add(launcherLegacyUpdater.Execute, launcherLegacyUpdater.Interrupt)

// Create a new TUF autoupdater for osqueryd
osquerydMetadataClient := http.DefaultClient
osquerydMetadataClient.Timeout = 1 * time.Minute
osquerydAutoupdater, err := tuf.NewTufAutoupdater(
opts.TufServerURL,
"osqueryd",
opts.RootDirectory,
osquerydMetadataClient,
tuf.WithLogger(logger),
tuf.WithChannel(string(opts.UpdateChannel)),
tuf.WithUpdateCheckInterval(opts.AutoupdateInterval),
)
if err != nil {
// Log the error, but don't return it -- the new TUF autoupdater is not critical yet
level.Debug(logger).Log("msg", "could not create TUF autoupdater for osqueryd", "err", err)
} else {
runGroup.Add(osquerydAutoupdater.Execute, osquerydAutoupdater.Interrupt)
}

// Create a new TUF autoupdater for launcher
launcherMetadataClient := http.DefaultClient
launcherMetadataClient.Timeout = 1 * time.Minute
launcherAutoupdater, err := tuf.NewTufAutoupdater(
opts.TufServerURL,
"launcher",
opts.RootDirectory,
launcherMetadataClient,
tuf.WithLogger(logger),
tuf.WithChannel(string(opts.UpdateChannel)),
tuf.WithUpdateCheckInterval(opts.AutoupdateInterval),
)
if err != nil {
// Log the error, but don't return it -- the new TUF autoupdater is not critical yet
level.Debug(logger).Log("msg", "could not create TUF autoupdater for launcher", "err", err)
} else {
runGroup.Add(launcherAutoupdater.Execute, launcherAutoupdater.Interrupt)
}
}

if err := runGroup.Run(); err != nil {
Expand Down
3 changes: 3 additions & 0 deletions cmd/launcher/options.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import (

"github.com/kolide/kit/version"
"github.com/kolide/launcher/pkg/autoupdate"
"github.com/kolide/launcher/pkg/autoupdate/tuf"
"github.com/kolide/launcher/pkg/launcher"
"github.com/peterbourgon/ff/v3"
)
Expand Down Expand Up @@ -74,6 +75,7 @@ func parseOptions(args []string) (*launcher.Options, error) {
// Autoupdate options
flAutoupdate = flagset.Bool("autoupdate", false, "Whether or not the osquery autoupdater is enabled (default: false)")
flNotaryServerURL = flagset.String("notary_url", autoupdate.DefaultNotary, "The Notary update server (default: https://notary.kolide.co)")
flTufServerURL = flagset.String("tuf_url", tuf.DefaultTufServer, "TUF update server (default: https://tuf-devel.kolide.com)")
flMirrorURL = flagset.String("mirror_url", autoupdate.DefaultMirror, "The mirror server for autoupdates (default: https://dl.kolide.co)")
flAutoupdateInterval = flagset.Duration("autoupdate_interval", 1*time.Hour, "The interval to check for updates (default: once every hour)")
flUpdateChannel = flagset.String("update_channel", "stable", "The channel to pull updates from (options: stable, beta, nightly)")
Expand Down Expand Up @@ -230,6 +232,7 @@ func parseOptions(args []string) (*launcher.Options, error) {
MirrorServerURL: *flMirrorURL,
NotaryPrefix: *flNotaryPrefix,
NotaryServerURL: *flNotaryServerURL,
TufServerURL: *flTufServerURL,
OsqueryFlags: flOsqueryFlags,
OsqueryTlsConfigEndpoint: *flOsqTlsConfig,
OsqueryTlsDistributedReadEndpoint: *flOsqTlsDistRead,
Expand Down
1 change: 1 addition & 0 deletions cmd/launcher/options_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,7 @@ func getArgsAndResponse() (map[string]string, *launcher.Options) {
MirrorServerURL: "https://dl.kolide.co",
NotaryPrefix: "kolide",
NotaryServerURL: "https://notary.kolide.co",
TufServerURL: "https://tuf-devel.kolide.com",
OsquerydPath: windowsAddExe("/dev/null"),
Transport: "grpc",
UpdateChannel: "stable",
Expand Down
29 changes: 2 additions & 27 deletions ee/desktop/runner/runner_test.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package runner

import (
"bytes"
"context"
"fmt"
"io"
Expand All @@ -11,13 +10,13 @@ import (
"path/filepath"
"runtime"
"strings"
"sync"
"testing"
"time"

"github.com/go-kit/kit/log"
"github.com/kolide/kit/ulid"
"github.com/kolide/launcher/ee/desktop/notify"
"github.com/kolide/launcher/pkg/threadsafebuffer"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
Expand Down Expand Up @@ -110,7 +109,7 @@ func TestDesktopUserProcessRunner_Execute(t *testing.T) {
t.Run(tt.name, func(t *testing.T) {
t.Parallel()

var logBytes threadSafeBuffer
var logBytes threadsafebuffer.ThreadSafeBuffer

r := New(
WithLogger(log.NewLogfmtLogger(&logBytes)),
Expand Down Expand Up @@ -171,30 +170,6 @@ func TestDesktopUserProcessRunner_Execute(t *testing.T) {
}
}

// thank you zupa https://stackoverflow.com/a/36226525
type threadSafeBuffer struct {
b bytes.Buffer
m sync.Mutex
}

func (b *threadSafeBuffer) Read(p []byte) (n int, err error) {
b.m.Lock()
defer b.m.Unlock()
return b.b.Read(p)
}

func (b *threadSafeBuffer) Write(p []byte) (n int, err error) {
b.m.Lock()
defer b.m.Unlock()
return b.b.Write(p)
}

func (b *threadSafeBuffer) String() string {
b.m.Lock()
defer b.m.Unlock()
return b.b.String()
}

func launcherRootDir(t *testing.T) string {
safeTestName := fmt.Sprintf("%s_%s", "launcher_desktop_test", ulid.New())

Expand Down
8 changes: 4 additions & 4 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ require (
github.com/ghodss/yaml v1.0.0
github.com/go-bindata/go-bindata v1.0.0
github.com/go-ini/ini v1.61.0
github.com/go-kit/kit v0.8.0
github.com/go-kit/kit v0.9.0
github.com/go-ole/go-ole v1.2.6
github.com/godbus/dbus/v5 v5.1.0
github.com/golang/protobuf v1.5.2
Expand All @@ -34,6 +34,7 @@ require (
github.com/shirou/gopsutil v3.21.11+incompatible
github.com/sirupsen/logrus v1.8.1 // indirect
github.com/stretchr/testify v1.8.1
github.com/theupdateframework/go-tuf v0.5.2
github.com/theupdateframework/notary v0.6.1
github.com/tklauser/go-sysconf v0.3.10 // indirect
github.com/yusufpapurcu/wmi v1.2.2 // indirect
Expand All @@ -55,7 +56,6 @@ require (

require (
github.com/kolide/systray v1.10.3
github.com/vmihailenco/msgpack/v5 v5.3.5
gopkg.in/toast.v1 v1.0.0-20180812000517-0a84660828b2
)

Expand Down Expand Up @@ -87,24 +87,24 @@ require (
github.com/jinzhu/inflection v0.0.0-20180308033659-04140366298a // indirect
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 // indirect
github.com/miekg/pkcs11 v0.0.0-20180208123018-5f6e0d0dad6f // indirect
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect
github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d // indirect
github.com/oklog/ulid v1.3.1 // indirect
github.com/onsi/ginkgo v1.7.0 // indirect
github.com/onsi/gomega v1.4.3 // indirect
github.com/opencontainers/go-digest v1.0.0-rc1 // indirect
github.com/opencontainers/image-spec v1.0.2 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/secure-systems-lab/go-securesystemslib v0.5.0 // indirect
github.com/smartystreets/goconvey v1.6.4 // indirect
github.com/spf13/viper v1.8.1 // indirect
github.com/stretchr/objx v0.5.0 // indirect
github.com/tevino/abool v1.2.0 // indirect
github.com/tklauser/numcpus v0.4.0 // indirect
github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c // indirect
google.golang.org/protobuf v1.26.0 // indirect
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect
gopkg.in/dancannon/gorethink.v3 v3.0.5 // indirect
gopkg.in/fatih/pool.v2 v2.0.0 // indirect
gopkg.in/gorethink/gorethink.v3 v3.0.5 // indirect
Expand Down
16 changes: 9 additions & 7 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -133,8 +133,9 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2
github.com/go-ini/ini v1.61.0 h1:+IytwU4FcXqB+i5Vqiu/Ybf/Jdin9Pwzdxs5lmuT10o=
github.com/go-ini/ini v1.61.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8=
github.com/go-kit/kit v0.7.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/kit v0.8.0 h1:Wz+5lgoB0kkuqLEc6NVmwRknTKP6dTGbSqvhZtBI/j0=
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/kit v0.9.0 h1:wDJmvq38kDhkVxi50ni9ykkdUr1PKgqKOoi01fa0Mdk=
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
github.com/go-logfmt/logfmt v0.4.0 h1:MP4Eh7ZCb31lleYCFuwm0oe4/YGak+5l1vA2NOE80nA=
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
Expand Down Expand Up @@ -209,6 +210,7 @@ github.com/google/go-tpm-tools v0.0.0-20190906225433-1614c142f845/go.mod h1:AVfH
github.com/google/go-tpm-tools v0.2.0/go.mod h1:npUd03rQ60lxN7tzeBJreG38RvWwme2N1reF/eeiBk4=
github.com/google/go-tpm-tools v0.3.10 h1:hz9EoyG4Ewa0leT3OvxlWprq14Lw0RBmfFcH9H9+Yas=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
Expand Down Expand Up @@ -297,8 +299,6 @@ github.com/kolide/kit v0.0.0-20221107170827-fb85e3d59eab h1:KVR7cs+oPyy85i+8t1Za
github.com/kolide/kit v0.0.0-20221107170827-fb85e3d59eab/go.mod h1:OYYulo9tUqRadRLwB0+LE914sa1ui2yL7OrcU3Q/1XY=
github.com/kolide/krypto v0.0.0-20230209233022-9fce3e429899 h1:xxLm19kyV9FUxN7T9B+5IXcMU3kHOyPF/ULHcbz4cD0=
github.com/kolide/krypto v0.0.0-20230209233022-9fce3e429899/go.mod h1:PvKvoNvMWfyPXZN9/yXNrGtAasI2b+sc8RpwkCJGzzc=
github.com/kolide/systray v1.10.2 h1:98mJhoVE1XHDTMdqag8BGh1Qt9IaA9/wKZCFs0z5VyU=
github.com/kolide/systray v1.10.2/go.mod h1:FwK9yUmU3JO+vA7TOLQSFRgEQ3euLxOqic5qlBtFrik=
github.com/kolide/systray v1.10.3 h1:PcWYvDepwRn2Sk7mLXM5LlMiIwCTRTUEqDELATVJYx0=
github.com/kolide/systray v1.10.3/go.mod h1:FwK9yUmU3JO+vA7TOLQSFRgEQ3euLxOqic5qlBtFrik=
github.com/kolide/updater v0.0.0-20190315001611-15bbc19b5b80 h1:XFzdAHvTlbQoHZdEgOEiFt93eyfXP6VZCwH5p+lPpBg=
Expand All @@ -308,6 +308,7 @@ github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/pty v1.1.2 h1:Q7kfkJVHag8Gix8Z5+eTo09NFHV8MXL9K66sv9qDaVI=
github.com/kr/pty v1.1.2/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
Expand Down Expand Up @@ -346,8 +347,6 @@ github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3Rllmb
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ=
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d h1:VhgPp6v9qf9Agr/56bj7Y/xa04UccTW04VP0Qed4vnQ=
github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d/go.mod h1:YUTz3bUH2ZwIWBy3CJBeOBEugqcmXREj14T+iG/4k4U=
github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw=
Expand Down Expand Up @@ -406,6 +405,8 @@ github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb
github.com/scjalliance/comshim v0.0.0-20190308082608-cf06d2532c4e h1:+/AzLkOdIXEPrAQtwAeWOBnPQ0BnYlBW0aCZmSb47u4=
github.com/scjalliance/comshim v0.0.0-20190308082608-cf06d2532c4e/go.mod h1:9Tc1SKnfACJb9N7cw2eyuI6xzy845G7uZONBsi5uPEA=
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
github.com/secure-systems-lab/go-securesystemslib v0.5.0 h1:oTiNu0QnulMQgN/hLK124wJD/r2f9ZhIUuKIeBsCBT8=
github.com/secure-systems-lab/go-securesystemslib v0.5.0/go.mod h1:uoCqUC0Ap7jrBSEanxT+SdACYJTVplRXWLkGMuDjXqk=
github.com/serenize/snaker v0.0.0-20171204205717-a683aaf2d516 h1:ofR1ZdrNSkiWcMsRrubK9tb2/SlZVWttAfqUjJi6QYc=
github.com/serenize/snaker v0.0.0-20171204205717-a683aaf2d516/go.mod h1:Yow6lPLSAXx2ifx470yD/nUe22Dv5vBvxK/UK9UUTVs=
github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI=
Expand Down Expand Up @@ -459,6 +460,8 @@ github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
github.com/tevino/abool v1.2.0 h1:heAkClL8H6w+mK5md9dzsuohKeXHUpY7Vw0ZCKW+huA=
github.com/tevino/abool v1.2.0/go.mod h1:qc66Pna1RiIsPa7O4Egxxs9OqkuxDX55zznh9K07Tzg=
github.com/theupdateframework/go-tuf v0.5.2 h1:habfDzTmpbzBLIFGWa2ZpVhYvFBoK0C1onC3a4zuPRA=
github.com/theupdateframework/go-tuf v0.5.2/go.mod h1:SyMV5kg5n4uEclsyxXJZI2UxPFJNDc4Y+r7wv+MlvTA=
github.com/theupdateframework/notary v0.6.1 h1:7wshjstgS9x9F5LuB1L5mBI2xNMObWqjz+cjWoom6l0=
github.com/theupdateframework/notary v0.6.1/go.mod h1:MOfgIfmox8s7/7fduvB2xyPPMJCrjRLRizA8OFwpnKY=
github.com/tklauser/go-sysconf v0.3.10 h1:IJ1AZGZRWbY8T5Vfk04D9WOA5WSejdflXxP03OUqALw=
Expand Down Expand Up @@ -874,8 +877,7 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/dancannon/gorethink.v3 v3.0.5 h1:/g7PWP7zUS6vSNmHSDbjCHQh1Rqn8Jy6zSMQxAsBSMQ=
gopkg.in/dancannon/gorethink.v3 v3.0.5/go.mod h1:GXsi1e3N2OcKhcP6nsYABTiUejbWMFO4GY5a4pEaeEc=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
Expand Down
Loading