Documentation
¶
Index ¶
- Constants
- type Build
- type BuildConfig
- type BuildConfigList
- type BuildList
- type BuildOutput
- type BuildParameters
- type BuildSource
- type BuildSourceType
- type BuildStatus
- type BuildStrategy
- type BuildStrategyType
- type BuildTriggerPolicy
- type BuildTriggerType
- type CustomBuildStrategy
- type DockerBuildStrategy
- type GenericWebHookEvent
- type GitBuildSource
- type GitInfo
- type GitSourceRevision
- type ImageChangeTrigger
- type STIBuildStrategy
- type SourceControlUser
- type SourceRevision
- type WebHookTrigger
Constants ¶
const (
// CustomBuildStrategyBaseImageKey is the environment variable that indicates the base image to be used when
// performing a custom build, if needed.
CustomBuildStrategyBaseImageKey = "OPENSHIFT_CUSTOM_BUILD_BASE_IMAGE"
// DefaultImageTag is used when an image tag is needed and the configuration does not specify a tag to use.
DefaultImageTag string = "latest"
)
const BuildConfigLabel = "buildconfig"
BuildConfigLabel is the key of a Build label whose value is the ID of a BuildConfig on which the Build is based.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Build ¶
type Build struct {
kapi.TypeMeta `json:",inline"`
kapi.ObjectMeta `json:"metadata,omitempty"`
// Parameters are all the inputs used to create the build pod.
Parameters BuildParameters `json:"parameters,omitempty"`
// Status is the current status of the build.
Status BuildStatus `json:"status,omitempty"`
// A human readable message indicating details about why the build has this status
Message string `json:"message,omitempty"`
// PodName is the name of the pod that is used to execute the build
PodName string `json:"podName,omitempty"`
// Cancelled describes if a cancelling event was triggered for the build.
Cancelled bool `json:"cancelled,omitempty"`
}
Build encapsulates the inputs needed to produce a new deployable image, as well as the status of the execution and a reference to the Pod which executed the build.
func (*Build) IsAnAPIObject ¶
func (*Build) IsAnAPIObject()
type BuildConfig ¶
type BuildConfig struct {
kapi.TypeMeta `json:",inline"`
kapi.ObjectMeta `json:"metadata,omitempty"`
// Triggers determine how new Builds can be launched from a BuildConfig. If no triggers
// are defined, a new build can only occur as a result of an explicit client build creation.
Triggers []BuildTriggerPolicy `json:"triggers,omitempty"`
// Parameters holds all the input necessary to produce a new build. A build config may only
// define either the Output.To or Output.DockerImageReference fields, but not both.
Parameters BuildParameters `json:"parameters,omitempty"`
}
BuildConfig is a template which can be used to create new builds.
func (*BuildConfig) IsAnAPIObject ¶
func (*BuildConfig) IsAnAPIObject()
type BuildConfigList ¶
type BuildConfigList struct {
kapi.TypeMeta `json:",inline"`
kapi.ListMeta `json:"metadata,omitempty"`
Items []BuildConfig `json:"items"`
}
BuildConfigList is a collection of BuildConfigs.
func (*BuildConfigList) IsAnAPIObject ¶
func (*BuildConfigList) IsAnAPIObject()
type BuildList ¶
type BuildList struct {
kapi.TypeMeta `json:",inline"`
kapi.ListMeta `json:"metadata,omitempty"`
Items []Build `json:"items"`
}
BuildList is a collection of Builds.
func (*BuildList) IsAnAPIObject ¶
func (*BuildList) IsAnAPIObject()
type BuildOutput ¶
type BuildOutput struct {
// To defines an optional ImageRepository to push the output of this build to. The namespace
// may be empty, in which case the named ImageRepository will be retrieved from the namespace
// of the build. Kind must be set to 'ImageRepository' and is the only supported value. If set,
// this field takes priority over DockerImageReference. This value will be used to look up
// a Docker image repository to push to. Failure to find the To will result in a build error.
To *kapi.ObjectReference `json:"to,omitempty"`
// Tag is the "version name" that will be associated with the output image. This
// field is only used if the To field is set, and is ignored when DockerImageReference is used.
// This value represents a consistent name for a set of related changes (v1, 5.x, 5.5, dev, stable)
// and defaults to the preferred tag for "To" if not specified.
Tag string `json:"tag,omitempty"`
// DockerImageReference is the full name of an image ([registry/]name[:tag]), and will be the
// value sent to Docker push at the end of a build if the To field is not defined.
DockerImageReference string `json:"dockerImageReference,omitempty"`
}
BuildOutput is input to a build strategy and describes the Docker image that the strategy should produce.
type BuildParameters ¶
type BuildParameters struct {
// Source describes the SCM in use.
Source BuildSource `json:"source,omitempty"`
// Revision is the information from the source for a specific repo snapshot.
// This is optional.
Revision *SourceRevision `json:"revision,omitempty"`
// Strategy defines how to perform a build.
Strategy BuildStrategy `json:"strategy,omitempty"`
// Output describes the Docker image the Strategy should produce.
Output BuildOutput `json:"output,omitempty"`
}
BuildParameters encapsulates all the inputs necessary to represent a build.
type BuildSource ¶
type BuildSource struct {
Type BuildSourceType `json:"type,omitempty"`
Git *GitBuildSource `json:"git,omitempty"`
}
BuildSource is the SCM used for the build
type BuildSourceType ¶
type BuildSourceType string
BuildSourceType is the type of SCM used
const (
//BuildSourceGit is a Git SCM
BuildSourceGit BuildSourceType = "Git"
)
Valid values for BuildSourceType.
type BuildStatus ¶
type BuildStatus string
BuildStatus represents the status of a build at a point in time.
const (
// BuildStatusNew is automatically assigned to a newly created build.
BuildStatusNew BuildStatus = "New"
// BuildStatusPending indicates that a pod name has been assigned and a build is
// about to start running.
BuildStatusPending BuildStatus = "Pending"
// BuildStatusRunning indicates that a pod has been created and a build is running.
BuildStatusRunning BuildStatus = "Running"
// BuildStatusComplete indicates that a build has been successful.
BuildStatusComplete BuildStatus = "Complete"
// BuildStatusFailed indicates that a build has executed and failed.
BuildStatusFailed BuildStatus = "Failed"
// BuildStatusError indicates that an error prevented the build from executing.
BuildStatusError BuildStatus = "Error"
// BuildStatusCancelled indicates that a running/pending build was stopped from executing.
BuildStatusCancelled BuildStatus = "Cancelled"
)
Valid values for BuildStatus.
type BuildStrategy ¶
type BuildStrategy struct {
// Type is the kind of build strategy.
Type BuildStrategyType `json:"type,omitempty"`
// DockerStrategy holds the parameters to the Docker build strategy.
DockerStrategy *DockerBuildStrategy `json:"dockerStrategy,omitempty"`
// STIStrategy holds the parameters to the STI build strategy.
STIStrategy *STIBuildStrategy `json:"stiStrategy,omitempty"`
// CustomStrategy holds the parameters to the Custom build strategy.
CustomStrategy *CustomBuildStrategy `json:"customStrategy,omitempty"`
}
BuildStrategy contains the details of how to perform a build.
type BuildStrategyType ¶
type BuildStrategyType string
BuildStrategyType describes a particular way of performing a build.
const (
// DockerBuildStrategyType performs builds using a Dockerfile.
DockerBuildStrategyType BuildStrategyType = "Docker"
// STIBuildStrategyType performs builds build using Source To Images with a Git repository
// and a builder image.
STIBuildStrategyType BuildStrategyType = "STI"
// CustomBuildStrategyType performs builds using the custom builder Docker image.
CustomBuildStrategyType BuildStrategyType = "Custom"
)
Valid values for BuildStrategyType.
type BuildTriggerPolicy ¶
type BuildTriggerPolicy struct {
// Type is the type of build trigger
Type BuildTriggerType `json:"type,omitempty"`
// GithubWebHook contains the parameters for a Github webhook type of trigger
GithubWebHook *WebHookTrigger `json:"github,omitempty"`
// GenericWebHook contains the parameters for a Generic webhook type of trigger
GenericWebHook *WebHookTrigger `json:"generic,omitempty"`
// ImageChange contains parameters for an ImageChange type of trigger
ImageChange *ImageChangeTrigger `json:"imageChange,omitempty"`
}
BuildTriggerPolicy describes a policy for a single trigger that results in a new Build.
type BuildTriggerType ¶
type BuildTriggerType string
BuildTriggerType refers to a specific BuildTriggerPolicy implementation.
const (
// GithubWebHookBuildTriggerType represents a trigger that launches builds on
// Github webhook invocations
GithubWebHookBuildTriggerType BuildTriggerType = "github"
// GenericWebHookBuildTriggerType represents a trigger that launches builds on
// generic webhook invocations
GenericWebHookBuildTriggerType BuildTriggerType = "generic"
// ImageChangeBuildTriggerType represents a trigger that launches builds on
// availability of a new version of an image
ImageChangeBuildTriggerType BuildTriggerType = "imageChange"
)
type CustomBuildStrategy ¶
type CustomBuildStrategy struct {
// Image is the image required to execute the build. If not specified
// a validation error is returned.
Image string `json:"image"`
// Additional environment variables you want to pass into a builder container
Env []kapi.EnvVar `json:"env,omitempty"`
// ExposeDockerSocket will allow running Docker commands (and build Docker images) from
// inside the Docker container.
// TODO: Allow admins to enforce 'false' for this option
ExposeDockerSocket bool `json:"exposeDockerSocket,omitempty"`
}
CustomBuildStrategy defines input parameters specific to Custom build.
type DockerBuildStrategy ¶
type DockerBuildStrategy struct {
// ContextDir is used as the Docker build context. It is a path for a directory within the
// application source directory structure (as referenced in the BuildSource. See GitBuildSource
// for an example.)
ContextDir string `json:"contextDir,omitempty"`
// NoCache if set to true indicates that the docker build must be executed with the
// --no-cache=true flag
NoCache bool `json:"noCache,omitempty"`
// BaseImage is optional and indicates the image that the dockerfile for this
// build should "FROM". If present, the build process will substitute this value
// into the FROM line of the dockerfile.
BaseImage string `json:"baseImage,omitempty"`
}
DockerBuildStrategy defines input parameters specific to Docker build.
type GenericWebHookEvent ¶
type GenericWebHookEvent struct {
// Type is the type of source repository
Type BuildSourceType `json:"type,omitempty"`
// Git is the git information if the Type is BuildSourceGit
Git *GitInfo `json:"git,omitempty"`
}
GenericWebHookEvent is the payload expected for a generic webhook post
type GitBuildSource ¶
type GitBuildSource struct {
// URI points to the source that will be built. The structure of the source
// will depend on the type of build to run
URI string `json:"uri,omitempty"`
// Ref is the branch/tag/ref to build.
Ref string `json:"ref,omitempty"`
}
GitBuildSource defines the parameters of a Git SCM
type GitInfo ¶
type GitInfo struct {
GitBuildSource `json:",inline"`
GitSourceRevision `json:",inline"`
}
GitInfo is the aggregated git information for a generic webhook post
type GitSourceRevision ¶
type GitSourceRevision struct {
// Commit is the commit hash identifying a specific commit
Commit string `json:"commit,omitempty"`
// Author is the author of a specific commit
Author SourceControlUser `json:"author,omitempty"`
// Committer is the commiter of a specific commit
Committer SourceControlUser `json:"committer,omitempty"`
// Message is the description of a specific commit
Message string `json:"message,omitempty"`
}
GitSourceRevision is the commit information from a git source for a build
type ImageChangeTrigger ¶
type ImageChangeTrigger struct {
// Image is used to specify the value in the BuildConfig to replace with the
// immutable image id supplied by the ImageRepository when this trigger fires.
Image string `json:"image"`
// From is a reference to a Docker image repository to watch for changes. This field takes
// precedence over ImageRepositoryRef, which is deprecated and will be removed in v1beta2. The
// Kind may be left blank, in which case it defaults to "ImageRepository". The "Name" is
// the only required subfield - if Namespace is blank, the namespace of the current deployment
// trigger will be used.
From kapi.ObjectReference `json:"from"`
// Tag is the name of an image repository tag to watch for changes.
Tag string `json:"tag,omitempty"`
// LastTriggeredImageID is used internally by the ImageChangeController to save last
// used image ID for build
LastTriggeredImageID string `json:"lastTriggeredImageID,omitempty"`
}
ImageChangeTrigger allows builds to be triggered when an ImageRepository changes
type STIBuildStrategy ¶
type STIBuildStrategy struct {
// Image is the image used to execute the build.
Image string `json:"image,omitempty"`
// Scripts is the location of STI scripts
Scripts string `json:"scripts,omitempty"`
// Clean flag forces the STI build to not do incremental builds if true.
Clean bool `json:"clean,omitempty"`
}
STIBuildStrategy defines input parameters specific to an STI build.
type SourceControlUser ¶
type SourceControlUser struct {
Name string `json:"name,omitempty"`
Email string `json:"email,omitempty"`
}
SourceControlUser defines the identity of a user of source control
type SourceRevision ¶
type SourceRevision struct {
Type BuildSourceType `json:"type,omitempty"`
Git *GitSourceRevision `json:"git,omitempty"`
}
SourceRevision is the revision or commit information from the source for the build
type WebHookTrigger ¶
type WebHookTrigger struct {
// Secret used to validate requests.
Secret string `json:"secret,omitempty"`
}
WebHookTrigger is a trigger that gets invoked using a webhook type of post