Skip to content

Commit 0125f41

Browse files
authored
Merge pull request #39 from buildbarn/noop
Register no-op archiver for bytestream URIs
2 parents b8abfd0 + 99e18a9 commit 0125f41

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

cmd/bb_portal/main.go

+4
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,12 @@ func configureBlobArchiving(blobArchiver processing.BlobMultiArchiver, archiveFo
115115
if err != nil {
116116
fatal("failed to create blob archive folder", "folder", archiveFolder, "err", err)
117117
}
118+
118119
localBlobArchiver := processing.NewLocalFileArchiver(archiveFolder)
119120
blobArchiver.RegisterArchiver("file", localBlobArchiver)
121+
122+
noopArchiver := processing.NewNoopArchiver()
123+
blobArchiver.RegisterArchiver("bytestream", noopArchiver)
120124
}
121125

122126
func runWatcher(watcher *fsnotify.Watcher, client *ent.Client, bepFolder string, blobArchiver processing.BlobMultiArchiver) {

pkg/processing/archive.go

+18
Original file line numberDiff line numberDiff line change
@@ -125,3 +125,21 @@ func (lfa LocalFileArchiver) archiveBlob(blobURI detectors.BlobURI) (*ent.Blob,
125125
ArchiveURL: destPath,
126126
}, nil
127127
}
128+
129+
// NoopArchiver is an archiver which does not archive blobs. This is useful in situations where
130+
// it is desirable to register an archiver for some URI scheme, without archiving those blobs.
131+
type NoopArchiver struct{}
132+
133+
// NewNoopArchiver creates a new NoopArchiver
134+
func NewNoopArchiver() NoopArchiver {
135+
return NoopArchiver{}
136+
}
137+
138+
// ArchiveBlob Archive Blob function.
139+
func (na NoopArchiver) ArchiveBlob(_ context.Context, blobURI detectors.BlobURI) ent.Blob {
140+
return ent.Blob{
141+
URI: string(blobURI),
142+
SizeBytes: 0,
143+
ArchiveURL: "",
144+
}
145+
}

0 commit comments

Comments
 (0)