in pkg/berglas/access.go [132:166]
func (c *Client) storageAccess(ctx context.Context, i *StorageAccessRequest) ([]byte, error) {
bucket := i.Bucket
if bucket == "" {
return nil, fmt.Errorf("missing bucket name")
}
object := i.Object
if object == "" {
return nil, fmt.Errorf("missing object name")
}
generation := i.Generation
if generation == 0 {
generation = -1
}
logger := logging.FromContext(ctx).With(
"bucket", bucket,
"object", object,
"generation", generation,
)
logger.DebugContext(ctx, "access.start")
defer logger.DebugContext(ctx, "access.finish")
secret, err := c.Read(ctx, &ReadRequest{
Bucket: bucket,
Object: object,
Generation: generation,
})
if err != nil {
return nil, fmt.Errorf("failed to access secret: %w", err)
}
return secret.Plaintext, nil
}