Skip to content

Commit 6b22675

Browse files
committed
pass http client for use with tuf
Signed-off-by: Meredith Lancaster <malancas@github.com>
1 parent d606882 commit 6b22675

4 files changed

Lines changed: 10 additions & 8 deletions

File tree

pkg/cmd/attestation/trustedroot/trustedroot.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ func getTrustedRoot(makeTUF tufClientInstantiator, opts *Options) error {
122122
var tufOptions []tufConfig
123123
var defaultTR = "trusted_root.json"
124124

125-
tufOpt := verification.DefaultOptionsWithCacheSetting(o.None[string]())
125+
tufOpt := verification.DefaultOptionsWithCacheSetting(o.None[string](), nil)
126126
// Disable local caching, so we get up-to-date response from TUF repository
127127
tufOpt.CacheValidity = 0
128128

@@ -151,7 +151,7 @@ func getTrustedRoot(makeTUF tufClientInstantiator, opts *Options) error {
151151
targets: []string{defaultTR},
152152
})
153153

154-
tufOpt = verification.GitHubTUFOptions(o.None[string]())
154+
tufOpt = verification.GitHubTUFOptions(o.None[string](), nil)
155155
tufOpt.CacheValidity = 0
156156
tufOptions = append(tufOptions, tufConfig{
157157
tufOptions: tufOpt,

pkg/cmd/attestation/verification/sigstore.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ func NewLiveSigstoreVerifier(config SigstoreConfig) (*LiveSigstoreVerifier, erro
7373
return liveVerifier, nil
7474
}
7575
if !config.NoPublicGood {
76-
publicGoodVerifier, err := newPublicGoodVerifier(config.TUFMetadataDir)
76+
publicGoodVerifier, err := newPublicGoodVerifier(config.TUFMetadataDir, config.HttpClient)
7777
if err != nil {
7878
return nil, err
7979
}
@@ -350,8 +350,8 @@ func newGitHubVerifierWithTrustedRoot(trustedRoot *root.TrustedRoot) (*verify.Si
350350
return gv, nil
351351
}
352352

353-
func newPublicGoodVerifier(tufMetadataDir o.Option[string]) (*verify.SignedEntityVerifier, error) {
354-
opts := DefaultOptionsWithCacheSetting(tufMetadataDir)
353+
func newPublicGoodVerifier(tufMetadataDir o.Option[string], hc *http.Client) (*verify.SignedEntityVerifier, error) {
354+
opts := DefaultOptionsWithCacheSetting(tufMetadataDir, hc)
355355
client, err := tuf.New(opts)
356356
if err != nil {
357357
return nil, fmt.Errorf("failed to create TUF client: %v", err)

pkg/cmd/attestation/verification/tuf.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@ package verification
22

33
import (
44
_ "embed"
5+
"net/http"
56
"os"
67
"path/filepath"
78

9+
"github.com/cenkalti/backoff/v5"
810
o "github.com/cli/cli/v2/pkg/option"
911
"github.com/cli/go-gh/v2/pkg/config"
1012
"github.com/sigstore/sigstore-go/pkg/tuf"
@@ -43,7 +45,7 @@ func DefaultOptionsWithCacheSetting(tufMetadataDir o.Option[string], hc *http.Cl
4345
}
4446

4547
func GitHubTUFOptions(tufMetadataDir o.Option[string], hc *http.Client) *tuf.Options {
46-
opts := DefaultOptionsWithCacheSetting(tufMetadataDir)
48+
opts := DefaultOptionsWithCacheSetting(tufMetadataDir, hc)
4749

4850
opts.Root = githubRoot
4951
opts.RepositoryBaseURL = GitHubTUFMirror

pkg/cmd/attestation/verification/tuf_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212

1313
func TestGitHubTUFOptionsNoMetadataDir(t *testing.T) {
1414
os.Setenv("CODESPACES", "true")
15-
opts := GitHubTUFOptions(o.None[string]())
15+
opts := GitHubTUFOptions(o.None[string](), nil)
1616

1717
require.Equal(t, GitHubTUFMirror, opts.RepositoryBaseURL)
1818
require.NotNil(t, opts.Root)
@@ -21,6 +21,6 @@ func TestGitHubTUFOptionsNoMetadataDir(t *testing.T) {
2121
}
2222

2323
func TestGitHubTUFOptionsWithMetadataDir(t *testing.T) {
24-
opts := GitHubTUFOptions(o.Some("anything"))
24+
opts := GitHubTUFOptions(o.Some("anything"), nil)
2525
require.Equal(t, "anything", opts.CachePath)
2626
}

0 commit comments

Comments
 (0)