Warehouse is a source of Freight.
Unchanged since Kargo v0.5.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 artifacts.
Shard is the name of the shard that this Warehouse belongs to. This is an optional field. If not specified, the Warehouse will belong to the default shard. A defaulting webhook will sync this field with the value of the kargo.akuity.io/shard label. When the shard label is not present or differs from the value of this field, the defaulting webhook will set the label to the value of this field. If the shard label is present and this field is empty, the defaulting webhook will set the value of this field to the value of the shard label.
Subscriptions describes sources of artifacts to be included in Freight produced by this Warehouse.
Chart describes a subscription to a Helm chart repository.
Name specifies the name of a Helm chart to subscribe to within a classic chart repository specified by the RepoURL field. This field is required when the RepoURL field points to a classic chart repository and MUST otherwise be empty.
RepoURL specifies the URL of a Helm chart repository. It may be a classic chart repository (using HTTP/S) OR a repository within an OCI registry. Classic chart repositories can contain differently named charts. When this field points to such a repository, the Name field MUST also be used to specify the name of the desired chart within that repository. In the case of a repository within an OCI registry, the URL implicitly points to a specific chart and the Name field MUST NOT be used. The RepoURL field is required.
SemverConstraint specifies constraints on what new chart versions are permissible. This field is optional. When left unspecified, there will be no constraints, which means the latest version of the chart will always be used. Care should be taken with leaving this field unspecified, as it can lead to the unanticipated rollout of breaking changes. More info: https://github.com/masterminds/semver#checking-version-constraints
Git describes a subscriptions to a Git repository.
AllowTags is a regular expression that can optionally be used to limit the tags that are considered in determining the newest commit of interest. The value in this field only has any effect when the CommitSelectionStrategy is Lexical, NewestTag, or SemVer. This field is optional.
Branch references a particular branch of the repository. The value in this field only has any effect when the CommitSelectionStrategy is NewestFromBranch or left unspecified (which is implicitly the same as NewestFromBranch). This field is optional. When left unspecified, (and the CommitSelectionStrategy is NewestFromBranch or unspecified), the subscription is implicitly to the repository's default branch.
CommitSelectionStrategy specifies the rules for how to identify the newest commit of interest in the repository specified by the RepoURL field. This field is optional. When left unspecified, the field is implicitly treated as if its value were "NewestFromBranch".
ExcludePaths is an optional list of regular expressions used to specify paths in git repository, changes in which should never produce new freight. When used in conjuction with IncludePaths, both matching same path/paths, ExcludePaths takes precedence over IncludePaths.
IgnoreTags is a list of tags that must be ignored when determining the newest commit of interest. No regular expressions or glob patterns are supported yet. The value in this field only has any effect when the CommitSelectionStrategy is Lexical, NewestTag, or SemVer. This field is optional.
IncludePaths is a list of regular expressions that can optionally be used to limit file paths in repository, changes in which will result in creation of new freight. When not specified - changes in any path will produce new freight, it is equivalent to having a IncludePaths with an entry of ".*" When both IncludePaths and ExcludePaths are specified and match same path/paths, ExcludePaths will prevail over IncludePaths.
InsecureSkipTLSVerify specifies whether certificate verification errors should be ignored when connecting to the repository. This should be enabled only with great caution.
URL is the repository's URL. This is a required field.
SemverConstraint specifies constraints on what new tagged commits are considered in determining the newest commit of interest. The value in this field only has any effect when the CommitSelectionStrategy is SemVer. This field is optional. When left unspecified, there will be no constraints, which means the latest semantically tagged commit will always be used. Care should be taken with leaving this field unspecified, as it can lead to the unanticipated rollout of breaking changes.
Image describes a subscription to container image repository.
AllowTags is a regular expression that can optionally be used to limit the image tags that are considered in determining the newest version of an image. This field is optional.
GitRepoURL optionally specifies the URL of a Git repository that contains the source code for the image repository referenced by the RepoURL field. When this is specified, Kargo MAY be able to infer and link to the exact revision of that source code that was used to build the image.
IgnoreTags is a list of tags that must be ignored when determining the newest version of an image. No regular expressions or glob patterns are supported yet. This field is optional.
ImageSelectionStrategy specifies the rules for how to identify the newest version of the image specified by the RepoURL field. This field is optional. When left unspecified, the field is implicitly treated as if its value were "SemVer".
InsecureSkipTLSVerify specifies whether certificate verification errors should be ignored when connecting to the repository. This should be enabled only with great caution.
Platform is a string of the form <os>/<arch> that limits the tags that can be considered when searching for new versions of an image. This field is optional. When left unspecified, it is implicitly equivalent to the OS/architecture of the Kargo controller. Care should be taken to set this value correctly in cases where the image referenced by this ImageRepositorySubscription will run on a Kubernetes node with a different OS/architecture than the Kargo controller. At present this is uncommon, but not unheard of.
RepoURL specifies the URL of the image repository to subscribe to. The value in this field MUST NOT include an image tag. This field is required.
SemverConstraint specifies constraints on what new image versions are permissible. The value in this field only has any effect when the ImageSelectionStrategy is SemVer or left unspecified (which is implicitly the same as SemVer). This field is also optional. When left unspecified, (and the ImageSelectionStrategy is SemVer or unspecified), there will be no constraints, which means the latest semantically tagged version of an image will always be used. Care should be taken with leaving this field unspecified, as it can lead to the unanticipated rollout of breaking changes. Refer to Image Updater documentation for more details. More info: https://github.com/masterminds/semver#checking-version-constraints
Status describes the Warehouse's most recently observed state.
LastFreight refers to the last Freight produced by this Warehouse
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 git commit author
Branch denotes the branch of the repository where this commit was found.
HealthCheckCommit is the ID of a specific commit. When specified, assessments of Stage health will used this value (instead of ID) when determining if applicable sources of Argo CD Application resources associated with the Stage are or are not synced to this commit. Note that there are cases (as in that of Kargo Render being utilized as a promotion mechanism) wherein the value of this field may differ from the commit ID found in the ID field.
ID is the ID of a specific commit in the Git repository specified by RepoURL.
Message is the git 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.
ID is the same as Name. It will be removed in v0.6.0.
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.
VerificationHistory is a stack of recent VerificationInfo. By default, the last ten VerificationInfo are stored.
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.
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.
VerificationInfo is information about any verification process that was associated with this Freight for this Stage.
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.
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.
Warehouse is the name of the Warehouse that created this Freight.
Message describes any errors that are preventing the Warehouse controller from polling repositories to discover new Freight.
ObservedGeneration represents the .metadata.generation that this Warehouse was reconciled against.
Source: kargo.akuity.io_warehouses.yaml
Changes to Warehouse (kargo.akuity.io/v1alpha1) in each Kargo version, compared to the version before it.
Warehouse was already present in this version of Kargo, the oldest one on kubespec.dev
Released · View Warehouse in v0.5.0
No examples of Warehouse yet. Contribute one on GitHub.