import "go.chromium.org/luci/resultdb/internal/artifactcontent"
Package artifactcontent can serve artifact content via plain HTTP securely.
RBEConn creates a gRPC connection to RBE authenticated as self.
RegisterRBEInstanceFlag registers -artifact-rbe-instance flag.
HostnameProvider returns a hostname to use in generated signed URLs.
As input it accepts `host` metadata value of the GetArtifacts etc. requests. It may be an empty string. HostnameProvider must return some host name in this case too.
type Server struct { // Use http:// (not https://) for generated URLs. InsecureURLs bool // Returns a hostname to use in generated signed URLs. HostnameProvider HostnameProvider // Reads a blob from RBE-CAS. ReadCASBlob func(ctx context.Context, req *bytestream.ReadRequest) (bytestream.ByteStream_ReadClient, error) // Full name of the RBE-CAS instance used to store artifacts, // e.g. "projects/luci-resultdb/instances/artifacts". RBECASInstanceName string // contains filtered or unexported fields }
Server can serve artifact content, and generate signed URLs to the content.
func (s *Server) GenerateSignedURL(ctx context.Context, requestHost, artifactName string) (url string, expiration time.Time, err error)
GenerateSignedURL generates a signed HTTPS URL back to this server. The returned token works only with the same artifact name.
Init initializes the server. It must be called before calling other methods.
InstallHandlers installs handlers to serve artifact content.
May be called multiple times to install the handler into multiple virtual hosts.
Package artifactcontent imports 29 packages (graph) and is imported by 4 packages. Updated 2021-01-27. Refresh now. Tools for package owners.