MCPcopy Create free account
hub / github.com/chainloop-dev/chainloop / Upload

Method Upload

pkg/blobmanager/s3accesspoint/backend.go:147–166  ·  view source on GitHub ↗
(ctx context.Context, r io.Reader, resource *pb.CASResource)

Source from the content-addressed store, hash-verified

145}
146
147func (b *Backend) Upload(ctx context.Context, r io.Reader, resource *pb.CASResource) error {
148 key, err := b.keyFor(ctx, resource.Digest)
149 if err != nil {
150 return err
151 }
152 uploader := manager.NewUploader(b.s3Client)
153 _, err = uploader.Upload(ctx, &s3.PutObjectInput{
154 Bucket: aws.String(b.creds.AccessPointARN),
155 Key: aws.String(key),
156 Body: r,
157 Metadata: map[string]string{
158 annotationNameAuthor: backend.AuthorAnnotation,
159 annotationNameFilename: resource.FileName,
160 },
161 })
162 if err != nil {
163 return fmt.Errorf("uploading to access point: %w", err)
164 }
165 return nil
166}
167
168func (b *Backend) Describe(ctx context.Context, digest string) (*pb.CASResource, error) {
169 key, err := b.keyFor(ctx, digest)

Callers

nothing calls this directly

Calls 3

keyForMethod · 0.95
UploadMethod · 0.95
StringMethod · 0.65

Tested by

no test coverage detected