Files
hauler/pkg/store/add.go
Josh Wolf 372af894b3 refactor to baseline on pluggable oci collection/distribution (#41)
refactor to baseline on pluggable oci collection/distribution

Co-authored-by: Josh Wolf <josh@joshwolf.dev>
2021-10-29 15:55:20 -06:00

48 lines
747 B
Go

package store
import (
"context"
"github.com/rancherfederal/hauler/pkg/content"
"github.com/rancherfederal/hauler/pkg/log"
)
type addOptions struct {
repo string
}
type AddOption func(*addOptions)
func makeAddOptions(opts ...AddOption) addOptions {
opt := addOptions{}
for _, o := range opts {
o(&opt)
}
return opt
}
func (s *Store) Add(ctx context.Context, oci content.Oci, opts ...AddOption) error {
l := log.FromContext(ctx)
opt := makeAddOptions(opts...)
if err := s.precheck(); err != nil {
return err
}
if opt.repo == "" {
}
if err := oci.Copy(ctx, s.registryURL()); err != nil {
return err
}
_ = l
return nil
}
func OverrideRepo(r string) AddOption {
return func(opts *addOptions) {
opts.repo = r
}
}