cmd

package
v3.6.54-1+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 28, 2017 License: Apache-2.0 Imports: 42 Imported by: 0

Documentation

Index

Constants

View Source
const (
	GeneratedByNamespace = "openshift.io/generated-by"
	GeneratedForJob      = "openshift.io/generated-job"
	GeneratedForJobFor   = "openshift.io/generated-job.for"
	GeneratedByNewApp    = "OpenShiftNewApp"
	GeneratedByNewBuild  = "OpenShiftNewBuild"
)

Variables

View Source
var ErrNoInputs = errors.New("no inputs provided")

ErrNoInputs is returned when no inputs are specified

Functions

func AddComponentInputsToRefBuilder added in v1.1.6

func AddComponentInputsToRefBuilder(b *app.ReferenceBuilder, r *Resolvers, c *ComponentInputs, g *GenerationInputs) error

AddComponentInputsToRefBuilder set up the components to be used by the reference builder.

func AddDockerfileToSourceRepositories added in v1.1.6

func AddDockerfileToSourceRepositories(b *app.ReferenceBuilder, dockerfile string) error

AddDockerfile adds a Dockerfile passed in the command line to the reference builder.

func AddImageSourceRepository added in v1.1.6

func AddImageSourceRepository(sourceRepos app.SourceRepositories, r app.Resolver, g *GenerationInputs) (app.ComponentReference, app.SourceRepositories, error)

func AddMissingComponentsToRefBuilder added in v1.1.6

func AddMissingComponentsToRefBuilder(
	b *app.ReferenceBuilder, repositories app.SourceRepositories, dockerfileResolver, sourceResolver, pipelineResolver app.Resolver,
	g *GenerationInputs,
) (app.ComponentReferences, error)

ComponentsForSourceRepositories creates components for repositories that have not been previously associated by a builder. These components have already gone through source code detection and have a SourceRepositoryInfo attached to them.

func AddSourceRepositoriesToRefBuilder added in v1.1.6

func AddSourceRepositoriesToRefBuilder(b *app.ReferenceBuilder, repos []string, g *GenerationInputs) (app.SourceRepositories, error)

AddSourceRepositoriesToRefBuilder adds the provided repositories to the reference builder, identifies which should be built using Docker, and then returns the full list of source repositories.

func DescribeGeneratedTemplate added in v1.3.0

func DescribeGeneratedTemplate(out io.Writer, input string, result *templateapi.Template, baseNamespace string)

DescribeGeneratedTemplate writes a description of the provided template to out.

func DetectSource added in v1.1.6

func DetectSource(repositories []*app.SourceRepository, d app.Detector, g *GenerationInputs) error

DetectSource runs a code detector on the passed in repositories to obtain a SourceRepositoryInfo

func EnsureHasSource added in v1.1.6

func EnsureHasSource(components app.ComponentReferences, repositories app.SourceRepositories, g *GenerationInputs) error

EnsureHasSource ensure every builder component has source code associated with it. It takes a list of component references that are builders and have not been associated with source, and a set of source repositories that have not been associated with a builder

func InferBuildTypes added in v1.1.6

func InferBuildTypes(components app.ComponentReferences, g *GenerationInputs) (app.ComponentReferences, error)

InferBuildTypes infers build status and mismatches between source and docker builders

func TransformTemplate added in v1.3.0

func TransformTemplate(tpl *templateapi.Template, client client.TemplateConfigsNamespacer, namespace string, parameters map[string]string) (*templateapi.Template, error)

TransformTemplate processes a template with the provided parameters, returning an error if transformation fails.

Types

type AppConfig

type AppConfig struct {
	ComponentInputs
	GenerationInputs

	ResolvedComponents *ResolvedComponents

	SkipGeneration bool

	AllowSecretUse              bool
	AllowNonNumericExposedPorts bool
	SecretAccessor              app.SecretAccessor

	AsSearch bool
	AsList   bool
	DryRun   bool

	In     io.Reader
	Out    io.Writer
	ErrOut io.Writer

	KubeClient kclientset.Interface

	Resolvers

	Typer        runtime.ObjectTyper
	Mapper       meta.RESTMapper
	ClientMapper resource.ClientMapper

	OSClient        client.Interface
	OriginNamespace string

	ArgumentClassificationErrors []ArgumentClassificationError
}

AppConfig contains all the necessary configuration for an application

func NewAppConfig

func NewAppConfig() *AppConfig

