package providers import ( "fmt" "git.badhouseplants.net/allanger/shoebill/internal/utils/diff" "git.badhouseplants.net/allanger/shoebill/internal/utils/githelper" "git.badhouseplants.net/allanger/shoebill/pkg/lockfile" ) type Provider interface { SyncState(diff.ReleasesDiffs, diff.RepositoriesDiffs) (lockfile.HashesPerReleases, error) } func NewProvider(provider, path, sopsBin string, gh githelper.Githelper) (Provider, error) { switch provider { case "flux": return FluxProvider(path, sopsBin, gh), nil default: return nil, fmt.Errorf("provider is not supported: %s", provider) } }