Documentation ¶
Index ¶
- Constants
- Variables
- func LoadControllerRegistration(r io.Reader) ([]runtime.Object, error)
- func LoadLocks(data []byte) (*gemapi.Locks, error)
- func LoadLocksFromFile(filename string) (*gemapi.Locks, error)
- func LoadRequirements(data []byte) (*gemapi.Requirements, error)
- func LoadRequirementsFromFile(filename string) (*gemapi.Requirements, error)
- func WriteLocks(locks *gemapi.Locks) ([]byte, error)
- func WriteLocksInto(locks *gemapi.Locks, w io.Writer) error
- func WriteLocksToFile(locks *gemapi.Locks, filename string) error
- func WriteRequirements(requirements *gemapi.Requirements) ([]byte, error)
- func WriteRequirementsInto(requirements *gemapi.Requirements, w io.Writer) error
- func WriteRequirementsToFile(requirements *gemapi.Requirements, filename string) error
- type Interface
- type ModuleKeySet
- type Repository
- type RepositoryInterface
- type RepositoryRegistry
- type RepositoryVersion
- type TargetSolver
- type TargetSolverFactory
- type TargetSolverFactoryFunc
- type UpdatePolicy
Constants ¶
View Source
const (
DefaultPath = "controller-registration.yaml"
)
Variables ¶
View Source
var ( // Solve is an alias for `Default.Solve`. Solve = Default.Solve // Fetch is an alias for `Default.Fetch`. Fetch = Default.Fetch // Ensure is an alias for `Default.Ensure`. Ensure = Default.Ensure )
View Source
var ( DefaultLogger = logrus.New() DefaultRegistry = NewRepositoryRegistryCache(NewRepositoryRegistryCachingRepositoryWrapper(GitRepositoryRegistry)) DefaultTargetSolverFactoryFunc = TargetSolverFactoryFunc(NewSolver) Default = New(DefaultLogger, DefaultRegistry, DefaultTargetSolverFactoryFunc) )
View Source
var GardenCoreCodec runtime.Codec
Functions ¶
func LoadRequirements ¶
func LoadRequirements(data []byte) (*gemapi.Requirements, error)
func LoadRequirementsFromFile ¶
func LoadRequirementsFromFile(filename string) (*gemapi.Requirements, error)
func WriteRequirements ¶
func WriteRequirements(requirements *gemapi.Requirements) ([]byte, error)
func WriteRequirementsInto ¶
func WriteRequirementsInto(requirements *gemapi.Requirements, w io.Writer) error
func WriteRequirementsToFile ¶
func WriteRequirementsToFile(requirements *gemapi.Requirements, filename string) error
Types ¶
type Interface ¶
type Interface interface { Repository(repositoryName string) (RepositoryInterface, error) Solve(requirements *gemapi.Requirements) (*gemapi.Locks, error) Fetch(requirements *gemapi.Requirements, locks *gemapi.Locks) ([]runtime.Object, error) Ensure(requirements *gemapi.Requirements, locks *gemapi.Locks, updatePolicy UpdatePolicy) (*gemapi.Locks, error) }
func New ¶
func New(log logrus.FieldLogger, registry RepositoryRegistry, targetSolverFactory TargetSolverFactory) Interface
type ModuleKeySet ¶
func NewModuleKeySet ¶
func NewModuleKeySet(keys ...gemapi.ModuleKey) ModuleKeySet
func (ModuleKeySet) Insert ¶
func (u ModuleKeySet) Insert(keys ...gemapi.ModuleKey)
func (ModuleKeySet) Len ¶
func (u ModuleKeySet) Len() int
func (ModuleKeySet) UnsortedList ¶
func (u ModuleKeySet) UnsortedList() []gemapi.ModuleKey
type Repository ¶
type Repository interface { Revision(name string) (string, error) Branch(name string) (string, error) Versions() ([]RepositoryVersion, error) Latest() (string, error) File(hash, path string) (io.Reader, error) HasFile(hash, path string) (bool, error) }
func NewCachingRepository ¶
func NewCachingRepository(repository Repository) Repository
func NewGitRepository ¶
func NewGitRepository(repo *git.Repository) Repository
type RepositoryInterface ¶
type RepositoryInterface interface { SolveTarget(target gemapi.Target) (*gemapi.Lock, error) Verify(submodule string, requirement *gemapi.Requirement, lock *gemapi.Lock) error Solve(submodule string, requirement *gemapi.Requirement) (*gemapi.Lock, error) Ensure(submodule string, requirement *gemapi.Requirement, lock *gemapi.Lock, update bool) (*gemapi.Lock, error) Fetch(submodule string, requirement *gemapi.Requirement, lock *gemapi.Lock) ([]runtime.Object, error) }
func NewRepositoryInterface ¶
func NewRepositoryInterface(targetSolver TargetSolver, repository Repository) RepositoryInterface
type RepositoryRegistry ¶
type RepositoryRegistry interface {
Repository(name string) (Repository, error)
}
var GitRepositoryRegistry RepositoryRegistry = gitRepositoryRegistry{}
func NewRepositoryRegistryCache ¶
func NewRepositoryRegistryCache(registry RepositoryRegistry) RepositoryRegistry
func NewRepositoryRegistryCachingRepositoryWrapper ¶
func NewRepositoryRegistryCachingRepositoryWrapper(registry RepositoryRegistry) RepositoryRegistry
type RepositoryVersion ¶
type TargetSolver ¶
func NewSolver ¶
func NewSolver(repo Repository) TargetSolver
type TargetSolverFactory ¶
type TargetSolverFactory interface {
New(repository Repository) TargetSolver
}
type TargetSolverFactoryFunc ¶
type TargetSolverFactoryFunc func(repository Repository) TargetSolver
func (TargetSolverFactoryFunc) New ¶
func (f TargetSolverFactoryFunc) New(repository Repository) TargetSolver
type UpdatePolicy ¶
var UpdateAll UpdatePolicy = updateAll{}
func UpdateModuleKeySet ¶
func UpdateModuleKeySet(set ModuleKeySet) UpdatePolicy
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package api contains API schema definitions for the gem internal API group.
|
Package api contains API schema definitions for the gem internal API group. |
v1alpha1
Package v1alpha1 contains API schema definitions for the gem v1alpha1 API group.
|
Package v1alpha1 contains API schema definitions for the gem v1alpha1 API group. |
Click to show internal directories.
Click to hide internal directories.