Sub Resources
Bundle contains the resources of an application and its deployment options. It will be deployed as a Helm chart to target clusters.
When a GitRepo is scanned it will produce one or more bundles. Bundles are a collection of resources that get deployed to one or more cluster(s). Bundle is the fundamental deployment unit used in Fleet. The contents of a Bundle may be Kubernetes manifests, Kustomize configuration, or Helm charts. Regardless of the source the contents are dynamically rendered into a Helm chart by the agent and installed into the downstream cluster as a Helm release.
Back to Custom Resources
BundleDisplay​
BundleDisplay contains the number of ready, desiredready clusters and a summary state for the bundle.
Field | Description | Scheme | Required |
---|
readyClusters | ReadyClusters is a string in the form "%d/%d", that describes the number of clusters that are ready vs. the number of clusters desired to be ready. | string | false |
state | State is a summary state for the bundle, calculated over the non-ready resources. | string | false |
Back to Custom Resources
BundleList​
BundleList contains a list of Bundle
Field | Description | Scheme | Required |
---|
metadata | | metav1.ListMeta | false |
items | | []Bundle | true |
Back to Custom Resources
BundleRef​
Field | Description | Scheme | Required |
---|
name | Name of the bundle. | string | false |
selector | Selector matching bundle's labels. | *metav1.LabelSelector | false |
Back to Custom Resources
BundleResource​
BundleResource represents the content of a single resource from the bundle, like a YAML manifest.
Field | Description | Scheme | Required |
---|
name | Name of the resource, can include the bundle's internal path. | string | false |
content | The content of the resource, can be compressed. | string | false |
encoding | Encoding is either empty or "base64+gz". | string | false |
Back to Custom Resources
BundleSpec​
Field | Description | Scheme | Required |
---|
paused | Paused if set to true, will stop any BundleDeployments from being updated. It will be marked as out of sync. | bool | false |
rolloutStrategy | RolloutStrategy controls the rollout of bundles, by defining partitions, canaries and percentages for cluster availability. | *RolloutStrategy | false |
resources | Resources contains the resources that were read from the bundle's path. This includes the content of downloaded helm charts. | []BundleResource | false |
targets | Targets refer to the clusters which will be deployed to. Targets are evaluated in order and the first one to match is used. | []BundleTarget | false |
targetRestrictions | TargetRestrictions is an allow list, which controls if a bundledeployment is created for a target. | []BundleTargetRestriction | false |
dependsOn | DependsOn refers to the bundles which must be ready before this bundle can be deployed. | []BundleRef | false |
contentsId | ContentsID stores the contents id when deploying contents using an OCI registry. | string | false |
Back to Custom Resources
BundleStatus​
Field | Description | Scheme | Required |
---|
conditions | Conditions is a list of Wrangler conditions that describe the state of the bundle. | []genericcondition.GenericCondition | false |
summary | Summary contains the number of bundle deployments in each state and a list of non-ready resources. | BundleSummary | false |
newlyCreated | NewlyCreated is the number of bundle deployments that have been created, not updated. | int | false |
unavailable | Unavailable is the number of bundle deployments that are not ready or where the AppliedDeploymentID in the status does not match the DeploymentID from the spec. | int | true |
unavailablePartitions | UnavailablePartitions is the number of unavailable partitions. | int | true |
maxUnavailable | MaxUnavailable is the maximum number of unavailable deployments. See rollout configuration. | int | true |
maxUnavailablePartitions | MaxUnavailablePartitions is the maximum number of unavailable partitions. The rollout configuration defines a maximum number or percentage of unavailable partitions. | int | true |
maxNew | MaxNew is always 50. A bundle change can only stage 50 bundledeployments at a time. | int | false |
partitions | PartitionStatus lists the status of each partition. | []PartitionStatus | false |
display | Display contains the number of ready, desiredready clusters and a summary state for the bundle's resources. | BundleDisplay | false |
resourceKey | ResourceKey lists resources, which will likely be deployed. The actual list of resources on a cluster might differ, depending on the helm chart, value templating, etc.. | []ResourceKey | false |
ociReference | OCIReference is the OCI reference used to store contents, this is only for informational purposes. | string | false |
observedGeneration | ObservedGeneration is the current generation of the bundle. | int64 | true |
resourcesSha256Sum | ResourcesSHA256Sum corresponds to the JSON serialization of the .Spec.Resources field | string | false |
Back to Custom Resources
BundleSummary​
BundleSummary contains the number of bundle deployments in each state and a list of non-ready resources. It is used in the bundle, clustergroup, cluster and gitrepo status.
Field | Description | Scheme | Required |
---|
notReady | NotReady is the number of bundle deployments that have been deployed where some resources are not ready. | int | false |
waitApplied | WaitApplied is the number of bundle deployments that have been synced from Fleet controller and downstream cluster, but are waiting to be deployed. | int | false |
errApplied | ErrApplied is the number of bundle deployments that have been synced from the Fleet controller and the downstream cluster, but with some errors when deploying the bundle. | int | false |
outOfSync | OutOfSync is the number of bundle deployments that have been synced from Fleet controller, but not yet by the downstream agent. | int | false |
modified | Modified is the number of bundle deployments that have been deployed and for which all resources are ready, but where some changes from the Git repository have not yet been synced. | int | false |
ready | Ready is the number of bundle deployments that have been deployed where all resources are ready. | int | true |
pending | Pending is the number of bundle deployments that are being processed by Fleet controller. | int | false |
desiredReady | DesiredReady is the number of bundle deployments that should be ready. | int | true |
nonReadyResources | NonReadyClusters is a list of states, which is filled for a bundle that is not ready. | []NonReadyResource | false |
Back to Custom Resources
BundleTarget​
BundleTarget declares clusters to deploy to. Fleet will merge the BundleDeploymentOptions from customizations into this struct.
Field | Description | Scheme | Required |
---|
name | Name of target. This value is largely for display and logging. If not specified a default name of the format "target000" will be used | string | false |
clusterName | ClusterName to match a specific cluster by name that will be selected | string | false |
clusterSelector | ClusterSelector is a selector to match clusters. The structure is the standard metav1.LabelSelector format. If clusterGroupSelector or clusterGroup is specified, clusterSelector will be used only to further refine the selection after clusterGroupSelector and clusterGroup is evaluated. | *metav1.LabelSelector | false |
clusterGroup | ClusterGroup to match a specific cluster group by name. | string | false |
clusterGroupSelector | ClusterGroupSelector is a selector to match cluster groups. | *metav1.LabelSelector | false |
doNotDeploy | DoNotDeploy if set to true, will not deploy to this target. | bool | false |
namespaceLabels | NamespaceLabels are labels that will be appended to the namespace created by Fleet. | map[string]string | false |
namespaceAnnotations | NamespaceAnnotations are annotations that will be appended to the namespace created by Fleet. | map[string]string | false |
Back to Custom Resources
BundleTargetRestriction​
BundleTargetRestriction is used internally by Fleet and should not be modified. It acts as an allow list, to prevent the creation of BundleDeployments from Targets created by TargetCustomizations in fleet.yaml.
Field | Description | Scheme | Required |
---|
name | | string | false |
clusterName | | string | false |
clusterSelector | | *metav1.LabelSelector | false |
clusterGroup | | string | false |
clusterGroupSelector | | *metav1.LabelSelector | false |
Back to Custom Resources
NonReadyResource​
NonReadyResource contains information about a bundle that is not ready for a given state like "ErrApplied". It contains a list of non-ready or modified resources and their states.
Field | Description | Scheme | Required |
---|
name | Name is the name of the resource. | string | false |
bundleState | State is the state of the resource, like e.g. "NotReady" or "ErrApplied". | BundleState | false |
message | Message contains information why the bundle is not ready. | string | false |
modifiedStatus | ModifiedStatus lists the state for each modified resource. | []ModifiedStatus | false |
nonReadyStatus | NonReadyStatus lists the state for each non-ready resource. | []NonReadyStatus | false |
Back to Custom Resources
Partition​
Partition defines a separate rollout strategy for a set of clusters.
Field | Description | Scheme | Required |
---|
name | A user-friendly name given to the partition used for Display (optional). | string | false |
maxUnavailable | A number or percentage of clusters that can be unavailable in this partition before this partition is treated as done. default: 10% | *intstr.IntOrString | false |
clusterName | ClusterName is the name of a cluster to include in this partition | string | false |
clusterSelector | Selector matching cluster labels to include in this partition | *metav1.LabelSelector | false |
clusterGroup | A cluster group name to include in this partition | string | false |
clusterGroupSelector | Selector matching cluster group labels to include in this partition | *metav1.LabelSelector | false |
Back to Custom Resources
PartitionStatus​
PartitionStatus is the status of a single rollout partition.
Field | Description | Scheme | Required |
---|
name | Name is the name of the partition. | string | false |
count | Count is the number of clusters in the partition. | int | false |
maxUnavailable | MaxUnavailable is the maximum number of unavailable clusters in the partition. | int | false |
unavailable | Unavailable is the number of unavailable clusters in the partition. | int | false |
summary | Summary is a summary state for the partition, calculated over its non-ready resources. | BundleSummary | false |
Back to Custom Resources
ResourceKey​
ResourceKey lists resources, which will likely be deployed.
Field | Description | Scheme | Required |
---|
kind | Kind is the k8s api kind of the resource. | string | false |
apiVersion | APIVersion is the k8s api version of the resource. | string | false |
namespace | Namespace is the namespace of the resource. | string | false |
name | Name is the name of the resource. | string | false |
Back to Custom Resources
RolloutStrategy​
RolloverStrategy controls the rollout of the bundle across clusters.
Field | Description | Scheme | Required |
---|
maxUnavailable | A number or percentage of clusters that can be unavailable during an update of a bundle. This follows the same basic approach as a deployment rollout strategy. Once the number of clusters meets unavailable state update will be paused. Default value is 100% which doesn't take effect on update. default: 100% | *intstr.IntOrString | false |
maxUnavailablePartitions | A number or percentage of cluster partitions that can be unavailable during an update of a bundle. default: 0 | *intstr.IntOrString | false |
autoPartitionSize | A number or percentage of how to automatically partition clusters if no specific partitioning strategy is configured. default: 25% | *intstr.IntOrString | false |
partitions | A list of definitions of partitions. If any target clusters do not match the configuration they are added to partitions at the end following the autoPartitionSize. | []Partition | false |
Back to Custom Resources
BundleDeployment​
BundleDeployment is used internally by Fleet and should not be used directly. When a Bundle is deployed to a cluster an instance of a Bundle is called a BundleDeployment. A BundleDeployment represents the state of that Bundle on a specific cluster with its cluster-specific customizations. The Fleet agent is only aware of BundleDeployment resources that are created for the cluster the agent is managing.
Back to Custom Resources
BundleDeploymentDisplay​
Field | Description | Scheme | Required |
---|
deployed | | string | false |
monitored | | string | false |
state | | string | false |
Back to Custom Resources
BundleDeploymentList​
BundleDeploymentList contains a list of BundleDeployment
Field | Description | Scheme | Required |
---|
metadata | | metav1.ListMeta | false |
items | | []BundleDeployment | true |
Back to Custom Resources
BundleDeploymentOptions​
Field | Description | Scheme | Required |
---|
defaultNamespace | DefaultNamespace is the namespace to use for resources that do not specify a namespace. This field is not used to enforce or lock down the deployment to a specific namespace. | string | false |
namespace | TargetNamespace if present will assign all resource to this namespace and if any cluster scoped resource exists the deployment will fail. | string | false |
kustomize | Kustomize options for the deployment, like the dir containing the kustomization.yaml file. | *KustomizeOptions | false |
helm | Helm options for the deployment, like the chart name, repo and values. | *HelmOptions | false |
serviceAccount | ServiceAccount which will be used to perform this deployment. | string | false |
forceSyncGeneration | ForceSyncGeneration is used to force a redeployment | int64 | false |
yaml | YAML options, if using raw YAML these are names that map to overlays/{name} files that will be used to replace or patch a resource. | *YAMLOptions | false |
diff | Diff can be used to ignore the modified state of objects which are amended at runtime. | *DiffOptions | false |
keepResources | KeepResources can be used to keep the deployed resources when removing the bundle | bool | false |
deleteNamespace | DeleteNamespace can be used to delete the deployed namespace when removing the bundle | bool | false |
ignore | IgnoreOptions can be used to ignore fields when monitoring the bundle. | IgnoreOptions | false |
correctDrift | CorrectDrift specifies how drift correction should work. | *CorrectDrift | false |
namespaceLabels | NamespaceLabels are labels that will be appended to the namespace created by Fleet. | map[string]string | false |
namespaceAnnotations | NamespaceAnnotations are annotations that will be appended to the namespace created by Fleet. | map[string]string | false |
deleteCRDResources | DeleteCRDResources deletes CRDs. Warning! this will also delete all your Custom Resources. | bool | false |
Back to Custom Resources
BundleDeploymentResource​
BundleDeploymentResource contains the metadata of a deployed resource.
Field | Description | Scheme | Required |
---|
kind | | string | false |
apiVersion | | string | false |
namespace | | string | false |
name | | string | false |
createdAt | | metav1.Time | false |
Back to Custom Resources
BundleDeploymentSpec​
Field | Description | Scheme | Required |
---|
paused | Paused if set to true, will stop any BundleDeployments from being updated. If true, BundleDeployments will be marked as out of sync when changes are detected. | bool | false |
stagedOptions | StagedOptions are the deployment options, that are staged for the next deployment. | BundleDeploymentOptions | false |
stagedDeploymentID | StagedDeploymentID is the ID of the staged deployment. | string | false |
options | Options are the deployment options, that are currently applied. | BundleDeploymentOptions | false |
deploymentID | DeploymentID is the ID of the currently applied deployment. | string | false |
dependsOn | DependsOn refers to the bundles which must be ready before this bundle can be deployed. | []BundleRef | false |
correctDrift | CorrectDrift specifies how drift correction should work. | *CorrectDrift | false |
ociContents | OCIContents is true when this deployment's contents is stored in an oci registry | bool | false |
Back to Custom Resources
BundleDeploymentStatus