mirror of
https://github.com/onepanelio/onepanel.git
synced 2025-10-06 14:16:51 +08:00
Updating GetArtifact to support GCS.
This commit is contained in:
@@ -1096,23 +1096,52 @@ func (c *Client) GetArtifact(namespace, uid, key string) (data []byte, err error
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
var (
|
||||||
|
stream io.ReadCloser
|
||||||
|
)
|
||||||
|
switch {
|
||||||
|
case config.ArtifactRepository.S3 != nil:
|
||||||
|
{
|
||||||
s3Client, err := c.GetS3Client(namespace, config.ArtifactRepository.S3)
|
s3Client, err := c.GetS3Client(namespace, config.ArtifactRepository.S3)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
opts := s3.GetObjectOptions{}
|
opts := s3.GetObjectOptions{}
|
||||||
stream, err := s3Client.GetObject(config.ArtifactRepository.S3.Bucket, key, opts)
|
stream, err = s3Client.GetObject(config.ArtifactRepository.S3.Bucket, key, opts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.WithFields(log.Fields{
|
log.WithFields(log.Fields{
|
||||||
"Namespace": namespace,
|
"Namespace": namespace,
|
||||||
"UID": uid,
|
"UID": uid,
|
||||||
"Key": key,
|
"Key": key,
|
||||||
"Error": err.Error(),
|
"Error": err.Error(),
|
||||||
}).Error("Metrics do not exist.")
|
}).Error("Artifact does not exist.")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
case config.ArtifactRepository.GCS != nil:
|
||||||
|
{
|
||||||
|
ctx := context.Background()
|
||||||
|
gcsClient, err := c.GetGCSClient(namespace, config.ArtifactRepository.GCS)
|
||||||
|
if err != nil {
|
||||||
|
log.WithFields(log.Fields{
|
||||||
|
"Namespace": namespace,
|
||||||
|
"UID": uid,
|
||||||
|
"Error": err.Error(),
|
||||||
|
}).Error("Artifact does not exist.")
|
||||||
|
return nil, util.NewUserError(codes.NotFound, "Artifact does not exist.")
|
||||||
|
}
|
||||||
|
stream, err = gcsClient.Bucket(config.ArtifactRepository.GCS.Bucket).Object(key).NewReader(ctx)
|
||||||
|
if err != nil {
|
||||||
|
log.WithFields(log.Fields{
|
||||||
|
"Namespace": namespace,
|
||||||
|
"UID": uid,
|
||||||
|
"Error": err.Error(),
|
||||||
|
}).Error("Artifact does not exist.")
|
||||||
|
return nil, util.NewUserError(codes.NotFound, "Artifact does not exist.")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
data, err = ioutil.ReadAll(stream)
|
data, err = ioutil.ReadAll(stream)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Reference in New Issue
Block a user