23 lines
604 B
Go
23 lines
604 B
Go
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)
|
|
}
|
|
}
|