Stage is the Kargo API's main type.
Last changed in Kargo v1.0.0
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 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
Spec describes sources of Freight used by the Stage and how to incorporate Freight into the Stage.
PromotionTemplate describes how to incorporate Freight into the Stage using a Promotion.
PromotionTemplateSpec describes the (partial) specification of a Promotion for a Stage. This is a template that can be used to create a Promotion for a Stage.
Steps specifies the directives to be executed as part of a Promotion. The order in which the directives are executed is the order in which they are listed in this field.
As is the alias this step can be referred to as.
Config is the configuration for the directive.
Uses identifies a runner that can execute this step.
RequestedFreight expresses the Stage's need for certain pieces of Freight, each having originated from a particular Warehouse. This list must be non-empty. In the common case, a Stage will request Freight having originated from just one specific Warehouse. In advanced cases, requesting Freight from multiple Warehouses provides a method of advancing new artifacts of different types through parallel pipelines at different speeds. This can be useful, for instance, if a Stage is home to multiple microservices that are independently versioned.
Origin specifies from where the requested Freight must have originated. This is a required field.
Kind is the kind of resource from which Freight may have originated. At present, this can only be "Warehouse".
Name is the name of the resource of the kind indicated by the Kind field from which Freight may originated.
Sources describes where the requested Freight may be obtained from. This is a required field.
Direct indicates the requested Freight may be obtained directly from the Warehouse from which it originated. If this field's value is false, then the value of the Stages field must be non-empty. i.e. Between the two fields, at least one source must be specified.
Stages identifies other "upstream" Stages as potential sources of the requested Freight. If this field's value is empty, then the value of the Direct field must be true. i.e. Between the two fields, at least on source must be specified.
Shard is the name of the shard that this Stage belongs to. This is an optional field. If not specified, the Stage will belong to the default shard. A defaulting webhook will sync the value of the kargo.akuity.io/shard label with the value of this field. When this field is empty, the webhook will ensure that label is absent.
Verification describes how to verify a Stage's current Freight is fit for promotion downstream.
AnalysisRunMetadata contains optional metadata that should be applied to all AnalysisRuns.
Additional annotations to apply to an AnalysisRun.
Additional labels to apply to an AnalysisRun.
AnalysisTemplates is a list of AnalysisTemplates from which AnalysisRuns should be created to verify a Stage's current Freight is fit to be promoted downstream.
Name is the name of the AnalysisTemplate in the same project/namespace as the Stage.
Args lists arguments that should be added to all AnalysisRuns.
Name is the name of the argument.
Value is the value of the argument.
Status describes the Stage's current and recent Freight, health, and more.
CurrentPromotion is a reference to the currently Running promotion.
FinishedAt is the time at which the Promotion was completed.
Freight is the freight being promoted.
Charts describes specific versions of specific Helm charts.
Name specifies the name of the chart.
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 specifies a particular version of the chart.
Commits describes specific Git repository commits.
Author is the author of the commit.
Branch denotes the branch of the repository where this commit was found.
Committer is the person who committed the commit.
ID is the ID of a specific commit in the Git repository specified by RepoURL.
Message is the message associated with the commit. At present, this only contains the first line (subject) of the commit message.
RepoURL is the URL of a Git repository.
Tag denotes a tag in the repository that matched selection criteria and resolved to this commit.
Images describes specific versions of specific container images.
Digest identifies a specific version of the image in the repository specified by RepoURL. This is a more precise identifier than Tag.
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.
RepoURL describes the repository in which the image can be found.
Tag identifies a specific version of the image in the repository specified by RepoURL.
Name is system-assigned identifier that is derived deterministically from the contents of the Freight. i.e. Two pieces of Freight can be compared for equality by comparing their Names.
Origin describes a kind of Freight in terms of its origin.
Kind is the kind of resource from which Freight may have originated. At present, this can only be "Warehouse".
Name is the name of the resource of the kind indicated by the Kind field from which Freight may originated.
Name is the name of the Promotion.
Status is the (optional) status of the Promotion.
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.
FinishedAt is the time when the promotion was completed.
Freight is the detail of the piece of freight that was referenced by this promotion.
Charts describes specific versions of specific Helm charts.
Name specifies the name of the chart.
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 specifies a particular version of the chart.
Commits describes specific Git repository commits.
Author is the author of the commit.
Branch denotes the branch of the repository where this commit was found.
Committer is the person who committed the commit.
ID is the ID of a specific commit in the Git repository specified by RepoURL.
Message is the message associated with the commit. At present, this only contains the first line (subject) of the commit message.
RepoURL is the URL of a Git repository.
Tag denotes a tag in the repository that matched selection criteria and resolved to this commit.
Images describes specific versions of specific container images.
Digest identifies a specific version of the image in the repository specified by RepoURL. This is a more precise identifier than Tag.
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.
RepoURL describes the repository in which the image can be found.
Tag identifies a specific version of the image in the repository specified by RepoURL.
Name is system-assigned identifier that is derived deterministically from the contents of the Freight. i.e. Two pieces of Freight can be compared for equality by comparing their Names.
Origin describes a kind of Freight in terms of its origin.
Kind is the kind of resource from which Freight may have originated. At present, this can only be "Warehouse".
Name is the name of the resource of the kind indicated by the Kind field from which Freight may originated.
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 is a unique and deterministically calculated identifier for the FreightCollection. It is updated on each use of the UpdateOrPush method.
Freight is a map of FreightReference objects, indexed by their Warehouse origin.
Charts describes specific versions of specific Helm charts.
Name specifies the name of the chart.
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 specifies a particular version of the chart.
Commits describes specific Git repository commits.
Author is the author of the commit.
Branch denotes the branch of the repository where this commit was found.
Committer is the person who committed the commit.
ID is the ID of a specific commit in the Git repository specified by RepoURL.
Message is the message associated with the commit. At present, this only contains the first line (subject) of the commit message.
RepoURL is the URL of a Git repository.
Tag denotes a tag in the repository that matched selection criteria and resolved to this commit.
Images describes specific versions of specific container images.
Digest identifies a specific version of the image in the repository specified by RepoURL. This is a more precise identifier than Tag.
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.
RepoURL describes the repository in which the image can be found.
Tag identifies a specific version of the image in the repository specified by RepoURL.
Name is system-assigned identifier that is derived deterministically from the contents of the Freight. i.e. Two pieces of Freight can be compared for equality by comparing their Names.
Origin describes a kind of Freight in terms of its origin.
Kind is the kind of resource from which Freight may have originated. At present, this can only be "Warehouse".
Name is the name of the resource of the kind indicated by the Kind field from which Freight may originated.
VerificationHistory is a stack of recent VerificationInfo. By default, the last ten VerificationInfo are stored.
Actor is the name of the entity that initiated or aborted the Verification process.
AnalysisRun is a reference to the Argo Rollouts AnalysisRun that implements the Verification process.
Name is the name of the AnalysisRun.
Namespace is the namespace of the AnalysisRun.
Phase is the last observed phase of the AnalysisRun referenced by Name.
FinishTime is the time at which the Verification process finished.
ID is the identifier of the Verification process.
Message may contain additional information about why the verification process is in its current phase.
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 is the time at which the Verification process was started.
HealthChecks contains the health check directives to be executed after the Promotion has completed.
Config is the configuration for the directive.
Uses identifies a runner that can execute this step.
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 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 describes where the Promotion currently is in its lifecycle.
State stores the state of the promotion process between reconciliation attempts.
FreightHistory is a list of recent Freight selections that were deployed to the Stage. By default, the last ten Freight selections are stored. The first item in the list is the most recent Freight selection and currently deployed to the Stage, subsequent items are older selections.
ID is a unique and deterministically calculated identifier for the FreightCollection. It is updated on each use of the UpdateOrPush method.
Freight is a map of FreightReference objects, indexed by their Warehouse origin.
Charts describes specific versions of specific Helm charts.
Name specifies the name of the chart.
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 specifies a particular version of the chart.
Commits describes specific Git repository commits.
Author is the author of the commit.
Branch denotes the branch of the repository where this commit was found.
Committer is the person who committed the commit.
ID is the ID of a specific commit in the Git repository specified by RepoURL.
Message is the message associated with the commit. At present, this only contains the first line (subject) of the commit message.
RepoURL is the URL of a Git repository.
Tag denotes a tag in the repository that matched selection criteria and resolved to this commit.
Images describes specific versions of specific container images.
Digest identifies a specific version of the image in the repository specified by RepoURL. This is a more precise identifier than Tag.
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.
RepoURL describes the repository in which the image can be found.
Tag identifies a specific version of the image in the repository specified by RepoURL.
Name is system-assigned identifier that is derived deterministically from the contents of the Freight. i.e. Two pieces of Freight can be compared for equality by comparing their Names.
Origin describes a kind of Freight in terms of its origin.
Kind is the kind of resource from which Freight may have originated. At present, this can only be "Warehouse".
Name is the name of the resource of the kind indicated by the Kind field from which Freight may originated.
VerificationHistory is a stack of recent VerificationInfo. By default, the last ten VerificationInfo are stored.
Actor is the name of the entity that initiated or aborted the Verification process.
AnalysisRun is a reference to the Argo Rollouts AnalysisRun that implements the Verification process.
Name is the name of the AnalysisRun.
Namespace is the namespace of the AnalysisRun.
Phase is the last observed phase of the AnalysisRun referenced by Name.
FinishTime is the time at which the Verification process finished.
ID is the identifier of the Verification process.
Message may contain additional information about why the verification process is in its current phase.
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 is the time at which the Verification process was started.
FreightSummary is human-readable text maintained by the controller that summarizes what Freight is currently deployed to the Stage. For Stages that request a single piece of Freight AND the request has been fulfilled, this field will simply contain the name of the Freight. For Stages that request a single piece of Freight AND the request has NOT been fulfilled, or for Stages that request multiple pieces of Freight, this field will contain a summary of fulfilled/requested Freight. The existence of this field is a workaround for kubectl limitations so that this complex but valuable information can be displayed in a column in response to `kubectl get stages`.
Health is the Stage's last observed health.
ArgoCDApps describes the current state of any related ArgoCD Applications.
HealthStatus is the health of the ArgoCD Application.
Name is the name of the ArgoCD Application.
Namespace is the namespace of the ArgoCD Application.
SyncStatus is the sync status of the ArgoCD Application.
Config is the opaque configuration of all health checks performed on this Stage.
Issues clarifies why a Stage in any state other than Healthy is in that state. This field will always be the empty when a Stage is Healthy.
Output is the opaque output of all health checks performed on this Stage.
Status describes the health of the Stage.
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.
LastPromotion is a reference to the last completed promotion.
FinishedAt is the time at which the Promotion was completed.
Freight is the freight being promoted.
Charts describes specific versions of specific Helm charts.
Name specifies the name of the chart.
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 specifies a particular version of the chart.
Commits describes specific Git repository commits.
Author is the author of the commit.
Branch denotes the branch of the repository where this commit was found.
Committer is the person who committed the commit.
ID is the ID of a specific commit in the Git repository specified by RepoURL.
Message is the message associated with the commit. At present, this only contains the first line (subject) of the commit message.
RepoURL is the URL of a Git repository.
Tag denotes a tag in the repository that matched selection criteria and resolved to this commit.
Images describes specific versions of specific container images.
Digest identifies a specific version of the image in the repository specified by RepoURL. This is a more precise identifier than Tag.
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.
RepoURL describes the repository in which the image can be found.
Tag identifies a specific version of the image in the repository specified by RepoURL.
Name is system-assigned identifier that is derived deterministically from the contents of the Freight. i.e. Two pieces of Freight can be compared for equality by comparing their Names.
Origin describes a kind of Freight in terms of its origin.
Kind is the kind of resource from which Freight may have originated. At present, this can only be "Warehouse".
Name is the name of the resource of the kind indicated by the Kind field from which Freight may originated.
Name is the name of the Promotion.
Status is the (optional) status of the Promotion.
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.
FinishedAt is the time when the promotion was completed.
Freight is the detail of the piece of freight that was referenced by this promotion.
Charts describes specific versions of specific Helm charts.
Name specifies the name of the chart.
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 specifies a particular version of the chart.
Commits describes specific Git repository commits.
Author is the author of the commit.
Branch denotes the branch of the repository where this commit was found.
Committer is the person who committed the commit.
ID is the ID of a specific commit in the Git repository specified by RepoURL.
Message is the message associated with the commit. At present, this only contains the first line (subject) of the commit message.
RepoURL is the URL of a Git repository.
Tag denotes a tag in the repository that matched selection criteria and resolved to this commit.
Images describes specific versions of specific container images.
Digest identifies a specific version of the image in the repository specified by RepoURL. This is a more precise identifier than Tag.
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.
RepoURL describes the repository in which the image can be found.
Tag identifies a specific version of the image in the repository specified by RepoURL.
Name is system-assigned identifier that is derived deterministically from the contents of the Freight. i.e. Two pieces of Freight can be compared for equality by comparing their Names.
Origin describes a kind of Freight in terms of its origin.
Kind is the kind of resource from which Freight may have originated. At present, this can only be "Warehouse".
Name is the name of the resource of the kind indicated by the Kind field from which Freight may originated.
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 is a unique and deterministically calculated identifier for the FreightCollection. It is updated on each use of the UpdateOrPush method.
Freight is a map of FreightReference objects, indexed by their Warehouse origin.
Charts describes specific versions of specific Helm charts.
Name specifies the name of the chart.
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 specifies a particular version of the chart.
Commits describes specific Git repository commits.
Author is the author of the commit.
Branch denotes the branch of the repository where this commit was found.
Committer is the person who committed the commit.
ID is the ID of a specific commit in the Git repository specified by RepoURL.
Message is the message associated with the commit. At present, this only contains the first line (subject) of the commit message.
RepoURL is the URL of a Git repository.
Tag denotes a tag in the repository that matched selection criteria and resolved to this commit.
Images describes specific versions of specific container images.
Digest identifies a specific version of the image in the repository specified by RepoURL. This is a more precise identifier than Tag.
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.
RepoURL describes the repository in which the image can be found.
Tag identifies a specific version of the image in the repository specified by RepoURL.
Name is system-assigned identifier that is derived deterministically from the contents of the Freight. i.e. Two pieces of Freight can be compared for equality by comparing their Names.
Origin describes a kind of Freight in terms of its origin.
Kind is the kind of resource from which Freight may have originated. At present, this can only be "Warehouse".
Name is the name of the resource of the kind indicated by the Kind field from which Freight may originated.
VerificationHistory is a stack of recent VerificationInfo. By default, the last ten VerificationInfo are stored.
Actor is the name of the entity that initiated or aborted the Verification process.
AnalysisRun is a reference to the Argo Rollouts AnalysisRun that implements the Verification process.
Name is the name of the AnalysisRun.
Namespace is the namespace of the AnalysisRun.
Phase is the last observed phase of the AnalysisRun referenced by Name.
FinishTime is the time at which the Verification process finished.
ID is the identifier of the Verification process.
Message may contain additional information about why the verification process is in its current phase.
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 is the time at which the Verification process was started.
HealthChecks contains the health check directives to be executed after the Promotion has completed.
Config is the configuration for the directive.
Uses identifies a runner that can execute this step.
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 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 describes where the Promotion currently is in its lifecycle.
State stores the state of the promotion process between reconciliation attempts.
Message describes any errors that are preventing the Stage controller from assessing Stage health or from finding new Freight.
ObservedGeneration represents the .metadata.generation that this Stage status was reconciled against.
Phase describes where the Stage currently is in its lifecycle.
Source: kargo.akuity.io_stages.yaml
Changes to Stage (kargo.akuity.io/v1alpha1) in each Kargo version, compared to the version before it.
10 properties have been removed
Released · View Stage in v1.0.0
9 properties have been added
24 properties have been removed
1 property is now required
9 properties have changed the description
Released · View Stage in v0.9.0
1 property has been added
Released · View Stage in v0.8.7
30 properties have been added
2 properties are no longer required
27 properties have changed the description
Released · View Stage in v0.8.0
6 properties have been added
12 properties have changed the description
Released · View Stage in v0.7.0
16 properties have been added
3 properties have been removed
1 property has changed the description
Released · View Stage in v0.6.0
Stage was already present in this version of Kargo, the oldest one on kubespec.dev
Released · View Stage in v0.5.0
No examples of Stage yet. Contribute one on GitHub.