Files
attest/mirror/mirror.go

20 lines
670 B
Go
Raw Normal View History

2024-04-15 15:20:56 -05:00
package mirror
import (
"context"
2024-04-15 15:20:56 -05:00
"fmt"
"github.com/docker/attest/tuf"
2024-04-15 15:20:56 -05:00
)
func NewTUFMirror(ctx context.Context, root []byte, tufPath, metadataURL, targetsURL string, versionChecker tuf.VersionChecker) (*TUFMirror, error) {
2024-04-15 15:20:56 -05:00
if root == nil {
root = tuf.DockerTUFRootDefault.Data
2024-04-15 15:20:56 -05:00
}
tufClient, err := tuf.NewClient(ctx, &tuf.ClientOptions{InitialRoot: root, Path: tufPath, MetadataSource: metadataURL, TargetsSource: targetsURL, VersionChecker: versionChecker})
2024-04-15 15:20:56 -05:00
if err != nil {
return nil, fmt.Errorf("failed to create TUF client: %w", err)
}
return &TUFMirror{TUFClient: tufClient, tufPath: tufPath, metadataURL: metadataURL, targetsURL: targetsURL}, nil
2024-04-15 15:20:56 -05:00
}