Promotion
kargo.akuity.io / v1alpha1
apiVersion: kargo.akuity.io/v1alpha1
kind: Promotion
metadata:
name: example
apiVersion
string
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
object
spec object required
Spec describes the desired transition of a specific Stage into a specific
Freight.
freight
string required
Freight specifies the piece of Freight to be promoted into the Stage
referenced by the Stage field.
pattern:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$minLength:
1maxLength:
253
stage
string required
Stage specifies the name of the Stage to which this Promotion
applies. The Stage referenced by this field MUST be in the same
namespace as the Promotion.
pattern:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$minLength:
1maxLength:
253steps []object required
Steps specifies the directives to be executed as part of this Promotion.
The order in which the directives are executed is the order in which they
are listed in this field.
minItems:
1
as
string
As is the alias this step can be referred to as.
config
object
Config is opaque configuration for the PromotionStep that is understood
only by each PromotionStep's implementation. It is legal to utilize
expressions in defining values at any level of this block.
See https://docs.kargo.io/user-guide/reference-docs/expressions for details.
continueOnError
boolean
ContinueOnError is a boolean value that, if set to true, will cause the
Promotion to continue executing the next step even if this step fails. It
also will not permit this failure to impact the overall status of the
Promotion.
if
string
If is an optional expression that, if present, must evaluate to a boolean
value. If the expression evaluates to false, the step will be skipped.
If the expression does not evaluate to a boolean value, the step will be
considered to have failed.
retry object
Retry is the retry policy for this step.
errorThreshold
integer
ErrorThreshold is the number of consecutive times the step must fail (for
any reason) before retries are abandoned and the entire Promotion is marked
as failed.
If this field is set to 0, the effective default will be a step-specific
one. If no step-specific default exists (i.e. is also 0), the effective
default will be the system-wide default of 1.
A value of 1 will cause the Promotion to be marked as failed after just
a single failure; i.e. no retries will be attempted.
There is no option to specify an infinite number of retries using a value
such as -1.
In a future release, Kargo is likely to become capable of distinguishing
between recoverable and non-recoverable step failures. At that time, it is
planned that unrecoverable failures will not be subject to this threshold
and will immediately cause the Promotion to be marked as failed without
further condition.
format:
int32
timeout
string
Timeout is the soft maximum interval in which a step that returns a Running
status (which typically indicates it's waiting for something to happen)
may be retried.
The maximum is a soft one because the check for whether the interval has
elapsed occurs AFTER the step has run. This effectively means a step may
run ONCE beyond the close of the interval.
If this field is set to nil, the effective default will be a step-specific
one. If no step-specific default exists (i.e. is also nil), the effective
default will be the system-wide default of 0.
A value of 0 will cause the step to be retried indefinitely unless the
ErrorThreshold is reached.
task object
Task is a reference to a PromotionTask that should be inflated into a
Promotion when it is built from a PromotionTemplate.
kind
string
Kind is the type of the PromotionTask. Can be either PromotionTask or
ClusterPromotionTask, default is PromotionTask.
enum:
PromotionTask, ClusterPromotionTask
name
string required
Name is the name of the (Cluster)PromotionTask.
pattern:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$minLength:
1maxLength:
253
uses
string
Uses identifies a runner that can execute this step.
minLength:
1vars []object
Vars is a list of variables that can be referenced by expressions in
the step's Config. The values override the values specified in the
PromotionSpec.
name
string required
Name is the name of the variable.
pattern:
^[a-zA-Z_]\w*$minLength:
1
value
string
Value is the value of the variable. It is allowed to utilize expressions
in the value.
See https://docs.kargo.io/user-guide/reference-docs/expressions for details.
vars []object
Vars is a list of variables that can be referenced by expressions in
promotion steps.
name
string required
Name is the name of the variable.
pattern:
^[a-zA-Z_]\w*$minLength:
1
value
string
Value is the value of the variable. It is allowed to utilize expressions
in the value.
See https://docs.kargo.io/user-guide/reference-docs/expressions for details.
status object
Status describes the current state of the transition represented by this
Promotion.
currentStep
integer
CurrentStep is the index of the current promotion step being executed. This
permits steps that have already run successfully to be skipped on
subsequent reconciliations attempts.
format:
int64
finishedAt
string
FinishedAt is the time when the promotion was completed.
format:
date-timefreight object
Freight is the detail of the piece of freight that was referenced by this promotion.
charts []object
Charts describes specific versions of specific Helm charts.
name
string
Name specifies the name of the chart.
repoURL
string
RepoURL specifies the URL of a Helm chart repository. Classic chart
repositories (using HTTP/S) can contain differently named charts. When this
field points to such a repository, the Name field will specify the name of
the chart within the repository. In the case of a repository within an OCI
registry, the URL implicitly points to a specific chart and the Name field
will be empty.
version
string
Version specifies a particular version of the chart.
commits []object
Commits describes specific Git repository commits.
author
string
Author is the author of the commit.
branch
string
Branch denotes the branch of the repository where this commit was found.
committer
string
Committer is the person who committed the commit.
id
string
ID is the ID of a specific commit in the Git repository specified by
RepoURL.
message
string
Message is the message associated with the commit. At present, this only
contains the first line (subject) of the commit message.
repoURL
string
RepoURL is the URL of a Git repository.
tag
string
Tag denotes a tag in the repository that matched selection criteria and
resolved to this commit.
images []object
Images describes specific versions of specific container images.
annotations
object
Annotations is a map of arbitrary metadata for the image.
digest
string
Digest identifies a specific version of the image in the repository
specified by RepoURL. This is a more precise identifier than Tag.
gitRepoURL
string
GitRepoURL specifies the URL of a Git repository that contains the source
code for the image repository referenced by the RepoURL field if Kargo was
able to infer it.
Deprecated: Use OCI annotations instead. Will be removed in v1.7.0.
repoURL
string
RepoURL describes the repository in which the image can be found.
tag
string
Tag identifies a specific version of the image in the repository specified
by RepoURL.
name
string
Name is a system-assigned identifier derived deterministically from
the contents of the Freight. I.e., two pieces of Freight can be compared
for equality by comparing their Names.
origin object
Origin describes a kind of Freight in terms of its origin.
kind
string required
Kind is the kind of resource from which Freight may have originated. At
present, this can only be "Warehouse".
enum:
Warehouse
name
string required
Name is the name of the resource of the kind indicated by the Kind field
from which Freight may originate.
freightCollection object
FreightCollection contains the details of the piece of Freight referenced
by this Promotion as well as any additional Freight that is carried over
from the target Stage's current state.
id
string required
ID is a unique and deterministically calculated identifier for the
FreightCollection. It is updated on each use of the UpdateOrPush method.
items
object
Freight is a map of FreightReference objects, indexed by their Warehouse
origin.
verificationHistory []object
VerificationHistory is a stack of recent VerificationInfo. By default,
the last ten VerificationInfo are stored.
actor
string
Actor is the name of the entity that initiated or aborted the
Verification process.
analysisRun object
AnalysisRun is a reference to the Argo Rollouts AnalysisRun that implements
the Verification process.
name
string required
Name is the name of the AnalysisRun.
namespace
string required
Namespace is the namespace of the AnalysisRun.
phase
string required
Phase is the last observed phase of the AnalysisRun referenced by Name.
finishTime
string
FinishTime is the time at which the Verification process finished.
format:
date-time
id
string required
ID is the identifier of the Verification process.
message
string
Message may contain additional information about why the verification
process is in its current phase.
phase
string required
Phase describes the current phase of the Verification process. Generally,
this will be a reflection of the underlying AnalysisRun's phase, however,
there are exceptions to this, such as in the case where an AnalysisRun
cannot be launched successfully.
startTime
string required
StartTime is the time at which the Verification process was started.
format:
date-timehealthChecks []object
HealthChecks contains the health check directives to be executed after
the Promotion has completed.
config
object
Config is the configuration for the directive.
uses
string required
Uses identifies a runner that can execute this step.
minLength:
1
lastHandledRefresh
string
LastHandledRefresh holds the value of the most recent AnnotationKeyRefresh
annotation that was handled by the controller. This field can be used to
determine whether the request to refresh the resource has been handled.
message
string
Message is a display message about the promotion, including any errors
preventing the Promotion controller from executing this Promotion.
i.e. If the Phase field has a value of Failed, this field can be expected
to explain why.
phase
string
Phase describes where the Promotion currently is in its lifecycle.
state
object
State stores the state of the promotion process between reconciliation
attempts.
stepExecutionMetadata []object
StepExecutionMetadata tracks metadata pertaining to the execution
of individual promotion steps.
alias
string
Alias is the alias of the step.
continueOnError
boolean
ContinueOnError is a boolean value that, if set to true, will cause the
Promotion to continue executing the next step even if this step fails. It
also will not permit this failure to impact the overall status of the
Promotion.
errorCount
integer
ErrorCount tracks consecutive failed attempts to execute the step.
format:
int32
finishedAt
string
FinishedAt is the time at which the final attempt to execute the step
completed.
format:
date-time
message
string
Message is a display message about the step, including any errors.
startedAt
string
StartedAt is the time at which the first attempt to execute the step
began.
format:
date-time
status
string
Status is the high-level outcome of the step.
No matches. Try .spec.freight for an exact path