Documentation
¶
Overview ¶
Package app defines reference objects used to generate OpenShift API objects
Index ¶
- func IsBuilderImage(image *imageapi.DockerImage) bool
- func IsComponentReference(s string) bool
- func IsPossibleSourceRepository(s string) bool
- func IsRemoteRepository(s string) bool
- func JoinEnvironment(a, b []kapi.EnvVar) (out []kapi.EnvVar)
- func StrategyAndSourceForRepository(repo *SourceRepository) (*BuildStrategyRef, *SourceRef, error)
- type Acceptor
- type BuildRef
- type BuildStrategyRef
- type ComponentInput
- type ComponentMatch
- type ComponentReference
- type ComponentReferences
- type DeploymentConfigRef
- type Detector
- type DockerClientResolver
- type DockerRegistryResolver
- type Environment
- type ErrMultipleMatches
- type ErrNoMatch
- type Generated
- type GroupedComponentReferences
- type ImageRef
- func (r *ImageRef) BuildOutput() (*buildapi.BuildOutput, error)
- func (r *ImageRef) BuildTriggers() []buildapi.BuildTriggerPolicy
- func (r *ImageRef) DeployableContainer() (container *kapi.Container, triggers []deployapi.DeploymentTriggerPolicy, ...)
- func (r *ImageRef) ImageRepository() (*imageapi.ImageRepository, error)
- func (r *ImageRef) NameReference() string
- func (r *ImageRef) RepoName() string
- func (r *ImageRef) SuggestName() (string, bool)
- type ImageStreamResolver
- type NameSuggester
- type NameSuggestions
- type Objects
- type PerfectMatchWeightedResolver
- type Pipeline
- type PipelineGroup
- type ReferenceBuilder
- func (r *ReferenceBuilder) AddGroups(inputs []string)
- func (r *ReferenceBuilder) AddImages(inputs []string, fn func(*ComponentInput) ComponentReference)
- func (r *ReferenceBuilder) AddSourceRepository(input string) (*SourceRepository, bool)
- func (r *ReferenceBuilder) Result() (ComponentReferences, []*SourceRepository, []error)
- type Resolver
- type ScoredComponentMatches
- type Searcher
- type SourceLanguageType
- type SourceRef
- type SourceRepository
- func (r *SourceRepository) BuildWithDocker()
- func (r *SourceRepository) InUse() bool
- func (r *SourceRepository) IsDockerBuild() bool
- func (r *SourceRepository) LocalPath() (string, error)
- func (r *SourceRepository) Remote() bool
- func (r *SourceRepository) String() string
- func (r *SourceRepository) UsedBy(ref ComponentReference)
- type SourceRepositoryEnumerator
- type SourceRepositoryInfo
- type WeightedResolver
- type WeightedResolvers
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsBuilderImage ¶
func IsBuilderImage(image *imageapi.DockerImage) bool
func IsComponentReference ¶
isComponentReference returns true if the provided string appears to be a reference to a source repository on disk, at a URL, a docker image name (which might be on a Docker registry or an OpenShift image stream), or a template.
func IsRemoteRepository ¶
func StrategyAndSourceForRepository ¶
func StrategyAndSourceForRepository(repo *SourceRepository) (*BuildStrategyRef, *SourceRef, error)
Types ¶
type Acceptor ¶
type Acceptor interface {
Accept(from interface{}) bool
}
func NewAcceptFirst ¶
func NewAcceptFirst() Acceptor
type BuildRef ¶
type BuildRef struct {
Source *SourceRef
Input *ImageRef
Strategy *BuildStrategyRef
Output *ImageRef
}
func (*BuildRef) BuildConfig ¶
func (r *BuildRef) BuildConfig() (*buildapi.BuildConfig, error)
type BuildStrategyRef ¶
BuildStrategyRef is a reference to a build strategy
func (*BuildStrategyRef) BuildStrategy ¶
func (s *BuildStrategyRef) BuildStrategy() (*buildapi.BuildStrategy, []buildapi.BuildTriggerPolicy)
BuildStrategy builds an OpenShift BuildStrategy from a BuildStrategyRef
type ComponentInput ¶
type ComponentInput struct {
Group int
From string
Argument string
Value string
ExpectToBuild bool
Uses *SourceRepository
Match *ComponentMatch
Resolver
}
func NewComponentInput ¶
func NewComponentInput(input string) (*ComponentInput, string, error)
func (*ComponentInput) Input ¶
func (i *ComponentInput) Input() *ComponentInput
func (*ComponentInput) NeedsSource ¶
func (i *ComponentInput) NeedsSource() bool
func (*ComponentInput) Resolve ¶
func (i *ComponentInput) Resolve() error
func (*ComponentInput) String ¶
func (i *ComponentInput) String() string
func (*ComponentInput) Use ¶
func (i *ComponentInput) Use(repo *SourceRepository)
type ComponentMatch ¶
type ComponentMatch struct {
Value string
Argument string
Name string
Description string
Score float32
Builder bool
Image *imageapi.DockerImage
ImageStream *imageapi.ImageRepository
ImageTag string
Template *templateapi.Template
}
func (*ComponentMatch) String ¶
func (m *ComponentMatch) String() string
type ComponentReference ¶
type ComponentReference interface {
Input() *ComponentInput
// Sets Input.Match or returns an error
Resolve() error
NeedsSource() bool
}
type ComponentReferences ¶
type ComponentReferences []ComponentReference
func (ComponentReferences) Group ¶
func (r ComponentReferences) Group() (refs []ComponentReferences)
func (ComponentReferences) NeedsSource ¶
func (r ComponentReferences) NeedsSource() (refs ComponentReferences)
type DeploymentConfigRef ¶
type DeploymentConfigRef struct {
Images []*ImageRef
Env Environment
}
func (*DeploymentConfigRef) DeploymentConfig ¶
func (r *DeploymentConfigRef) DeploymentConfig() (*deployapi.DeploymentConfig, error)
TODO: take a pod template spec as argument
type Detector ¶
type Detector interface {
Detect(dir string) (*SourceRepositoryInfo, error)
}
type DockerClientResolver ¶
type DockerClientResolver struct {
Client *docker.Client
// Optional, will delegate resolution to the registry if no local
// exact matches are found.
RegistryResolver Resolver
}
func (DockerClientResolver) Resolve ¶
func (r DockerClientResolver) Resolve(value string) (*ComponentMatch, error)
type DockerRegistryResolver ¶
type DockerRegistryResolver struct {
Client dockerregistry.Client
}
func (DockerRegistryResolver) Resolve ¶
func (r DockerRegistryResolver) Resolve(value string) (*ComponentMatch, error)
type Environment ¶
func NewEnvironment ¶
func NewEnvironment(envs ...map[string]string) Environment
func (Environment) List ¶
func (e Environment) List() []kapi.EnvVar
type ErrMultipleMatches ¶
type ErrMultipleMatches struct {
Image string
Matches []*ComponentMatch
}
func (ErrMultipleMatches) Error ¶
func (e ErrMultipleMatches) Error() string
func (ErrMultipleMatches) UsageError ¶
func (e ErrMultipleMatches) UsageError(commandName string) string
type ErrNoMatch ¶
type ErrNoMatch struct {
// contains filtered or unexported fields
}
func (ErrNoMatch) Error ¶
func (e ErrNoMatch) Error() string
func (ErrNoMatch) UsageError ¶
func (e ErrNoMatch) UsageError(commandName string) string
type GroupedComponentReferences ¶
type GroupedComponentReferences ComponentReferences
func (GroupedComponentReferences) Len ¶
func (m GroupedComponentReferences) Len() int
func (GroupedComponentReferences) Less ¶
func (m GroupedComponentReferences) Less(i, j int) bool
func (GroupedComponentReferences) Swap ¶
func (m GroupedComponentReferences) Swap(i, j int)
type ImageRef ¶
type ImageRef struct {
Namespace string
Name string
Tag string
Registry string
AsImageRepository bool
Repository *imageapi.ImageRepository
Info *imageapi.DockerImage
}
ImageRef is a reference to an image
func ImageFromRepository ¶
func ImageFromRepository(repo *image.ImageRepository, tag string) (*ImageRef, error)
func InputImageFromMatch ¶
func InputImageFromMatch(match *ComponentMatch) (*ImageRef, error)
func (*ImageRef) BuildOutput ¶
func (r *ImageRef) BuildOutput() (*buildapi.BuildOutput, error)
func (*ImageRef) BuildTriggers ¶
func (r *ImageRef) BuildTriggers() []buildapi.BuildTriggerPolicy
func (*ImageRef) DeployableContainer ¶
func (*ImageRef) ImageRepository ¶
func (r *ImageRef) ImageRepository() (*imageapi.ImageRepository, error)
func (*ImageRef) NameReference ¶
NameReference returns the name that other OpenShift objects may refer to this image as. Deployment Configs and Build Configs may look an image up in an image repository before creating other objects that use the name.
func (*ImageRef) SuggestName ¶
type ImageStreamResolver ¶
type ImageStreamResolver struct {
Client client.ImageRepositoriesNamespacer
Images client.ImagesNamespacer
Namespaces []string
}
func (ImageStreamResolver) Resolve ¶
func (r ImageStreamResolver) Resolve(value string) (*ComponentMatch, error)
type NameSuggester ¶
NameSuggester is an object that can suggest a name for itself
type NameSuggestions ¶
type NameSuggestions []NameSuggester
NameSuggestions suggests names from a collection of NameSuggesters
func (NameSuggestions) SuggestName ¶
func (s NameSuggestions) SuggestName() (string, bool)
SuggestName suggests a name given a collection of NameSuggesters
type Objects ¶
func AddServices ¶
type PerfectMatchWeightedResolver ¶
type PerfectMatchWeightedResolver []WeightedResolver
PerfectMatchWeightedResolver returns only matches from resolvers that are identified as exact (weight 0.0), and only matches from those resolvers that qualify as exact (score = 0.0). If no perfect matches exist, an ErrMultipleMatches is returned indicating the remaining candidate(s). Note that this metchod may resolve ErrMultipleMatches with a single match, indicating an error (no perfect match) but with only one candidate.
func (PerfectMatchWeightedResolver) Resolve ¶
func (r PerfectMatchWeightedResolver) Resolve(value string) (*ComponentMatch, error)
type Pipeline ¶
type Pipeline struct {
From string
InputImage *ImageRef
Build *BuildRef
Image *ImageRef
Deployment *DeploymentConfigRef
}
func NewBuildPipeline ¶
func (*Pipeline) NeedsDeployment ¶
func (p *Pipeline) NeedsDeployment(env Environment) error
type PipelineGroup ¶
type PipelineGroup []*Pipeline
func (PipelineGroup) Reduce ¶
func (g PipelineGroup) Reduce() error
func (PipelineGroup) String ¶
func (g PipelineGroup) String() string
type ReferenceBuilder ¶
type ReferenceBuilder struct {
// contains filtered or unexported fields
}
func (*ReferenceBuilder) AddGroups ¶
func (r *ReferenceBuilder) AddGroups(inputs []string)
func (*ReferenceBuilder) AddImages ¶
func (r *ReferenceBuilder) AddImages(inputs []string, fn func(*ComponentInput) ComponentReference)
func (*ReferenceBuilder) AddSourceRepository ¶
func (r *ReferenceBuilder) AddSourceRepository(input string) (*SourceRepository, bool)
func (*ReferenceBuilder) Result ¶
func (r *ReferenceBuilder) Result() (ComponentReferences, []*SourceRepository, []error)
type Resolver ¶
type Resolver interface {
// resolvers should return ErrMultipleMatches when more than one result could
// be construed as a match. Resolvers should set the score to 0.0 if this is a
// perfect match, and to higher values the less adequate the match is.
Resolve(value string) (*ComponentMatch, error)
}
type ScoredComponentMatches ¶
type ScoredComponentMatches []*ComponentMatch
func (ScoredComponentMatches) Exact ¶
func (m ScoredComponentMatches) Exact() []*ComponentMatch
func (ScoredComponentMatches) Len ¶
func (m ScoredComponentMatches) Len() int
func (ScoredComponentMatches) Less ¶
func (m ScoredComponentMatches) Less(i, j int) bool
func (ScoredComponentMatches) Swap ¶
func (m ScoredComponentMatches) Swap(i, j int)
type Searcher ¶
type Searcher interface {
Search(terms []string) ([]*ComponentMatch, error)
}
type SourceLanguageType ¶
type SourceRef ¶
SourceRef is a reference to a build source
func (*SourceRef) BuildSource ¶
func (r *SourceRef) BuildSource() (*buildapi.BuildSource, []buildapi.BuildTriggerPolicy)
BuildSource returns an OpenShift BuildSource from the SourceRef
func (*SourceRef) SuggestName ¶
SuggestName returns a name derived from the source URL
type SourceRepository ¶
type SourceRepository struct {
// contains filtered or unexported fields
}
SourceRepository represents an code repository that may be the target of a build.
func NewSourceRepository ¶
func NewSourceRepository(s string) (*SourceRepository, error)
NewSourceRepository creates a reference to a local or remote source code repository from a URL or path.
func (*SourceRepository) BuildWithDocker ¶
func (r *SourceRepository) BuildWithDocker()
func (*SourceRepository) InUse ¶
func (r *SourceRepository) InUse() bool
func (*SourceRepository) IsDockerBuild ¶
func (r *SourceRepository) IsDockerBuild() bool
func (*SourceRepository) LocalPath ¶
func (r *SourceRepository) LocalPath() (string, error)
func (*SourceRepository) Remote ¶
func (r *SourceRepository) Remote() bool
func (*SourceRepository) String ¶
func (r *SourceRepository) String() string
func (*SourceRepository) UsedBy ¶
func (r *SourceRepository) UsedBy(ref ComponentReference)
type SourceRepositoryEnumerator ¶
type SourceRepositoryEnumerator struct {
Detectors source.Detectors
Tester dockerfile.Tester
}
func (SourceRepositoryEnumerator) Detect ¶
func (e SourceRepositoryEnumerator) Detect(dir string) (*SourceRepositoryInfo, error)
type SourceRepositoryInfo ¶
type SourceRepositoryInfo struct {
Path string
Types []SourceLanguageType
Dockerfile dockerfile.Dockerfile
}
func (*SourceRepositoryInfo) Terms ¶
func (info *SourceRepositoryInfo) Terms() []string
type WeightedResolver ¶
type WeightedResolvers ¶
type WeightedResolvers []WeightedResolver
func (WeightedResolvers) Resolve ¶
func (r WeightedResolvers) Resolve(value string) (*ComponentMatch, error)