Documentation ¶
Index ¶
- Constants
- Variables
- func AddToScheme(scheme *runtime.Scheme)
- type CustomDeploymentStrategyParams
- type DeploymentCause
- type DeploymentCauseImageTrigger
- type DeploymentConfig
- type DeploymentConfigList
- type DeploymentConfigRollback
- type DeploymentConfigRollbackSpec
- type DeploymentConfigSpec
- type DeploymentConfigStatus
- type DeploymentDetails
- type DeploymentLog
- type DeploymentLogOptions
- type DeploymentPhase
- type DeploymentStrategy
- type DeploymentStrategyType
- type DeploymentTriggerImageChangeParams
- type DeploymentTriggerPolicy
- type DeploymentTriggerType
- type ExecNewPodHook
- type LifecycleHook
- type LifecycleHookFailurePolicy
- type RecreateDeploymentStrategyParams
- type RollingDeploymentStrategyParams
- type TagImageHook
Constants ¶
const ( // DeploymentConfigAnnotation is an annotation name used to correlate a deployment with the // DeploymentConfig on which the deployment is based. DeploymentConfigAnnotation = "openshift.io/deployment-config.name" // DeploymentAnnotation is an annotation on a deployer Pod. The annotation value is the name // of the deployment (a ReplicationController) on which the deployer Pod acts. DeploymentAnnotation = "openshift.io/deployment.name" // DeploymentPodAnnotation is an annotation on a deployment (a ReplicationController). The // annotation value is the name of the deployer Pod which will act upon the ReplicationController // to implement the deployment behavior. DeploymentPodAnnotation = "openshift.io/deployer-pod.name" // DeployerPodForDeploymentLabel is a label which groups pods related to a // deployment. The value is a deployment name. The deployer pod and hook pods // created by the internal strategies will have this label. Custom // strategies can apply this label to any pods they create, enabling // platform-provided cancellation and garbage collection support. DeployerPodForDeploymentLabel = "openshift.io/deployer-pod-for.name" // DeploymentPhaseAnnotation is an annotation name used to retrieve the DeploymentPhase of // a deployment. DeploymentPhaseAnnotation = "openshift.io/deployment.phase" // DeploymentEncodedConfigAnnotation is an annotation name used to retrieve specific encoded // DeploymentConfig on which a given deployment is based. DeploymentEncodedConfigAnnotation = "openshift.io/encoded-deployment-config" // DeploymentVersionAnnotation is an annotation on a deployment (a ReplicationController). The // annotation value is the LatestVersion value of the DeploymentConfig which was the basis for // the deployment. DeploymentVersionAnnotation = "openshift.io/deployment-config.latest-version" // DeploymentLabel is the name of a label used to correlate a deployment with the Pod created // to execute the deployment logic. // TODO: This is a workaround for upstream's lack of annotation support on PodTemplate. Once // annotations are available on PodTemplate, audit this constant with the goal of removing it. DeploymentLabel = "deployment" // DeploymentConfigLabel is the name of a label used to correlate a deployment with the // DeploymentConfigs on which the deployment is based. DeploymentConfigLabel = "deploymentconfig" // DeploymentStatusReasonAnnotation represents the reason for deployment being in a given state // Used for specifying the reason for cancellation or failure of a deployment DeploymentStatusReasonAnnotation = "openshift.io/deployment.status-reason" // DeploymentCancelledAnnotation indicates that the deployment has been cancelled // The annotation value does not matter and its mere presence indicates cancellation DeploymentCancelledAnnotation = "openshift.io/deployment.cancelled" )
These constants represent keys used for correlating objects related to deployments.
const GroupName = ""
Variables ¶
var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func AddToScheme ¶ added in v1.1.3
Types ¶
type CustomDeploymentStrategyParams ¶
type CustomDeploymentStrategyParams struct { // Image specifies a Docker image which can carry out a deployment. Image string `json:"image,omitempty" description:"a Docker image which can carry out a deployment"` // Environment holds the environment which will be given to the container for Image. Environment []kapi.EnvVar `json:"environment,omitempty" description:"environment variables provided to the deployment process container"` // Command is optional and overrides CMD in the container Image. Command []string `json:"command,omitempty" description:"optionally overrides the container command (default is specified by the image)"` }
CustomDeploymentStrategyParams are the input to the Custom deployment strategy.
type DeploymentCause ¶
type DeploymentCause struct { // Type of the trigger that resulted in the creation of a new deployment Type DeploymentTriggerType `json:"type" description:"the type of trigger that resulted in a new deployment"` // ImageTrigger contains the image trigger details, if this trigger was fired based on an image change ImageTrigger *DeploymentCauseImageTrigger `json:"imageTrigger,omitempty" description:"image trigger details (if applicable)"` }
DeploymentCause captures information about a particular cause of a deployment.
type DeploymentCauseImageTrigger ¶
type DeploymentCauseImageTrigger struct { // From is a reference to the changed object which triggered a deployment. The field may have // the kinds DockerImage, ImageStreamTag, or ImageStreamImage. From kapi.ObjectReference `json:"from" description:"a reference the changed object which triggered a deployment"` }
DeploymentCauseImageTrigger represents details about the cause of a deployment originating from an image change trigger
type DeploymentConfig ¶
type DeploymentConfig struct { unversioned.TypeMeta `json:",inline"` // Standard object's metadata. kapi.ObjectMeta `json:"metadata,omitempty"` // Spec represents a desired deployment state and how to deploy to it. Spec DeploymentConfigSpec `json:"spec" description:"a desired deployment state and how to deploy it"` // Status represents the current deployment state. Status DeploymentConfigStatus `json:"status" description:"the current state of the latest deployment"` }
DeploymentConfig represents a configuration for a single deployment (represented as a ReplicationController). It also contains details about changes which resulted in the current state of the DeploymentConfig. Each change to the DeploymentConfig which should result in a new deployment results in an increment of LatestVersion.
func (*DeploymentConfig) GetObjectKind ¶ added in v1.1.3
func (obj *DeploymentConfig) GetObjectKind() unversioned.ObjectKind
type DeploymentConfigList ¶
type DeploymentConfigList struct { unversioned.TypeMeta `json:",inline"` // Standard object's metadata. unversioned.ListMeta `json:"metadata,omitempty"` // Items is a list of deployment configs Items []DeploymentConfig `json:"items" description:"a list of deployment configs"` }
DeploymentConfigList is a collection of deployment configs.
func (*DeploymentConfigList) GetObjectKind ¶ added in v1.1.3
func (obj *DeploymentConfigList) GetObjectKind() unversioned.ObjectKind
type DeploymentConfigRollback ¶
type DeploymentConfigRollback struct { unversioned.TypeMeta `json:",inline"` // Spec defines the options to rollback generation. Spec DeploymentConfigRollbackSpec `json:"spec" description:"options for rollback generation"` }
DeploymentConfigRollback provides the input to rollback generation.
func (*DeploymentConfigRollback) GetObjectKind ¶ added in v1.1.3
func (obj *DeploymentConfigRollback) GetObjectKind() unversioned.ObjectKind
type DeploymentConfigRollbackSpec ¶
type DeploymentConfigRollbackSpec struct { // From points to a ReplicationController which is a deployment. From kapi.ObjectReference `json:"from" description:"a reference to a deployment, which is a ReplicationController"` // IncludeTriggers specifies whether to include config Triggers. IncludeTriggers bool `json:"includeTriggers" description:"whether to include old config triggers in the rollback"` // IncludeTemplate specifies whether to include the PodTemplateSpec. IncludeTemplate bool `json:"includeTemplate" description:"whether to include the old pod template spec in the rollback"` // IncludeReplicationMeta specifies whether to include the replica count and selector. IncludeReplicationMeta bool `json:"includeReplicationMeta" description:"whether to include the replica count and replica selector in the rollback"` // IncludeStrategy specifies whether to include the deployment Strategy. IncludeStrategy bool `json:"includeStrategy" description:"whether to include the deployment strategy in the rollback"` }
DeploymentConfigRollbackSpec represents the options for rollback generation.
type DeploymentConfigSpec ¶
type DeploymentConfigSpec struct { // Strategy describes how a deployment is executed. Strategy DeploymentStrategy `json:"strategy" description:"how a deployment is executed"` // Triggers determine how updates to a DeploymentConfig result in new deployments. If no triggers // are defined, a new deployment can only occur as a result of an explicit client update to the // DeploymentConfig with a new LatestVersion. Triggers []DeploymentTriggerPolicy `json:"triggers" description:"how new deployments are triggered"` // Replicas is the number of desired replicas. Replicas int `json:"replicas" description:"the desired number of replicas"` // Test ensures that this deployment config will have zero replicas except while a deployment is running. This allows the // deployment config to be used as a continuous deployment test - triggering on images, running the deployment, and then succeeding // or failing. Post strategy hooks and After actions can be used to integrate successful deployment with an action. Test bool `json:"test" description:"if true, this deployment config will always be scaled to 0 except while a deployment is running"` // Selector is a label query over pods that should match the Replicas count. Selector map[string]string `` /* 155-byte string literal not displayed */ // Template is the object that describes the pod that will be created if // insufficient replicas are detected. Template *kapi.PodTemplateSpec `json:"template,omitempty" description:"describes the pod that will be created if insufficient replicas are detected"` }
DeploymentConfigSpec represents the desired state of the deployment.
type DeploymentConfigStatus ¶
type DeploymentConfigStatus struct { // LatestVersion is used to determine whether the current deployment associated with a DeploymentConfig // is out of sync. LatestVersion int `json:"latestVersion,omitempty" description:"used to determine whether the current deployment is out of sync"` // Details are the reasons for the update to this deployment config. // This could be based on a change made by the user or caused by an automatic trigger Details *DeploymentDetails `json:"details,omitempty" description:"reasons for the last update to the config"` }
DeploymentConfigStatus represents the current deployment state.
type DeploymentDetails ¶
type DeploymentDetails struct { // Message is the user specified change message, if this deployment was triggered manually by the user Message string `json:"message,omitempty" description:"a user specified change message"` // Causes are extended data associated with all the causes for creating a new deployment Causes []*DeploymentCause `json:"causes,omitempty" description:"extended data associated with all the causes for creating a new deployment"` }
DeploymentDetails captures information about the causes of a deployment.
type DeploymentLog ¶ added in v1.0.7
type DeploymentLog struct {
unversioned.TypeMeta `json:",inline"`
}
DeploymentLog represents the logs for a deployment
func (*DeploymentLog) GetObjectKind ¶ added in v1.1.3
func (obj *DeploymentLog) GetObjectKind() unversioned.ObjectKind
type DeploymentLogOptions ¶ added in v1.0.7
type DeploymentLogOptions struct { unversioned.TypeMeta `json:",inline"` // The container for which to stream logs. Defaults to only container if there is one container in the pod. Container string `` /* 144-byte string literal not displayed */ // Follow if true indicates that the build log should be streamed until // the build terminates. Follow bool `json:"follow,omitempty" description:"if true indicates that the log should be streamed; defaults to false"` // Return previous deployment logs. Defaults to false. Previous bool `json:"previous,omitempty" description:"return previous deployment logs; defaults to false."` // 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 `json:"sinceSeconds,omitempty" description:"relative time in seconds before the current time from which to show logs"` // 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 `json:"sinceTime,omitempty" description:"relative time in seconds before the current time from which to show logs"` // If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line // of log output. Defaults to false. Timestamps bool `` /* 126-byte string literal not displayed */ // 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 `json:"tailLines,omitempty" description:"the number of lines from the end of the logs to show"` // 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 `json:"limitBytes,omitempty" description:"the number of bytes to read from the server before terminating the log output"` // NoWait if true causes the call to return immediately even if the deployment // is not available yet. Otherwise the server will wait until the deployment has started. // TODO: Fix the tag to 'noWait' in v2 NoWait bool `` /* 149-byte string literal not displayed */ // Version of the deployment for which to view logs. Version *int64 `json:"version,omitempty" description:"the version of the deployment for which to view logs"` }
DeploymentLogOptions is the REST options for a deployment log
func (*DeploymentLogOptions) GetObjectKind ¶ added in v1.1.3
func (obj *DeploymentLogOptions) GetObjectKind() unversioned.ObjectKind
type DeploymentPhase ¶
type DeploymentPhase string
DeploymentPhase describes the possible states a deployment can be in.
const ( // DeploymentPhaseNew means the deployment has been accepted but not yet acted upon. DeploymentPhaseNew DeploymentPhase = "New" // DeploymentPhasePending means the deployment been handed over to a deployment strategy, // but the strategy has not yet declared the deployment to be running. DeploymentPhasePending DeploymentPhase = "Pending" // DeploymentPhaseRunning means the deployment strategy has reported the deployment as // being in-progress. DeploymentPhaseRunning DeploymentPhase = "Running" // DeploymentPhaseComplete means the deployment finished without an error. DeploymentPhaseComplete DeploymentPhase = "Complete" // DeploymentPhaseFailed means the deployment finished with an error. DeploymentPhaseFailed DeploymentPhase = "Failed" )
type DeploymentStrategy ¶
type DeploymentStrategy struct { // Type is the name of a deployment strategy. Type DeploymentStrategyType `json:"type,omitempty" description:"the name of a deployment strategy"` // CustomParams are the input to the Custom deployment strategy. CustomParams *CustomDeploymentStrategyParams `json:"customParams,omitempty" description:"input to the Custom deployment strategy"` // RecreateParams are the input to the Recreate deployment strategy. RecreateParams *RecreateDeploymentStrategyParams `json:"recreateParams,omitempty" description:"input to the Recreate deployment strategy"` // RollingParams are the input to the Rolling deployment strategy. RollingParams *RollingDeploymentStrategyParams `json:"rollingParams,omitempty" description:"input to the Rolling deployment strategy"` // Resources contains resource requirements to execute the deployment and any hooks Resources kapi.ResourceRequirements `json:"resources,omitempty" description:"resource requirements to execute the deployment"` // Labels is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods. Labels map[string]string `json:"labels,omitempty" description:"labels for deployer and hook pods"` // Annotations is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods. Annotations map[string]string `json:"annotations,omitempty" description:"annotations for deployer and hook pods"` }
DeploymentStrategy describes how to perform a deployment.
type DeploymentStrategyType ¶
type DeploymentStrategyType string
DeploymentStrategyType refers to a specific DeploymentStrategy implementation.
const ( // DeploymentStrategyTypeRecreate is a simple strategy suitable as a default. DeploymentStrategyTypeRecreate DeploymentStrategyType = "Recreate" // DeploymentStrategyTypeCustom is a user defined strategy. DeploymentStrategyTypeCustom DeploymentStrategyType = "Custom" // DeploymentStrategyTypeRolling uses the Kubernetes RollingUpdater. DeploymentStrategyTypeRolling DeploymentStrategyType = "Rolling" )
type DeploymentTriggerImageChangeParams ¶
type DeploymentTriggerImageChangeParams struct { // Automatic means that the detection of a new tag value should result in a new deployment. Automatic bool `json:"automatic,omitempty" description:"whether detection of a new tag value should trigger a deployment"` // ContainerNames is used to restrict tag updates to the specified set of container names in a pod. ContainerNames []string `json:"containerNames,omitempty" description:"restricts tag updates to a set of container names in the pod"` // From is a reference to an image stream tag to watch for changes. From.Name is the only // required subfield - if From.Namespace is blank, the namespace of the current deployment // trigger will be used. From kapi.ObjectReference `json:"from" description:"a reference to an ImageStreamTag to watch for changes"` // LastTriggeredImage is the last image to be triggered. LastTriggeredImage string `json:"lastTriggeredImage,omitempty" description:"the last image to be triggered"` }
DeploymentTriggerImageChangeParams represents the parameters to the ImageChange trigger.
type DeploymentTriggerPolicy ¶
type DeploymentTriggerPolicy struct { // Type of the trigger Type DeploymentTriggerType `json:"type,omitempty" description:"the type of the trigger"` // ImageChangeParams represents the parameters for the ImageChange trigger. ImageChangeParams *DeploymentTriggerImageChangeParams `json:"imageChangeParams,omitempty" description:"input to the ImageChange trigger"` }
DeploymentTriggerPolicy describes a policy for a single trigger that results in a new deployment.
type DeploymentTriggerType ¶
type DeploymentTriggerType string
DeploymentTriggerType refers to a specific DeploymentTriggerPolicy implementation.
const ( // DeploymentTriggerOnImageChange will create new deployments in response to updated tags from // a Docker image repository. DeploymentTriggerOnImageChange DeploymentTriggerType = "ImageChange" // DeploymentTriggerOnConfigChange will create new deployments in response to changes to // the ControllerTemplate of a DeploymentConfig. DeploymentTriggerOnConfigChange DeploymentTriggerType = "ConfigChange" )
type ExecNewPodHook ¶
type ExecNewPodHook struct { // Command is the action command and its arguments. Command []string `json:"command" description:"the hook command and its arguments"` // Env is a set of environment variables to supply to the hook pod's container. Env []kapi.EnvVar `json:"env,omitempty" description:"environment variables provided to the hook container"` // ContainerName is the name of a container in the deployment pod template // whose Docker image will be used for the hook pod's container. ContainerName string `` /* 128-byte string literal not displayed */ // Volumes is a list of named volumes from the pod template which should be // copied to the hook pod. Volumes names not found in pod spec are ignored. // An empty list means no volumes will be copied. Volumes []string `` /* 222-byte string literal not displayed */ }
ExecNewPodHook is a hook implementation which runs a command in a new pod based on the specified container which is assumed to be part of the deployment template.
type LifecycleHook ¶
type LifecycleHook struct { // FailurePolicy specifies what action to take if the hook fails. FailurePolicy LifecycleHookFailurePolicy `json:"failurePolicy" description:"what action to take if the hook fails"` // ExecNewPod specifies the options for a lifecycle hook backed by a pod. ExecNewPod *ExecNewPodHook `json:"execNewPod,omitempty" description:"options for an ExecNewPodHook"` // TagImages instructs the deployer to tag the current image referenced under a container onto an image stream tag. TagImages []TagImageHook `` /* 157-byte string literal not displayed */ }
LifecycleHook defines a specific deployment lifecycle action. Only one type of action may be specified at any time.
type LifecycleHookFailurePolicy ¶
type LifecycleHookFailurePolicy string
LifecycleHookFailurePolicy describes possibles actions to take if a hook fails.
const ( // LifecycleHookFailurePolicyRetry means retry the hook until it succeeds. LifecycleHookFailurePolicyRetry LifecycleHookFailurePolicy = "Retry" // LifecycleHookFailurePolicyAbort means abort the deployment (if possible). LifecycleHookFailurePolicyAbort LifecycleHookFailurePolicy = "Abort" // LifecycleHookFailurePolicyIgnore means ignore failure and continue the deployment. LifecycleHookFailurePolicyIgnore LifecycleHookFailurePolicy = "Ignore" )
type RecreateDeploymentStrategyParams ¶
type RecreateDeploymentStrategyParams struct { // TimeoutSeconds is the time to wait for updates before giving up. If the // value is nil, a default will be used. TimeoutSeconds *int64 `json:"timeoutSeconds,omitempty" description:"the time to wait for updates before giving up"` // Pre is a lifecycle hook which is executed before the strategy manipulates // the deployment. All LifecycleHookFailurePolicy values are supported. Pre *LifecycleHook `json:"pre,omitempty" description:"a hook executed before the strategy starts the deployment"` // Mid is a lifecycle hook which is executed while the deployment is scaled down to zero before the first new // pod is created. All LifecycleHookFailurePolicy values are supported. Mid *LifecycleHook `json:"mid,omitempty" description:"a hook executed after the strategy scales down the deployment and before it scales up"` // Post is a lifecycle hook which is executed after the strategy has // finished all deployment logic. All LifecycleHookFailurePolicy values are supported. Post *LifecycleHook `json:"post,omitempty" description:"a hook executed after the strategy finishes the deployment"` }
RecreateDeploymentStrategyParams are the input to the Recreate deployment strategy.
type RollingDeploymentStrategyParams ¶
type RollingDeploymentStrategyParams struct { // UpdatePeriodSeconds is the time to wait between individual pod updates. // If the value is nil, a default will be used. UpdatePeriodSeconds *int64 `json:"updatePeriodSeconds,omitempty" description:"the time to wait between individual pod updates"` // IntervalSeconds is the time to wait between polling deployment status // after update. If the value is nil, a default will be used. IntervalSeconds *int64 `json:"intervalSeconds,omitempty" description:"the time to wait between polling deployment status after update"` // TimeoutSeconds is the time to wait for updates before giving up. If the // value is nil, a default will be used. TimeoutSeconds *int64 `json:"timeoutSeconds,omitempty" description:"the time to wait for updates before giving up"` // during the update. Value can be an absolute number (ex: 5) or a // percentage of total pods at the start of update (ex: 10%). Absolute // number is calculated from percentage by rounding up. // // This cannot be 0 if MaxSurge is 0. By default, 25% is used. // // Example: when this is set to 30%, the old RC can be scaled down by 30% // immediately when the rolling update starts. Once new pods are ready, old // RC can be scaled down further, followed by scaling up the new RC, // ensuring that at least 70% of original number of pods are available at // all times during the update. MaxUnavailable *intstr.IntOrString `` /* 188-byte string literal not displayed */ // MaxSurge is the maximum number of pods that can be scheduled above the // original number of pods. Value can be an absolute number (ex: 5) or a // percentage of total pods at the start of the update (ex: 10%). Absolute // number is calculated from percentage by rounding up. // // This cannot be 0 if MaxUnavailable is 0. By default, 25% is used. // // Example: when this is set to 30%, the new RC can be scaled up by 30% // immediately when the rolling update starts. Once old pods have been // killed, new RC can be scaled up further, ensuring that total number of // pods running at any time during the update is atmost 130% of original // pods. MaxSurge *intstr.IntOrString `` /* 196-byte string literal not displayed */ // UpdatePercent is the percentage of replicas to scale up or down each // interval. If nil, one replica will be scaled up and down each interval. // If negative, the scale order will be down/up instead of up/down. // DEPRECATED: Use MaxUnavailable/MaxSurge instead. UpdatePercent *int `` /* 173-byte string literal not displayed */ // Pre is a lifecycle hook which is executed before the deployment process // begins. All LifecycleHookFailurePolicy values are supported. Pre *LifecycleHook `json:"pre,omitempty" description:"a hook executed before the strategy starts the deployment"` // Post is a lifecycle hook which is executed after the strategy has // finished all deployment logic. The LifecycleHookFailurePolicyAbort policy // is NOT supported. Post *LifecycleHook `json:"post,omitempty" description:"a hook executed after the strategy finishes the deployment"` }
RollingDeploymentStrategyParams are the input to the Rolling deployment strategy.
type TagImageHook ¶ added in v1.1.3
type TagImageHook struct { // ContainerName is the name of a container in the deployment config whose image value will be used as the source of the tag. If there is only a single // container this value will be defaulted to the name of that container. ContainerName string `` /* 196-byte string literal not displayed */ // To is the target ImageStreamTag to set the container's image onto. To kapi.ObjectReference `json:"to" description:"the name of an ImageStreamTag in the current namespace that will be updated with the image value"` }
TagImageHook is a request to tag the image in a particular container onto an ImageStreamTag.