NewAppConfig returns a new AppConfig, but you must set your typer, mapper, and clientMapper after the command has been run and flags have been parsed.

func (*AppConfig) AddArguments

func (c *AppConfig) AddArguments(args []string) []string

AddArguments converts command line arguments into the appropriate bucket based on what they look like

func (*AppConfig) DockerRegistrySearcher added in v1.1.3

func (c *AppConfig) DockerRegistrySearcher() app.Searcher

func (*AppConfig) HasArguments added in v1.0.5

func (c *AppConfig) HasArguments() bool

func (*AppConfig) Querying added in v1.0.5

func (c *AppConfig) Querying() bool

func (*AppConfig) Run

func (c *AppConfig) Run() (*AppResult, error)

Run executes the provided config to generate objects.

func (*AppConfig) RunQuery added in v1.0.5

func (c *AppConfig) RunQuery() (*QueryResult, error)

RunQuery executes the provided config and returns the result of the resolution.

func (*AppConfig) SetOpenShiftClient

func (c *AppConfig) SetOpenShiftClient(osclient client.Interface, OriginNamespace string, dockerclient *docker.Client)

SetOpenShiftClient sets the passed OpenShift client in the application configuration

type AppResult

type AppResult struct {
	List *kapi.List

	Name      string
	HasSource bool
	Namespace string

	GeneratedJobs bool
}

AppResult contains the results of an application

type ArgumentClassificationError

type ArgumentClassificationError struct {
	Key   string
	Value error
}

type ComponentInputs added in v1.1.6

type ComponentInputs struct {
	SourceRepositories []string

	Components    []string
	ImageStreams  []string
	DockerImages  []string
	Templates     []string
	TemplateFiles []string

	Groups []string
}

ComponentInputs are transformed into ResolvedComponents

type ErrRequiresExplicitAccess added in v1.0.7

type ErrRequiresExplicitAccess struct {
	Match app.ComponentMatch
	Input app.GeneratorInput
}

func (ErrRequiresExplicitAccess) Error added in v1.0.7

type GenerationInputs added in v1.1.6

type GenerationInputs struct {
	TemplateParameters []string
	Environment        []string
	BuildEnvironment   []string
	BuildArgs          []string
	Labels             map[string]string

	TemplateParameterFiles []string
	EnvironmentFiles       []string
	BuildEnvironmentFiles  []string

	InsecureRegistry bool

	Strategy generate.Strategy

	Name     string
	To       string
	NoOutput bool

	OutputDocker  bool
	Dockerfile    string
	ExpectToBuild bool
	BinaryBuild   bool
	ContextDir    string

	SourceImage     string
	SourceImagePath string

	Secrets []string

	AllowMissingImageStreamTags bool

	Deploy           bool
	AsTestDeployment bool

	AllowGenerationErrors bool
}

GenerationInputs control how new-app creates output TODO: split these into finer grained structs

type QueryResult added in v1.0.5

type QueryResult struct {
	Matches app.ComponentMatches
	List    *kapi.List
}

QueryResult contains the results of a query (search or list)

type ResolvedComponents added in v1.1.6

type ResolvedComponents struct {
	Components   app.ComponentReferences
	Repositories app.SourceRepositories
}

ResolvedComponents is the input to generation

func Resolve added in v1.1.3

func Resolve(appConfig *AppConfig) (*ResolvedComponents, error)

Resolve transforms unstructured inputs (component names, templates, images) into a set of resolved components, or returns an error.

type Resolvers added in v1.1.6

type Resolvers struct {
	DockerSearcher                  app.Searcher
	ImageStreamSearcher             app.Searcher
	ImageStreamByAnnotationSearcher app.Searcher
	TemplateSearcher                app.Searcher
	TemplateFileSearcher            app.Searcher

	AllowMissingImages bool

	Detector app.Detector
}

Resolvers are used to identify source repositories, images, or templates in different contexts

func (*Resolvers) DockerfileResolver added in v1.1.6

func (r *Resolvers) DockerfileResolver() app.Resolver

func (*Resolvers) ImageSourceResolver added in v1.1.6

func (r *Resolvers) ImageSourceResolver() app.Resolver

func (*Resolvers) PipelineResolver added in v1.5.0

func (r *Resolvers) PipelineResolver() app.Resolver

func (*Resolvers) SourceResolver added in v1.1.6

func (r *Resolvers) SourceResolver() app.Resolver

TODO: why does this differ from ImageSourceResolver?

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL