in pkg/berglas/create.go [192:227]
func (c *Client) storageCreate(ctx context.Context, i *StorageCreateRequest) (*Secret, 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")
}
key := i.Key
if key == "" {
return nil, fmt.Errorf("missing key name")
}
plaintext := i.Plaintext
if plaintext == nil {
return nil, fmt.Errorf("missing plaintext")
}
logger := logging.FromContext(ctx).With(
"bucket", bucket,
"object", object,
"key", key,
)
logger.DebugContext(ctx, "create.start")
defer logger.DebugContext(ctx, "create.finish")
secret, err := c.encryptAndWrite(ctx, bucket, object, key, plaintext, 0, 0)
if err != nil {
return nil, fmt.Errorf("failed to create secret: %w", err)
}
return secret, nil
}