Documentation
¶
Index ¶
- Constants
- Variables
- func AddToScheme(scheme *runtime.Scheme)
- func BuildConfigToSelectableFields(buildConfig *BuildConfig) fields.Set
- func BuildToPodLogOptions(opts *BuildLogOptions) *kapi.PodLogOptions
- func BuildToSelectableFields(build *Build) fields.Set
- func GetBuildPodName(build *Build) string
- func Kind(kind string) unversioned.GroupKind
- func Resource(resource string) unversioned.GroupResource
- func SourceType(source BuildSource) string
- func StrategyType(strategy BuildStrategy) string
- type BinaryBuildRequestOptions
- type BinaryBuildSource
- type Build
- type BuildConfig
- type BuildConfigList
- type BuildConfigSpec
- type BuildConfigStatus
- type BuildList
- type BuildLog
- type BuildLogOptions
- type BuildOutput
- type BuildPhase
- type BuildPostCommitSpec
- type BuildPtrSliceByCreationTimestamp
- type BuildRequest
- type BuildSliceByCreationTimestamp
- type BuildSource
- type BuildSpec
- type BuildStatus
- type BuildStrategy
- type BuildStrategyType
- type BuildTriggerPolicy
- type BuildTriggerType
- type CustomBuildStrategy
- type DockerBuildStrategy
- type GenericWebHookEvent
- type GitBuildSource
- type GitInfo
- type GitRefInfo
- type GitSourceRevision
- type ImageChangeTrigger
- type ImageSource
- type ImageSourcePath
- type JenkinsPipelineBuildStrategy
- type PredicateFunc
- type SecretBuildSource
- type SecretSpec
- type SourceBuildStrategy
- type SourceControlUser
- type SourceRevision
- type StatusReason
- type WebHookTrigger
Constants ¶
const ( // BuildAnnotation is an annotation that identifies a Pod as being for a Build BuildAnnotation = "openshift.io/build.name" // BuildNumberAnnotation is an annotation whose value is the sequential number for this Build BuildNumberAnnotation = "openshift.io/build.number" // BuildCloneAnnotation is an annotation whose value is the name of the build this build was cloned from BuildCloneAnnotation = "openshift.io/build.clone-of" // BuildPodNameAnnotation is an annotation whose value is the name of the pod running this build BuildPodNameAnnotation = "openshift.io/build.pod-name" // BuildLabel is the key of a Pod label whose value is the Name of a Build which is run. BuildLabel = "openshift.io/build.name" // DefaultDockerLabelNamespace is the key of a Build label, whose values are build metadata. DefaultDockerLabelNamespace = "io.openshift." // OriginVersion is an environment variable key that indicates the version of origin that // created this build definition. OriginVersion = "ORIGIN_VERSION" // AllowedUIDs is an environment variable that contains ranges of UIDs that are allowed in // Source builder images AllowedUIDs = "ALLOWED_UIDS" // DropCapabilities is an environment variable that contains a list of capabilities to drop when // executing a Source build DropCapabilities = "DROP_CAPS" )
const ( // StatusReasonError is a generic reason for a build error condition. StatusReasonError StatusReason = "Error" // StatusReasonCannotCreateBuildPodSpec is an error condition when the build // strategy cannot create a build pod spec. StatusReasonCannotCreateBuildPodSpec = "CannotCreateBuildPodSpec" // StatusReasonCannotCreateBuildPod is an error condition when a build pod // cannot be created. StatusReasonCannotCreateBuildPod = "CannotCreateBuildPod" // StatusReasonInvalidOutputReference is an error condition when the build // output is an invalid reference. StatusReasonInvalidOutputReference = "InvalidOutputReference" // StatusReasonCancelBuildFailed is an error condition when cancelling a build // fails. StatusReasonCancelBuildFailed = "CancelBuildFailed" // StatusReasonBuildPodDeleted is an error condition when the build pod is // deleted before build completion. StatusReasonBuildPodDeleted = "BuildPodDeleted" // StatusReasonExceededRetryTimeout is an error condition when the build has // not completed and retrying the build times out. StatusReasonExceededRetryTimeout = "ExceededRetryTimeout" )
These are the valid reasons of build statuses.
const ( // BuildConfigLabel is the key of a Build label whose value is the ID of a BuildConfig // on which the Build is based. BuildConfigLabel = "openshift.io/build-config.name" // BuildConfigLabelDeprecated was used as BuildConfigLabel before adding namespaces. // We keep it for backward compatibility. BuildConfigLabelDeprecated = "buildconfig" // BuildConfigPausedAnnotation is an annotation that marks a BuildConfig as paused. // New Builds cannot be instantiated from a paused BuildConfig. BuildConfigPausedAnnotation = "openshift.io/build-config.paused" )
const (
// BuildPodSuffix is the suffix used to append to a build pod name given a build name
BuildPodSuffix = "build"
)
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" )
const GroupName = ""
Variables ¶
var KnownTriggerTypes = sets.NewString( string(GitHubWebHookBuildTriggerType), string(GenericWebHookBuildTriggerType), string(ImageChangeBuildTriggerType), string(ConfigChangeBuildTriggerType), )
NOTE: Adding a new trigger type requires adding the type to KnownTriggerTypes
var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func AddToScheme ¶ added in v1.1.3
func BuildConfigToSelectableFields ¶ added in v1.0.8
func BuildConfigToSelectableFields(buildConfig *BuildConfig) fields.Set
BuildConfigToSelectableFields returns a label set that represents the object changes to the returned keys require registering conversions for existing versions using Scheme.AddFieldLabelConversionFunc
func BuildToPodLogOptions ¶ added in v1.0.8
func BuildToPodLogOptions(opts *BuildLogOptions) *kapi.PodLogOptions
BuildToPodLogOptions builds a PodLogOptions object out of a BuildLogOptions. Currently BuildLogOptions.Container and BuildLogOptions.Previous aren't used so they won't be copied to PodLogOptions.
func BuildToSelectableFields ¶ added in v1.0.8
BuildToSelectableFields returns a label set that represents the object changes to the returned keys require registering conversions for existing versions using Scheme.AddFieldLabelConversionFunc
func GetBuildPodName ¶ added in v1.0.8
GetBuildPodName returns name of the build pod.
func Kind ¶ added in v1.1.2
func Kind(kind string) unversioned.GroupKind
Kind takes an unqualified kind and returns back a Group qualified GroupKind
func Resource ¶ added in v1.1.2
func Resource(resource string) unversioned.GroupResource
Resource takes an unqualified resource and returns back a Group qualified GroupResource
func SourceType ¶ added in v1.1.1
func SourceType(source BuildSource) string
func StrategyType ¶ added in v1.1.1
func StrategyType(strategy BuildStrategy) string
Types ¶
type BinaryBuildRequestOptions ¶ added in v1.0.7
type BinaryBuildRequestOptions struct { unversioned.TypeMeta kapi.ObjectMeta AsFile string // Commit is the value identifying a specific commit Commit string // Message is the description of a specific commit Message string // AuthorName of the source control user AuthorName string // AuthorEmail of the source control user AuthorEmail string // CommitterName of the source control user CommitterName string // CommitterEmail of the source control user CommitterEmail string }
func (*BinaryBuildRequestOptions) GetObjectKind ¶ added in v1.1.3
func (obj *BinaryBuildRequestOptions) GetObjectKind() unversioned.ObjectKind
type BinaryBuildSource ¶ added in v1.0.7
type BinaryBuildSource struct { // AsFile indicates that the provided binary input should be considered a single file // within the build input. For example, specifying "webapp.war" would place the provided // binary as `/webapp.war` for the builder. If left empty, the Docker and Source build // strategies assume this file is a zip, tar, or tar.gz file and extract it as the source. // The custom strategy receives this binary as standard input. This filename may not // contain slashes or be '..' or '.'. AsFile string }
type Build ¶
type Build struct { unversioned.TypeMeta kapi.ObjectMeta // Spec is all the inputs used to execute the build. Spec BuildSpec // Status is the current status of the build. Status BuildStatus }
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 FilterBuilds ¶ added in v1.1.1
func FilterBuilds(builds []Build, predicate PredicateFunc) []Build
FilterBuilds returns array of builds that satisfies predicate function.
func (*Build) GetObjectKind ¶ added in v1.1.3
func (obj *Build) GetObjectKind() unversioned.ObjectKind
type BuildConfig ¶
type BuildConfig struct { unversioned.TypeMeta kapi.ObjectMeta // Spec holds all the input necessary to produce a new build, and the conditions when // to trigger them. Spec BuildConfigSpec // Status holds any relevant information about a build config Status BuildConfigStatus }
BuildConfig is a template which can be used to create new builds.
func (*BuildConfig) GetObjectKind ¶ added in v1.1.3
func (obj *BuildConfig) GetObjectKind() unversioned.ObjectKind
type BuildConfigList ¶
type BuildConfigList struct { unversioned.TypeMeta unversioned.ListMeta // Items is a list of build configs Items []BuildConfig }
BuildConfigList is a collection of BuildConfigs.
func (*BuildConfigList) GetObjectKind ¶ added in v1.1.3
func (obj *BuildConfigList) GetObjectKind() unversioned.ObjectKind
type BuildConfigSpec ¶ added in v1.0.2
type BuildConfigSpec struct { // 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 // BuildSpec is the desired build specification BuildSpec }
BuildConfigSpec describes when and how builds are created
type BuildConfigStatus ¶ added in v1.0.2
type BuildConfigStatus struct { // LastVersion is used to inform about number of last triggered build. LastVersion int }
BuildConfigStatus contains current state of the build config object.
type BuildList ¶
type BuildList struct { unversioned.TypeMeta unversioned.ListMeta // Items is a list of builds Items []Build }
BuildList is a collection of Builds.
func (*BuildList) GetObjectKind ¶ added in v1.1.3
func (obj *BuildList) GetObjectKind() unversioned.ObjectKind
type BuildLog ¶ added in v0.2.2
type BuildLog struct {
unversioned.TypeMeta
}
BuildLog is the (unused) resource associated with the build log redirector
func (*BuildLog) GetObjectKind ¶ added in v1.1.3
func (obj *BuildLog) GetObjectKind() unversioned.ObjectKind
type BuildLogOptions ¶ added in v0.5.1
type BuildLogOptions struct { unversioned.TypeMeta // Container for which to return logs Container string // Follow if true indicates that the build log should be streamed until // the build terminates. Follow bool // If true, return previous build logs. Previous bool // A relative time in seconds before the current time from which to show logs. If this value // precedes the time a pod was started, only logs since the pod start will be returned. // If this value is in the future, no logs will be returned. // Only one of sinceSeconds or sinceTime may be specified. SinceSeconds *int64 // An RFC3339 timestamp from which to show logs. If this value // preceeds the time a pod was started, only logs since the pod start will be returned. // If this value is in the future, no logs will be returned. // Only one of sinceSeconds or sinceTime may be specified. SinceTime *unversioned.Time // If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line // of log output. Timestamps bool // If set, the number of lines from the end of the logs to show. If not specified, // logs are shown from the creation of the container or sinceSeconds or sinceTime TailLines *int64 // If set, the number of bytes to read from the server before terminating the // log output. This may not display a complete final line of logging, and may return // slightly more or slightly less than the specified limit. LimitBytes *int64 // NoWait if true causes the call to return immediately even if the build // is not available yet. Otherwise the server will wait until the build has started. NoWait bool // Version of the build for which to view logs. Version *int64 }
BuildLogOptions is the REST options for a build log
func (*BuildLogOptions) GetObjectKind ¶ added in v1.1.3
func (obj *BuildLogOptions) GetObjectKind() unversioned.ObjectKind
type BuildOutput ¶
type BuildOutput struct { // To defines an optional location to push the output of this build to. // Kind must be one of 'ImageStreamTag' or 'DockerImage'. // This value will be used to look up a Docker image repository to push to. // In the case of an ImageStreamTag, the ImageStreamTag will be looked for in the namespace of // the build unless Namespace is specified. To *kapi.ObjectReference // PushSecret is the name of a Secret that would be used for setting // up the authentication for executing the Docker push to authentication // enabled Docker Registry (or Docker Hub). PushSecret *kapi.LocalObjectReference }
BuildOutput is input to a build strategy and describes the Docker image that the strategy should produce.
type BuildPhase ¶ added in v1.0.2
type BuildPhase string
BuildPhase represents the status of a build at a point in time.
const ( // BuildPhaseNew is automatically assigned to a newly created build. BuildPhaseNew BuildPhase = "New" // BuildPhasePending indicates that a pod name has been assigned and a build is // about to start running. BuildPhasePending BuildPhase = "Pending" // BuildPhaseRunning indicates that a pod has been created and a build is running. BuildPhaseRunning BuildPhase = "Running" // BuildPhaseComplete indicates that a build has been successful. BuildPhaseComplete BuildPhase = "Complete" // BuildPhaseFailed indicates that a build has executed and failed. BuildPhaseFailed BuildPhase = "Failed" // BuildPhaseError indicates that an error prevented the build from executing. BuildPhaseError BuildPhase = "Error" // BuildPhaseCancelled indicates that a running/pending build was stopped from executing. BuildPhaseCancelled BuildPhase = "Cancelled" )
Valid values for BuildPhase.
type BuildPostCommitSpec ¶ added in v1.1.3
type BuildPostCommitSpec struct { // Command is the command to run. It may not be specified with Script. // This might be needed if the image doesn't have `/bin/sh`, or if you // do not want to use a shell. In all other cases, using Script might be // more convenient. Command []string // Args is a list of arguments that are provided to either Command, // Script or the Docker image's default entrypoint. The arguments are // placed immediately after the command to be run. Args []string // Script is a shell script to be run with `/bin/sh -ic`. It may not be // specified with Command. Use Script when a shell script is appropriate // to execute the post build hook, for example for running unit tests // with `rake test`. If you need control over the image entrypoint, or // if the image does not have `/bin/sh`, use Command and/or Args. // The `-i` flag is needed to support CentOS and RHEL images that use // Software Collections (SCL), in order to have the appropriate // collections enabled in the shell. E.g., in the Ruby image, this is // necessary to make `ruby`, `bundle` and other binaries available in // the PATH. Script string }
A BuildPostCommitSpec holds a build post commit hook specification. The hook executes a command in a temporary container running the build output image, immediately after the last layer of the image is committed and before the image is pushed to a registry. The command is executed with the current working directory ($PWD) set to the image's WORKDIR.
The build will be marked as failed if the hook execution fails. It will fail if the script or command return a non-zero exit code, or if there is any other error related to starting the temporary container.
There are five different ways to configure the hook. As an example, all forms below are equivalent and will execute `rake test --verbose`.
1. Shell script:
BuildPostCommitSpec{ Script: "rake test --verbose", }
The above is a convenient form which is equivalent to:
BuildPostCommitSpec{ Command: []string{"/bin/sh", "-ic"}, Args: []string{"rake test --verbose"}, }
2. Command as the image entrypoint:
BuildPostCommitSpec{ Command: []string{"rake", "test", "--verbose"}, }
Command overrides the image entrypoint in the exec form, as documented in Docker: https://docs.docker.com/engine/reference/builder/#entrypoint.
3. Pass arguments to the default entrypoint:
BuildPostCommitSpec{ Args: []string{"rake", "test", "--verbose"}, }
This form is only useful if the image entrypoint can handle arguments.
4. Shell script with arguments:
BuildPostCommitSpec{ Script: "rake test $1", Args: []string{"--verbose"}, }
This form is useful if you need to pass arguments that would otherwise be hard to quote properly in the shell script. In the script, $0 will be "/bin/sh" and $1, $2, etc, are the positional arguments from Args.
5. Command with arguments:
BuildPostCommitSpec{ Command: []string{"rake", "test"}, Args: []string{"--verbose"}, }
This form is equivalent to appending the arguments to the Command slice.
It is invalid to provide both Script and Command simultaneously. If none of the fields are specified, the hook is not executed.
type BuildPtrSliceByCreationTimestamp ¶ added in v1.0.5
type BuildPtrSliceByCreationTimestamp []*Build
BuildPtrSliceByCreationTimestamp implements sort.Interface for []*Build based on the CreationTimestamp field.
func (BuildPtrSliceByCreationTimestamp) Len ¶ added in v1.0.5
func (b BuildPtrSliceByCreationTimestamp) Len() int
func (BuildPtrSliceByCreationTimestamp) Less ¶ added in v1.0.5
func (b BuildPtrSliceByCreationTimestamp) Less(i, j int) bool
func (BuildPtrSliceByCreationTimestamp) Swap ¶ added in v1.0.5
func (b BuildPtrSliceByCreationTimestamp) Swap(i, j int)
type BuildRequest ¶ added in v0.4.2
type BuildRequest struct { unversioned.TypeMeta // TODO: build request should allow name generation via Name and GenerateName, build config // name should be provided as a separate field kapi.ObjectMeta // Revision is the information from the source for a specific repo snapshot. Revision *SourceRevision // TriggeredByImage is the Image that triggered this build. TriggeredByImage *kapi.ObjectReference // From is the reference to the ImageStreamTag that triggered the build. From *kapi.ObjectReference // Binary indicates a request to build from a binary provided to the builder Binary *BinaryBuildSource // LastVersion (optional) is the LastVersion of the BuildConfig that was used // to generate the build. If the BuildConfig in the generator doesn't match, a build will // not be generated. LastVersion *int // Env contains additional environment variables you want to pass into a builder container Env []kapi.EnvVar }
BuildRequest is the resource used to pass parameters to build generator
func (*BuildRequest) GetObjectKind ¶ added in v1.1.3
func (obj *BuildRequest) GetObjectKind() unversioned.ObjectKind
type BuildSliceByCreationTimestamp ¶ added in v1.0.5
type BuildSliceByCreationTimestamp []Build
BuildSliceByCreationTimestamp implements sort.Interface for []Build based on the CreationTimestamp field.
func (BuildSliceByCreationTimestamp) Len ¶ added in v1.0.5
func (b BuildSliceByCreationTimestamp) Len() int
func (BuildSliceByCreationTimestamp) Less ¶ added in v1.0.5
func (b BuildSliceByCreationTimestamp) Less(i, j int) bool
func (BuildSliceByCreationTimestamp) Swap ¶ added in v1.0.5
func (b BuildSliceByCreationTimestamp) Swap(i, j int)
type BuildSource ¶
type BuildSource struct { // Binary builds accept a binary as their input. The binary is generally assumed to be a tar, // gzipped tar, or zip file depending on the strategy. For Docker builds, this is the build // context and an optional Dockerfile may be specified to override any Dockerfile in the // build context. For Source builds, this is assumed to be an archive as described above. For // Source and Docker builds, if binary.asFile is set the build will receive a directory with // a single file. contextDir may be used when an archive is provided. Custom builds will // receive this binary as input on STDIN. Binary *BinaryBuildSource // Dockerfile is the raw contents of a Dockerfile which should be built. When this option is // specified, the FROM may be modified based on your strategy base image and additional ENV // stanzas from your strategy environment will be added after the FROM, but before the rest // of your Dockerfile stanzas. The Dockerfile source type may be used with other options like // git - in those cases the Git repo will have any innate Dockerfile replaced in the context // dir. Dockerfile *string // Git contains optional information about git build source Git *GitBuildSource // Images describes a set of images to be used to provide source for the build Images []ImageSource // ContextDir specifies the sub-directory where the source code for the application exists. // This allows to have buildable sources in directory other than root of // repository. ContextDir string // SourceSecret is the name of a Secret that would be used for setting // up the authentication for cloning private repository. // The secret contains valid credentials for remote repository, where the // data's key represent the authentication method to be used and value is // the base64 encoded credentials. Supported auth methods are: ssh-privatekey. // TODO: This needs to move under the GitBuildSource struct since it's only // used for git authentication SourceSecret *kapi.LocalObjectReference // Secrets represents a list of secrets and their destinations that will // be used only for the build. Secrets []SecretBuildSource }
BuildSource is the input used for the build.
type BuildSpec ¶ added in v1.0.2
type BuildSpec struct { // ServiceAccount is the name of the ServiceAccount to use to run the pod // created by this build. // The pod will be allowed to use secrets referenced by the ServiceAccount ServiceAccount string // Source describes the SCM in use. Source BuildSource // Revision is the information from the source for a specific repo snapshot. // This is optional. Revision *SourceRevision // Strategy defines how to perform a build. Strategy BuildStrategy // Output describes the Docker image the Strategy should produce. Output BuildOutput // Compute resource requirements to execute the build Resources kapi.ResourceRequirements // PostCommit is a build hook executed after the build output image is // committed, before it is pushed to a registry. PostCommit BuildPostCommitSpec // Optional duration in seconds, counted from the time when a build pod gets // scheduled in the system, that the build may be active on a node before the // system actively tries to terminate the build; value must be positive integer CompletionDeadlineSeconds *int64 }
BuildSpec encapsulates all the inputs necessary to represent a build.
type BuildStatus ¶
type BuildStatus struct { // Phase is the point in the build lifecycle. Phase BuildPhase // Cancelled describes if a cancel event was triggered for the build. Cancelled bool // Reason is a brief CamelCase string that describes any failure and is meant for machine parsing and tidy display in the CLI. Reason StatusReason // Message is a human-readable message indicating details about why the build has this status. Message string // StartTimestamp is a timestamp representing the server time when this Build started // running in a Pod. // It is represented in RFC3339 form and is in UTC. StartTimestamp *unversioned.Time // CompletionTimestamp is a timestamp representing the server time when this Build was // finished, whether that build failed or succeeded. It reflects the time at which // the Pod running the Build terminated. // It is represented in RFC3339 form and is in UTC. CompletionTimestamp *unversioned.Time // Duration contains time.Duration object describing build time. Duration time.Duration // OutputDockerImageReference contains a reference to the Docker image that // will be built by this build. It's value is computed from // Build.Spec.Output.To, and should include the registry address, so that // it can be used to push and pull the image. OutputDockerImageReference string // Config is an ObjectReference to the BuildConfig this Build is based on. Config *kapi.ObjectReference }
BuildStatus contains the status of a build
type BuildStrategy ¶
type BuildStrategy struct { // DockerStrategy holds the parameters to the Docker build strategy. DockerStrategy *DockerBuildStrategy // SourceStrategy holds the parameters to the Source build strategy. SourceStrategy *SourceBuildStrategy // CustomStrategy holds the parameters to the Custom build strategy CustomStrategy *CustomBuildStrategy // JenkinsPipelineStrategy holds the parameters to the Jenkins Pipeline build strategy. // This strategy is experimental. JenkinsPipelineStrategy *JenkinsPipelineBuildStrategy }
BuildStrategy contains the details of how to perform a build.
type BuildStrategyType ¶
type BuildStrategyType string
BuildStrategyType describes a particular way of performing a build.
type BuildTriggerPolicy ¶ added in v0.2.1
type BuildTriggerPolicy struct { // Type is the type of build trigger Type BuildTriggerType // GitHubWebHook contains the parameters for a GitHub webhook type of trigger GitHubWebHook *WebHookTrigger // GenericWebHook contains the parameters for a Generic webhook type of trigger GenericWebHook *WebHookTrigger // ImageChange contains parameters for an ImageChange type of trigger ImageChange *ImageChangeTrigger }
BuildTriggerPolicy describes a policy for a single trigger that results in a new Build.
type BuildTriggerType ¶ added in v0.2.1
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" GitHubWebHookBuildTriggerTypeDeprecated BuildTriggerType = "github" // GenericWebHookBuildTriggerType represents a trigger that launches builds on // generic webhook invocations GenericWebHookBuildTriggerType BuildTriggerType = "Generic" GenericWebHookBuildTriggerTypeDeprecated BuildTriggerType = "generic" // ImageChangeBuildTriggerType represents a trigger that launches builds on // availability of a new version of an image ImageChangeBuildTriggerType BuildTriggerType = "ImageChange" ImageChangeBuildTriggerTypeDeprecated BuildTriggerType = "imageChange" // ConfigChangeBuildTriggerType will trigger a build on an initial build config creation // WARNING: In the future the behavior will change to trigger a build on any config change ConfigChangeBuildTriggerType BuildTriggerType = "ConfigChange" )
type CustomBuildStrategy ¶ added in v0.2.1
type CustomBuildStrategy struct { // From is reference to an DockerImage, ImageStream, ImageStreamTag, or ImageStreamImage from which // the docker image should be pulled From kapi.ObjectReference // PullSecret is the name of a Secret that would be used for setting up // the authentication for pulling the Docker images from the private Docker // registries PullSecret *kapi.LocalObjectReference // Env contains additional environment variables you want to pass into a builder container Env []kapi.EnvVar // 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 // ForcePull describes if the controller should configure the build pod to always pull the images // for the builder or only pull if it is not present locally ForcePull bool // Secrets is a list of additional secrets that will be included in the custom build pod Secrets []SecretSpec // BuildAPIVersion is the requested API version for the Build object serialized and passed to the custom builder BuildAPIVersion string }
CustomBuildStrategy defines input parameters specific to Custom build.
type DockerBuildStrategy ¶
type DockerBuildStrategy struct { // From is reference to an DockerImage, ImageStream, ImageStreamTag, or ImageStreamImage from which // the docker image should be pulled // the resulting image will be used in the FROM line of the Dockerfile for this build. From *kapi.ObjectReference // PullSecret is the name of a Secret that would be used for setting up // the authentication for pulling the Docker images from the private Docker // registries PullSecret *kapi.LocalObjectReference // NoCache if set to true indicates that the docker build must be executed with the // --no-cache=true flag NoCache bool // Env contains additional environment variables you want to pass into a builder container Env []kapi.EnvVar // ForcePull describes if the builder should pull the images from registry prior to building. ForcePull bool // DockerfilePath is the path of the Dockerfile that will be used to build the Docker image, // relative to the root of the context (contextDir). DockerfilePath string }
DockerBuildStrategy defines input parameters specific to Docker build.
type GenericWebHookEvent ¶ added in v0.2.1
type GenericWebHookEvent struct { // Git is the git information, if any. Git *GitInfo }
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 // Ref is the branch/tag/ref to build. Ref string // HTTPProxy is a proxy used to reach the git repository over http HTTPProxy *string // HTTPSProxy is a proxy used to reach the git repository over https HTTPSProxy *string }
GitBuildSource defines the parameters of a Git SCM
type GitInfo ¶ added in v0.2.1
type GitInfo struct { GitBuildSource GitSourceRevision // Refs is a list of GitRefs for the provided repo - generally sent // when used from a post-receive hook. This field is optional and is // used when sending multiple refs Refs []GitRefInfo }
GitInfo is the aggregated git information for a generic webhook post
type GitRefInfo ¶ added in v0.5.1
type GitRefInfo struct { GitBuildSource GitSourceRevision }
GitRefInfo is a single ref
type GitSourceRevision ¶
type GitSourceRevision struct { // Commit is the commit hash identifying a specific commit Commit string // Author is the author of a specific commit Author SourceControlUser // Committer is the committer of a specific commit Committer SourceControlUser // Message is the description of a specific commit Message string }
GitSourceRevision is the commit information from a git source for a build
type ImageChangeTrigger ¶ added in v0.2.1
type ImageChangeTrigger struct { // LastTriggeredImageID is used internally by the ImageChangeController to save last // used image ID for build LastTriggeredImageID string // From is a reference to an ImageStreamTag that will trigger a build when updated // It is optional. If no From is specified, the From image from the build strategy // will be used. Only one ImageChangeTrigger with an empty From reference is allowed in // a build configuration. From *kapi.ObjectReference }
ImageChangeTrigger allows builds to be triggered when an ImageStream changes
type ImageSource ¶ added in v1.1.1
type ImageSource struct { // From is a reference to an ImageStreamTag, ImageStreamImage, or DockerImage to // copy source from. From kapi.ObjectReference // Paths is a list of source and destination paths to copy from the image. Paths []ImageSourcePath // PullSecret is a reference to a secret to be used to pull the image from a registry // If the image is pulled from the OpenShift registry, this field does not need to be set. PullSecret *kapi.LocalObjectReference }
ImageSource describes an image that is used as source for the build
type ImageSourcePath ¶ added in v1.1.1
type ImageSourcePath struct { // SourcePath is the absolute path of the file or directory inside the image to // copy to the build directory. SourcePath string // DestinationDir is the relative directory within the build directory // where files copied from the image are placed. DestinationDir string }
ImageSourcePath describes a path to be copied from a source image and its destination within the build directory.
type JenkinsPipelineBuildStrategy ¶
type JenkinsPipelineBuildStrategy struct { // JenkinsfilePath is the optional path of the Jenkinsfile that will be used to configure the pipeline // relative to the root of the context (contextDir). If both JenkinsfilePath & Jenkinsfile are // both not specified, this defaults to Jenkinsfile in the root of the specified contextDir. JenkinsfilePath string // Jenkinsfile defines the optional raw contents of a Jenkinsfile which defines a Jenkins pipeline build. Jenkinsfile string }
JenkinsPipelineStrategy holds parameters specific to a Jenkins Pipeline build. This strategy is experimental.
type PredicateFunc ¶ added in v1.1.1
type PredicateFunc func(interface{}) bool
PredicateFunc is testing an argument and decides does it meet some criteria or not. It can be used for filtering elements based on some conditions.
func ByBuildConfigLabelPredicate ¶ added in v1.1.1
func ByBuildConfigLabelPredicate(labelValue string) PredicateFunc
ByBuildConfigLabelPredicate matches all builds that have build config label with specified value.
type SecretBuildSource ¶ added in v1.1.2
type SecretBuildSource struct { // Secret is a reference to an existing secret that you want to use in your // build. Secret kapi.LocalObjectReference // DestinationDir is the directory where the files from the secret should be // available for the build time. // For the Source build strategy, these will be injected into a container // where the assemble script runs. Later, when the script finishes, all files // injected will be truncated to zero length. // For the Docker build strategy, these will be copied into the build // directory, where the Dockerfile is located, so users can ADD or COPY them // during docker build. DestinationDir string }
SecretBuildSource describes a secret and its destination directory that will be used only at the build time. The content of the secret referenced here will be copied into the destination directory instead of mounting.
type SecretSpec ¶ added in v1.0.6
type SecretSpec struct { // SecretSource is a reference to the secret SecretSource kapi.LocalObjectReference // MountPath is the path at which to mount the secret MountPath string }
SecretSpec specifies a secret to be included in a build pod and its corresponding mount point
type SourceBuildStrategy ¶ added in v0.5.2
type SourceBuildStrategy struct { // From is reference to an DockerImage, ImageStream, ImageStreamTag, or ImageStreamImage from which // the docker image should be pulled From kapi.ObjectReference // PullSecret is the name of a Secret that would be used for setting up // the authentication for pulling the Docker images from the private Docker // registries PullSecret *kapi.LocalObjectReference // Env contains additional environment variables you want to pass into a builder container Env []kapi.EnvVar // Scripts is the location of Source scripts Scripts string // Incremental flag forces the Source build to do incremental builds if true. Incremental bool // ForcePull describes if the builder should pull the images from registry prior to building. ForcePull bool }
SourceBuildStrategy defines input parameters specific to an Source build.
type SourceControlUser ¶
type SourceControlUser struct { // Name of the source control user Name string // Email of the source control user Email string }
SourceControlUser defines the identity of a user of source control
type SourceRevision ¶
type SourceRevision struct { // Git contains information about git-based build source Git *GitSourceRevision }
SourceRevision is the revision or commit information from the source for the build
type StatusReason ¶ added in v1.0.7
type StatusReason string
StatusReason is a brief CamelCase string that describes a temporary or permanent build error condition, meant for machine parsing and tidy display in the CLI.
type WebHookTrigger ¶ added in v0.2.1
type WebHookTrigger struct { // Secret used to validate requests. Secret string }
WebHookTrigger is a trigger that gets invoked using a webhook type of post