rancher-charts/charts/fleet-crd/103.1.7+up0.9.8/templates/crds.yaml

5737 lines
296 KiB
YAML

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: bundledeployments.fleet.cattle.io
spec:
group: fleet.cattle.io
names:
kind: BundleDeployment
plural: bundledeployments
singular: bundledeployment
preserveUnknownFields: false
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .status.display.deployed
name: Deployed
type: string
- jsonPath: .status.display.monitored
name: Monitored
type: string
- jsonPath: .status.conditions[?(@.type=="Ready")].message
name: Status
type: string
name: v1alpha1
schema:
openAPIV3Schema:
description: 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.
properties:
apiVersion:
description: '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'
type: string
kind:
description: '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'
type: string
metadata:
type: object
spec:
properties:
correctDrift:
description: CorrectDrift specifies how drift correction should
work.
nullable: true
properties:
enabled:
description: Enabled correct drift if true.
type: boolean
force:
description: Force helm rollback with --force option will be
used if true. This will try to recreate all resources in the
release.
type: boolean
keepFailHistory:
description: KeepFailHistory keeps track of failed rollbacks
in the helm history.
type: boolean
type: object
dependsOn:
description: DependsOn refers to the bundles which must be ready
before this bundle can be deployed.
items:
properties:
name:
description: Name of the bundle.
nullable: true
type: string
selector:
description: Selector matching bundle's labels.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label selector
requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector
that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the selector
applies to.
nullable: true
type: string
operator:
description: operator represents a key's relationship
to a set of values. Valid operators are In, NotIn,
Exists and DoesNotExist.
nullable: true
type: string
values:
description: values is an array of string values.
If the operator is In or NotIn, the values array
must be non-empty. If the operator is Exists or
DoesNotExist, the values array must be empty.
This array is replaced during a strategic merge
patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchLabels:
additionalProperties:
nullable: true
type: string
description: matchLabels is a map of {key,value} pairs.
A single {key,value} in the matchLabels map is equivalent
to an element of matchExpressions, whose key field is
"key", the operator is "In", and the values array contains
only "value". The requirements are ANDed.
nullable: true
type: object
type: object
type: object
nullable: true
type: array
deploymentID:
description: DeploymentID is the ID of the currently applied deployment.
nullable: true
type: string
options:
description: Options are the deployment options, that are currently
applied.
properties:
correctDrift:
description: CorrectDrift specifies how drift correction should
work.
nullable: true
properties:
enabled:
description: Enabled correct drift if true.
type: boolean
force:
description: Force helm rollback with --force option will
be used if true. This will try to recreate all resources
in the release.
type: boolean
keepFailHistory:
description: KeepFailHistory keeps track of failed rollbacks
in the helm history.
type: boolean
type: object
defaultNamespace:
description: 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.
nullable: true
type: string
deleteCRDResources:
description: DeleteCRDResources deletes CRDs. Warning! this
will also delete all your Custom Resources.
type: boolean
diff:
description: Diff can be used to ignore the modified state of
objects which are amended at runtime.
nullable: true
properties:
comparePatches:
description: ComparePatches match a resource and remove
fields from the check for modifications.
items:
description: ComparePatch matches a resource and removes
fields from the check for modifications.
properties:
apiVersion:
description: APIVersion is the apiVersion of the resource
to match.
nullable: true
type: string
jsonPointers:
description: JSONPointers ignore diffs at a certain
JSON path.
items:
nullable: true
type: string
nullable: true
type: array
kind:
description: Kind is the kind of the resource to match.
nullable: true
type: string
name:
description: Name is the name of the resource to match.
nullable: true
type: string
namespace:
description: Namespace is the namespace of the resource
to match.
nullable: true
type: string
operations:
description: Operations remove a JSON path from the
resource.
items:
description: Operation of a ComparePatch, usually
"remove".
properties:
op:
description: Op is usually "remove"
nullable: true
type: string
path:
description: Path is the JSON path to remove.
nullable: true
type: string
value:
description: Value is usually empty.
nullable: true
type: string
type: object
nullable: true
type: array
type: object
nullable: true
type: array
type: object
forceSyncGeneration:
description: ForceSyncGeneration is used to force a redeployment
type: integer
helm:
description: Helm options for the deployment, like the chart
name, repo and values.
nullable: true
properties:
atomic:
description: Atomic sets the --atomic flag when Helm is
performing an upgrade
type: boolean
chart:
description: Chart can refer to any go-getter URL or OCI
registry based helm chart URL. The chart will be downloaded.
nullable: true
type: string
disableDNS:
description: DisableDNS can be used to customize Helm's
EnableDNS option, which Fleet sets to `true` by default.
type: boolean
disablePreProcess:
description: DisablePreProcess disables template processing
in values
type: boolean
force:
description: Force allows to override immutable resources.
This could be dangerous.
type: boolean
maxHistory:
description: MaxHistory limits the maximum number of revisions
saved per release by Helm.
type: integer
releaseName:
description: ReleaseName sets a custom release name to deploy
the chart as. If not specified a release name will be
generated by combining the invoking GitRepo.name + GitRepo.path.
maxLength: 53
nullable: true
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
type: string
repo:
description: Repo is the name of the HTTPS helm repo to
download the chart from.
nullable: true
type: string
skipSchemaValidation:
description: SkipSchemaValidation allows skipping schema
validation against the chart values
type: boolean
takeOwnership:
description: TakeOwnership makes helm skip the check for
its own annotations
type: boolean
timeoutSeconds:
description: TimeoutSeconds is the time to wait for Helm
operations.
type: integer
values:
description: Values passed to Helm. It is possible to specify
the keys and values as go template strings.
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
valuesFiles:
description: ValuesFiles is a list of files to load values
from.
items:
nullable: true
type: string
nullable: true
type: array
valuesFrom:
description: ValuesFrom loads the values from configmaps
and secrets.
items:
description: 'Define helm values that can come from configmap,
secret or external. Credit: https://github.com/fluxcd/helm-operator/blob/0cfea875b5d44bea995abe7324819432070dfbdc/pkg/apis/helm.fluxcd.io/v1/types_helmrelease.go#L439'
properties:
configMapKeyRef:
description: The reference to a config map with release
values.
nullable: true
properties:
key:
nullable: true
type: string
name:
description: Name of a resource in the same namespace
as the referent.
nullable: true
type: string
namespace:
nullable: true
type: string
type: object
secretKeyRef:
description: The reference to a secret with release
values.
nullable: true
properties:
key:
nullable: true
type: string
name:
description: Name of a resource in the same namespace
as the referent.
nullable: true
type: string
namespace:
nullable: true
type: string
type: object
type: object
nullable: true
type: array
version:
description: Version of the chart to download
nullable: true
type: string
waitForJobs:
description: WaitForJobs if set and timeoutSeconds provided,
will wait until all Jobs have been completed before marking
the GitRepo as ready. It will wait for as long as timeoutSeconds
type: boolean
type: object
ignore:
description: IgnoreOptions can be used to ignore fields when
monitoring the bundle.
properties:
conditions:
description: Conditions is a list of conditions to be ignored
when monitoring the Bundle.
items:
additionalProperties:
nullable: true
type: string
nullable: true
type: object
nullable: true
type: array
type: object
keepResources:
description: KeepResources can be used to keep the deployed
resources when removing the bundle
type: boolean
kustomize:
description: Kustomize options for the deployment, like the
dir containing the kustomization.yaml file.
nullable: true
properties:
dir:
description: Dir points to a custom folder for kustomize
resources. This folder must contain a kustomization.yaml
file.
nullable: true
type: string
type: object
namespace:
description: TargetNamespace if present will assign all resource
to this namespace and if any cluster scoped resource exists
the deployment will fail.
nullable: true
type: string
namespaceAnnotations:
additionalProperties:
nullable: true
type: string
description: NamespaceAnnotations are annotations that will
be appended to the namespace created by Fleet.
nullable: true
type: object
namespaceLabels:
additionalProperties:
nullable: true
type: string
description: NamespaceLabels are labels that will be appended
to the namespace created by Fleet.
nullable: true
type: object
serviceAccount:
description: ServiceAccount which will be used to perform this
deployment.
nullable: true
type: string
yaml:
description: 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.
nullable: true
properties:
overlays:
description: Overlays is a list of names that maps to folders
in "overlays/". If you wish to customize the file ./subdir/resource.yaml
then a file ./overlays/myoverlay/subdir/resource.yaml
will replace the base file. A file named ./overlays/myoverlay/subdir/resource_patch.yaml
will patch the base file.
items:
nullable: true
type: string
nullable: true
type: array
type: object
type: object
paused:
description: 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.
type: boolean
stagedDeploymentID:
description: StagedDeploymentID is the ID of the staged deployment.
nullable: true
type: string
stagedOptions:
description: StagedOptions are the deployment options, that are
staged for the next deployment.
properties:
correctDrift:
description: CorrectDrift specifies how drift correction should
work.
nullable: true
properties:
enabled:
description: Enabled correct drift if true.
type: boolean
force:
description: Force helm rollback with --force option will
be used if true. This will try to recreate all resources
in the release.
type: boolean
keepFailHistory:
description: KeepFailHistory keeps track of failed rollbacks
in the helm history.
type: boolean
type: object
defaultNamespace:
description: 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.
nullable: true
type: string
deleteCRDResources:
description: DeleteCRDResources deletes CRDs. Warning! this
will also delete all your Custom Resources.
type: boolean
diff:
description: Diff can be used to ignore the modified state of
objects which are amended at runtime.
nullable: true
properties:
comparePatches:
description: ComparePatches match a resource and remove
fields from the check for modifications.
items:
description: ComparePatch matches a resource and removes
fields from the check for modifications.
properties:
apiVersion:
description: APIVersion is the apiVersion of the resource
to match.
nullable: true
type: string
jsonPointers:
description: JSONPointers ignore diffs at a certain
JSON path.
items:
nullable: true
type: string
nullable: true
type: array
kind:
description: Kind is the kind of the resource to match.
nullable: true
type: string
name:
description: Name is the name of the resource to match.
nullable: true
type: string
namespace:
description: Namespace is the namespace of the resource
to match.
nullable: true
type: string
operations:
description: Operations remove a JSON path from the
resource.
items:
description: Operation of a ComparePatch, usually
"remove".
properties:
op:
description: Op is usually "remove"
nullable: true
type: string
path:
description: Path is the JSON path to remove.
nullable: true
type: string
value:
description: Value is usually empty.
nullable: true
type: string
type: object
nullable: true
type: array
type: object
nullable: true
type: array
type: object
forceSyncGeneration:
description: ForceSyncGeneration is used to force a redeployment
type: integer
helm:
description: Helm options for the deployment, like the chart
name, repo and values.
nullable: true
properties:
atomic:
description: Atomic sets the --atomic flag when Helm is
performing an upgrade
type: boolean
chart:
description: Chart can refer to any go-getter URL or OCI
registry based helm chart URL. The chart will be downloaded.
nullable: true
type: string
disableDNS:
description: DisableDNS can be used to customize Helm's
EnableDNS option, which Fleet sets to `true` by default.
type: boolean
disablePreProcess:
description: DisablePreProcess disables template processing
in values
type: boolean
force:
description: Force allows to override immutable resources.
This could be dangerous.
type: boolean
maxHistory:
description: MaxHistory limits the maximum number of revisions
saved per release by Helm.
type: integer
releaseName:
description: ReleaseName sets a custom release name to deploy
the chart as. If not specified a release name will be
generated by combining the invoking GitRepo.name + GitRepo.path.
nullable: true
type: string
repo:
description: Repo is the name of the HTTPS helm repo to
download the chart from.
nullable: true
type: string
skipSchemaValidation:
description: SkipSchemaValidation allows skipping schema
validation against the chart values
type: boolean
takeOwnership:
description: TakeOwnership makes helm skip the check for
its own annotations
type: boolean
timeoutSeconds:
description: TimeoutSeconds is the time to wait for Helm
operations.
type: integer
values:
description: Values passed to Helm. It is possible to specify
the keys and values as go template strings.
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
valuesFiles:
description: ValuesFiles is a list of files to load values
from.
items:
nullable: true
type: string
nullable: true
type: array
valuesFrom:
description: ValuesFrom loads the values from configmaps
and secrets.
items:
description: 'Define helm values that can come from configmap,
secret or external. Credit: https://github.com/fluxcd/helm-operator/blob/0cfea875b5d44bea995abe7324819432070dfbdc/pkg/apis/helm.fluxcd.io/v1/types_helmrelease.go#L439'
properties:
configMapKeyRef:
description: The reference to a config map with release
values.
nullable: true
properties:
key:
nullable: true
type: string
name:
description: Name of a resource in the same namespace
as the referent.
nullable: true
type: string
namespace:
nullable: true
type: string
type: object
secretKeyRef:
description: The reference to a secret with release
values.
nullable: true
properties:
key:
nullable: true
type: string
name:
description: Name of a resource in the same namespace
as the referent.
nullable: true
type: string
namespace:
nullable: true
type: string
type: object
type: object
nullable: true
type: array
version:
description: Version of the chart to download
nullable: true
type: string
waitForJobs:
description: WaitForJobs if set and timeoutSeconds provided,
will wait until all Jobs have been completed before marking
the GitRepo as ready. It will wait for as long as timeoutSeconds
type: boolean
type: object
ignore:
description: IgnoreOptions can be used to ignore fields when
monitoring the bundle.
properties:
conditions:
description: Conditions is a list of conditions to be ignored
when monitoring the Bundle.
items:
additionalProperties:
nullable: true
type: string
nullable: true
type: object
nullable: true
type: array
type: object
keepResources:
description: KeepResources can be used to keep the deployed
resources when removing the bundle
type: boolean
kustomize:
description: Kustomize options for the deployment, like the
dir containing the kustomization.yaml file.
nullable: true
properties:
dir:
description: Dir points to a custom folder for kustomize
resources. This folder must contain a kustomization.yaml
file.
nullable: true
type: string
type: object
namespace:
description: TargetNamespace if present will assign all resource
to this namespace and if any cluster scoped resource exists
the deployment will fail.
nullable: true
type: string
namespaceAnnotations:
additionalProperties:
nullable: true
type: string
description: NamespaceAnnotations are annotations that will
be appended to the namespace created by Fleet.
nullable: true
type: object
namespaceLabels:
additionalProperties:
nullable: true
type: string
description: NamespaceLabels are labels that will be appended
to the namespace created by Fleet.
nullable: true
type: object
serviceAccount:
description: ServiceAccount which will be used to perform this
deployment.
nullable: true
type: string
yaml:
description: 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.
nullable: true
properties:
overlays:
description: Overlays is a list of names that maps to folders
in "overlays/". If you wish to customize the file ./subdir/resource.yaml
then a file ./overlays/myoverlay/subdir/resource.yaml
will replace the base file. A file named ./overlays/myoverlay/subdir/resource_patch.yaml
will patch the base file.
items:
nullable: true
type: string
nullable: true
type: array
type: object
type: object
type: object
status:
properties:
appliedDeploymentID:
nullable: true
type: string
conditions:
items:
properties:
lastTransitionTime:
description: Last time the condition transitioned from one
status to another.
nullable: true
type: string
lastUpdateTime:
description: The last time this condition was updated.
nullable: true
type: string
message:
description: Human-readable message indicating details about
last transition
nullable: true
type: string
reason:
description: The reason for the condition's last transition.
nullable: true
type: string
status:
description: Status of the condition, one of True, False,
Unknown.
nullable: true
type: string
type:
description: Type of cluster condition.
nullable: true
type: string
type: object
nullable: true
type: array
display:
properties:
deployed:
nullable: true
type: string
monitored:
nullable: true
type: string
state:
nullable: true
type: string
type: object
modifiedStatus:
items:
description: ModifiedStatus is used to report the status of a
resource that is modified. It indicates if the modification
was a create, a delete or a patch.
properties:
apiVersion:
nullable: true
type: string
delete:
type: boolean
kind:
nullable: true
type: string
missing:
type: boolean
name:
nullable: true
type: string
namespace:
nullable: true
type: string
patch:
nullable: true
type: string
type: object
nullable: true
type: array
nonModified:
type: boolean
nonReadyStatus:
items:
description: NonReadyStatus is used to report the status of a
resource that is not ready. It includes a summary.
properties:
apiVersion:
nullable: true
type: string
kind:
nullable: true
type: string
name:
nullable: true
type: string
namespace:
nullable: true
type: string
summary:
properties:
error:
type: boolean
message:
items:
nullable: true
type: string
nullable: true
type: array
state:
nullable: true
type: string
transitioning:
type: boolean
type: object
uid:
description: UID is a type that holds unique ID values, including
UUIDs. Because we don't ONLY use UUIDs, this is an alias
to string. Being a type captures intent and helps make
sure that UIDs and names do not get conflated.
nullable: true
type: string
type: object
nullable: true
type: array
ready:
type: boolean
release:
nullable: true
type: string
resources:
description: Resources lists the metadata of resources that were
deployed according to the helm release history.
items:
description: BundleDeploymentResource contains the metadata of
a deployed resource.
properties:
apiVersion:
nullable: true
type: string
createdAt:
nullable: true
type: string
kind:
nullable: true
type: string
name:
nullable: true
type: string
namespace:
nullable: true
type: string
type: object
nullable: true
type: array
syncGeneration:
nullable: true
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: bundlenamespacemappings.fleet.cattle.io
spec:
group: fleet.cattle.io
names:
kind: BundleNamespaceMapping
plural: bundlenamespacemappings
singular: bundlenamespacemapping
preserveUnknownFields: false
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: BundleNamespaceMapping maps bundles to clusters in other namespaces.
properties:
apiVersion:
description: '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'
type: string
bundleSelector:
description: A label selector is a label query over a set of resources.
The result of matchLabels and matchExpressions are ANDed. An empty
label selector matches all objects. A null label selector matches
no objects.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements.
The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains
values, a key, and an operator that relates the key and values.
properties:
key:
description: key is the label key that the selector applies
to.
nullable: true
type: string
operator:
description: operator represents a key's relationship to a
set of values. Valid operators are In, NotIn, Exists and
DoesNotExist.
nullable: true
type: string
values:
description: values is an array of string values. If the operator
is In or NotIn, the values array must be non-empty. If the
operator is Exists or DoesNotExist, the values array must
be empty. This array is replaced during a strategic merge
patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchLabels:
additionalProperties:
nullable: true
type: string
description: matchLabels is a map of {key,value} pairs. A single
{key,value} in the matchLabels map is equivalent to an element
of matchExpressions, whose key field is "key", the operator is
"In", and the values array contains only "value". The requirements
are ANDed.
nullable: true
type: object
type: object
kind:
description: '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'
type: string
metadata:
type: object
namespaceSelector:
description: A label selector is a label query over a set of resources.
The result of matchLabels and matchExpressions are ANDed. An empty
label selector matches all objects. A null label selector matches
no objects.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements.
The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains
values, a key, and an operator that relates the key and values.
properties:
key:
description: key is the label key that the selector applies
to.
nullable: true
type: string
operator:
description: operator represents a key's relationship to a
set of values. Valid operators are In, NotIn, Exists and
DoesNotExist.
nullable: true
type: string
values:
description: values is an array of string values. If the operator
is In or NotIn, the values array must be non-empty. If the
operator is Exists or DoesNotExist, the values array must
be empty. This array is replaced during a strategic merge
patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchLabels:
additionalProperties:
nullable: true
type: string
description: matchLabels is a map of {key,value} pairs. A single
{key,value} in the matchLabels map is equivalent to an element
of matchExpressions, whose key field is "key", the operator is
"In", and the values array contains only "value". The requirements
are ANDed.
nullable: true
type: object
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: bundles.fleet.cattle.io
spec:
group: fleet.cattle.io
names:
kind: Bundle
plural: bundles
singular: bundle
preserveUnknownFields: false
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .status.display.readyClusters
name: BundleDeployments-Ready
type: string
- jsonPath: .status.conditions[?(@.type=="Ready")].message
name: Status
type: string
name: v1alpha1
schema:
openAPIV3Schema:
description: "Bundle contains the resources of an application and its deployment\
\ options. It will be deployed as a Helm chart to target clusters. \n\
\ 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."
properties:
apiVersion:
description: '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'
type: string
kind:
description: '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'
type: string
metadata:
type: object
spec:
properties:
correctDrift:
description: CorrectDrift specifies how drift correction should
work.
nullable: true
properties:
enabled:
description: Enabled correct drift if true.
type: boolean
force:
description: Force helm rollback with --force option will be
used if true. This will try to recreate all resources in the
release.
type: boolean
keepFailHistory:
description: KeepFailHistory keeps track of failed rollbacks
in the helm history.
type: boolean
type: object
defaultNamespace:
description: 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.
nullable: true
type: string
deleteCRDResources:
description: DeleteCRDResources deletes CRDs. Warning! this will
also delete all your Custom Resources.
type: boolean
dependsOn:
description: DependsOn refers to the bundles which must be ready
before this bundle can be deployed.
items:
properties:
name:
description: Name of the bundle.
nullable: true
type: string
selector:
description: Selector matching bundle's labels.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label selector
requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector
that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the selector
applies to.
nullable: true
type: string
operator:
description: operator represents a key's relationship
to a set of values. Valid operators are In, NotIn,
Exists and DoesNotExist.
nullable: true
type: string
values:
description: values is an array of string values.
If the operator is In or NotIn, the values array
must be non-empty. If the operator is Exists or
DoesNotExist, the values array must be empty.
This array is replaced during a strategic merge
patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchLabels:
additionalProperties:
nullable: true
type: string
description: matchLabels is a map of {key,value} pairs.
A single {key,value} in the matchLabels map is equivalent
to an element of matchExpressions, whose key field is
"key", the operator is "In", and the values array contains
only "value". The requirements are ANDed.
nullable: true
type: object
type: object
type: object
nullable: true
type: array
diff:
description: Diff can be used to ignore the modified state of objects
which are amended at runtime.
nullable: true
properties:
comparePatches:
description: ComparePatches match a resource and remove fields
from the check for modifications.
items:
description: ComparePatch matches a resource and removes fields
from the check for modifications.
properties:
apiVersion:
description: APIVersion is the apiVersion of the resource
to match.
nullable: true
type: string
jsonPointers:
description: JSONPointers ignore diffs at a certain JSON
path.
items:
nullable: true
type: string
nullable: true
type: array
kind:
description: Kind is the kind of the resource to match.
nullable: true
type: string
name:
description: Name is the name of the resource to match.
nullable: true
type: string
namespace:
description: Namespace is the namespace of the resource
to match.
nullable: true
type: string
operations:
description: Operations remove a JSON path from the resource.
items:
description: Operation of a ComparePatch, usually "remove".
properties:
op:
description: Op is usually "remove"
nullable: true
type: string
path:
description: Path is the JSON path to remove.
nullable: true
type: string
value:
description: Value is usually empty.
nullable: true
type: string
type: object
nullable: true
type: array
type: object
nullable: true
type: array
type: object
forceSyncGeneration:
description: ForceSyncGeneration is used to force a redeployment
type: integer
helm:
description: Helm options for the deployment, like the chart name,
repo and values.
nullable: true
properties:
atomic:
description: Atomic sets the --atomic flag when Helm is performing
an upgrade
type: boolean
chart:
description: Chart can refer to any go-getter URL or OCI registry
based helm chart URL. The chart will be downloaded.
nullable: true
type: string
disableDNS:
description: DisableDNS can be used to customize Helm's EnableDNS
option, which Fleet sets to `true` by default.
type: boolean
disablePreProcess:
description: DisablePreProcess disables template processing
in values
type: boolean
force:
description: Force allows to override immutable resources. This
could be dangerous.
type: boolean
maxHistory:
description: MaxHistory limits the maximum number of revisions
saved per release by Helm.
type: integer
releaseName:
description: ReleaseName sets a custom release name to deploy
the chart as. If not specified a release name will be generated
by combining the invoking GitRepo.name + GitRepo.path.
maxLength: 53
nullable: true
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
type: string
repo:
description: Repo is the name of the HTTPS helm repo to download
the chart from.
nullable: true
type: string
skipSchemaValidation:
description: SkipSchemaValidation allows skipping schema validation
against the chart values
type: boolean
takeOwnership:
description: TakeOwnership makes helm skip the check for its
own annotations
type: boolean
timeoutSeconds:
description: TimeoutSeconds is the time to wait for Helm operations.
type: integer
values:
description: Values passed to Helm. It is possible to specify
the keys and values as go template strings.
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
valuesFiles:
description: ValuesFiles is a list of files to load values from.
items:
nullable: true
type: string
nullable: true
type: array
valuesFrom:
description: ValuesFrom loads the values from configmaps and
secrets.
items:
description: 'Define helm values that can come from configmap,
secret or external. Credit: https://github.com/fluxcd/helm-operator/blob/0cfea875b5d44bea995abe7324819432070dfbdc/pkg/apis/helm.fluxcd.io/v1/types_helmrelease.go#L439'
properties:
configMapKeyRef:
description: The reference to a config map with release
values.
nullable: true
properties:
key:
nullable: true
type: string
name:
description: Name of a resource in the same namespace
as the referent.
nullable: true
type: string
namespace:
nullable: true
type: string
type: object
secretKeyRef:
description: The reference to a secret with release values.
nullable: true
properties:
key:
nullable: true
type: string
name:
description: Name of a resource in the same namespace
as the referent.
nullable: true
type: string
namespace:
nullable: true
type: string
type: object
type: object
nullable: true
type: array
version:
description: Version of the chart to download
nullable: true
type: string
waitForJobs:
description: WaitForJobs if set and timeoutSeconds provided,
will wait until all Jobs have been completed before marking
the GitRepo as ready. It will wait for as long as timeoutSeconds
type: boolean
type: object
ignore:
description: IgnoreOptions can be used to ignore fields when monitoring
the bundle.
properties:
conditions:
description: Conditions is a list of conditions to be ignored
when monitoring the Bundle.
items:
additionalProperties:
nullable: true
type: string
nullable: true
type: object
nullable: true
type: array
type: object
keepResources:
description: KeepResources can be used to keep the deployed resources
when removing the bundle
type: boolean
kustomize:
description: Kustomize options for the deployment, like the dir
containing the kustomization.yaml file.
nullable: true
properties:
dir:
description: Dir points to a custom folder for kustomize resources.
This folder must contain a kustomization.yaml file.
nullable: true
type: string
type: object
namespace:
description: TargetNamespace if present will assign all resource
to this namespace and if any cluster scoped resource exists the
deployment will fail.
nullable: true
type: string
namespaceAnnotations:
additionalProperties:
nullable: true
type: string
description: NamespaceAnnotations are annotations that will be appended
to the namespace created by Fleet.
nullable: true
type: object
namespaceLabels:
additionalProperties:
nullable: true
type: string
description: NamespaceLabels are labels that will be appended to
the namespace created by Fleet.
nullable: true
type: object
paused:
description: Paused if set to true, will stop any BundleDeployments
from being updated. It will be marked as out of sync.
type: boolean
resources:
description: Resources contains the resources that were read from
the bundle's path. This includes the content of downloaded helm
charts.
items:
description: BundleResource represents the content of a single
resource from the bundle, like a YAML manifest.
properties:
content:
description: The content of the resource, can be compressed.
nullable: true
type: string
encoding:
description: Encoding is either empty or "base64+gz".
nullable: true
type: string
name:
description: Name of the resource, can include the bundle's
internal path.
nullable: true
type: string
type: object
nullable: true
type: array
rolloutStrategy:
description: RolloutStrategy controls the rollout of bundles, by
defining partitions, canaries and percentages for cluster availability.
nullable: true
properties:
autoPartitionSize:
description: 'A number or percentage of how to automatically
partition clusters if no specific partitioning strategy is
configured. default: 25%'
nullable: true
x-kubernetes-int-or-string: true
maxUnavailable:
description: '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%'
nullable: true
x-kubernetes-int-or-string: true
maxUnavailablePartitions:
description: 'A number or percentage of cluster partitions that
can be unavailable during an update of a bundle. default:
0'
nullable: true
x-kubernetes-int-or-string: true
partitions:
description: 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.
items:
description: Partition defines a separate rollout strategy
for a set of clusters.
properties:
clusterGroup:
description: A cluster group name to include in this partition
nullable: true
type: string
clusterGroupSelector:
description: Selector matching cluster group labels to
include in this partition
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label selector
requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector
that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the selector
applies to.
nullable: true
type: string
operator:
description: operator represents a key's relationship
to a set of values. Valid operators are In,
NotIn, Exists and DoesNotExist.
nullable: true
type: string
values:
description: values is an array of string values.
If the operator is In or NotIn, the values
array must be non-empty. If the operator is
Exists or DoesNotExist, the values array must
be empty. This array is replaced during a
strategic merge patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchLabels:
additionalProperties:
nullable: true
type: string
description: matchLabels is a map of {key,value} pairs.
A single {key,value} in the matchLabels map is equivalent
to an element of matchExpressions, whose key field
is "key", the operator is "In", and the values array
contains only "value". The requirements are ANDed.
nullable: true
type: object
type: object
clusterName:
description: ClusterName is the name of a cluster to include
in this partition
nullable: true
type: string
clusterSelector:
description: Selector matching cluster labels to include
in this partition
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label selector
requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector
that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the selector
applies to.
nullable: true
type: string
operator:
description: operator represents a key's relationship
to a set of values. Valid operators are In,
NotIn, Exists and DoesNotExist.
nullable: true
type: string
values:
description: values is an array of string values.
If the operator is In or NotIn, the values
array must be non-empty. If the operator is
Exists or DoesNotExist, the values array must
be empty. This array is replaced during a
strategic merge patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchLabels:
additionalProperties:
nullable: true
type: string
description: matchLabels is a map of {key,value} pairs.
A single {key,value} in the matchLabels map is equivalent
to an element of matchExpressions, whose key field
is "key", the operator is "In", and the values array
contains only "value". The requirements are ANDed.
nullable: true
type: object
type: object
maxUnavailable:
description: 'A number or percentage of clusters that
can be unavailable in this partition before this partition
is treated as done. default: 10%'
nullable: true
x-kubernetes-int-or-string: true
name:
description: A user-friendly name given to the partition
used for Display (optional).
nullable: true
type: string
type: object
nullable: true
type: array
type: object
serviceAccount:
description: ServiceAccount which will be used to perform this deployment.
nullable: true
type: string
targetRestrictions:
description: TargetRestrictions is an allow list, which controls
if a bundledeployment is created for a target.
items:
description: 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.
properties:
clusterGroup:
nullable: true
type: string
clusterGroupSelector:
description: A label selector is a label query over a set
of resources. The result of matchLabels and matchExpressions
are ANDed. An empty label selector matches all objects.
A null label selector matches no objects.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label selector
requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector
that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the selector
applies to.
nullable: true
type: string
operator:
description: operator represents a key's relationship
to a set of values. Valid operators are In, NotIn,
Exists and DoesNotExist.
nullable: true
type: string
values:
description: values is an array of string values.
If the operator is In or NotIn, the values array
must be non-empty. If the operator is Exists or
DoesNotExist, the values array must be empty.
This array is replaced during a strategic merge
patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchLabels:
additionalProperties:
nullable: true
type: string
description: matchLabels is a map of {key,value} pairs.
A single {key,value} in the matchLabels map is equivalent
to an element of matchExpressions, whose key field is
"key", the operator is "In", and the values array contains
only "value". The requirements are ANDed.
nullable: true
type: object
type: object
clusterName:
nullable: true
type: string
clusterSelector:
description: A label selector is a label query over a set
of resources. The result of matchLabels and matchExpressions
are ANDed. An empty label selector matches all objects.
A null label selector matches no objects.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label selector
requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector
that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the selector
applies to.
nullable: true
type: string
operator:
description: operator represents a key's relationship
to a set of values. Valid operators are In, NotIn,
Exists and DoesNotExist.
nullable: true
type: string
values:
description: values is an array of string values.
If the operator is In or NotIn, the values array
must be non-empty. If the operator is Exists or
DoesNotExist, the values array must be empty.
This array is replaced during a strategic merge
patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchLabels:
additionalProperties:
nullable: true
type: string
description: matchLabels is a map of {key,value} pairs.
A single {key,value} in the matchLabels map is equivalent
to an element of matchExpressions, whose key field is
"key", the operator is "In", and the values array contains
only "value". The requirements are ANDed.
nullable: true
type: object
type: object
name:
nullable: true
type: string
type: object
nullable: true
type: array
targets:
description: Targets refer to the clusters which will be deployed
to. Targets are evaluated in order and the first one to match
is used.
items:
description: BundleTarget declares clusters to deploy to. Fleet
will merge the BundleDeploymentOptions from customizations into
this struct.
properties:
clusterGroup:
description: ClusterGroup to match a specific cluster group
by name.
nullable: true
type: string
clusterGroupSelector:
description: ClusterGroupSelector is a selector to match cluster
groups.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label selector
requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector
that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the selector
applies to.
nullable: true
type: string
operator:
description: operator represents a key's relationship
to a set of values. Valid operators are In, NotIn,
Exists and DoesNotExist.
nullable: true
type: string
values:
description: values is an array of string values.
If the operator is In or NotIn, the values array
must be non-empty. If the operator is Exists or
DoesNotExist, the values array must be empty.
This array is replaced during a strategic merge
patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchLabels:
additionalProperties:
nullable: true
type: string
description: matchLabels is a map of {key,value} pairs.
A single {key,value} in the matchLabels map is equivalent
to an element of matchExpressions, whose key field is
"key", the operator is "In", and the values array contains
only "value". The requirements are ANDed.
nullable: true
type: object
type: object
clusterName:
description: ClusterName to match a specific cluster by name
that will be selected
nullable: true
type: string
clusterSelector:
description: 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.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label selector
requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector
that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the selector
applies to.
nullable: true
type: string
operator:
description: operator represents a key's relationship
to a set of values. Valid operators are In, NotIn,
Exists and DoesNotExist.
nullable: true
type: string
values:
description: values is an array of string values.
If the operator is In or NotIn, the values array
must be non-empty. If the operator is Exists or
DoesNotExist, the values array must be empty.
This array is replaced during a strategic merge
patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchLabels:
additionalProperties:
nullable: true
type: string
description: matchLabels is a map of {key,value} pairs.
A single {key,value} in the matchLabels map is equivalent
to an element of matchExpressions, whose key field is
"key", the operator is "In", and the values array contains
only "value". The requirements are ANDed.
nullable: true
type: object
type: object
correctDrift:
description: CorrectDrift specifies how drift correction should
work.
nullable: true
properties:
enabled:
description: Enabled correct drift if true.
type: boolean
force:
description: Force helm rollback with --force option will
be used if true. This will try to recreate all resources
in the release.
type: boolean
keepFailHistory:
description: KeepFailHistory keeps track of failed rollbacks
in the helm history.
type: boolean
type: object
defaultNamespace:
description: 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.
nullable: true
type: string
deleteCRDResources:
description: DeleteCRDResources deletes CRDs. Warning! this
will also delete all your Custom Resources.
type: boolean
diff:
description: Diff can be used to ignore the modified state
of objects which are amended at runtime.
nullable: true
properties:
comparePatches:
description: ComparePatches match a resource and remove
fields from the check for modifications.
items:
description: ComparePatch matches a resource and removes
fields from the check for modifications.
properties:
apiVersion:
description: APIVersion is the apiVersion of the
resource to match.
nullable: true
type: string
jsonPointers:
description: JSONPointers ignore diffs at a certain
JSON path.
items:
nullable: true
type: string
nullable: true
type: array
kind:
description: Kind is the kind of the resource to
match.
nullable: true
type: string
name:
description: Name is the name of the resource to
match.
nullable: true
type: string
namespace:
description: Namespace is the namespace of the resource
to match.
nullable: true
type: string
operations:
description: Operations remove a JSON path from
the resource.
items:
description: Operation of a ComparePatch, usually
"remove".
properties:
op:
description: Op is usually "remove"
nullable: true
type: string
path:
description: Path is the JSON path to remove.
nullable: true
type: string
value:
description: Value is usually empty.
nullable: true
type: string
type: object
nullable: true
type: array
type: object
nullable: true
type: array
type: object
doNotDeploy:
description: DoNotDeploy if set to true, will not deploy to
this target.
type: boolean
forceSyncGeneration:
description: ForceSyncGeneration is used to force a redeployment
type: integer
helm:
description: Helm options for the deployment, like the chart
name, repo and values.
nullable: true
properties:
atomic:
description: Atomic sets the --atomic flag when Helm is
performing an upgrade
type: boolean
chart:
description: Chart can refer to any go-getter URL or OCI
registry based helm chart URL. The chart will be downloaded.
nullable: true
type: string
disableDNS:
description: DisableDNS can be used to customize Helm's
EnableDNS option, which Fleet sets to `true` by default.
type: boolean
disablePreProcess:
description: DisablePreProcess disables template processing
in values
type: boolean
force:
description: Force allows to override immutable resources.
This could be dangerous.
type: boolean
maxHistory:
description: MaxHistory limits the maximum number of revisions
saved per release by Helm.
type: integer
releaseName:
description: ReleaseName sets a custom release name to
deploy the chart as. If not specified a release name
will be generated by combining the invoking GitRepo.name
+ GitRepo.path.
nullable: true
type: string
repo:
description: Repo is the name of the HTTPS helm repo to
download the chart from.
nullable: true
type: string
skipSchemaValidation:
description: SkipSchemaValidation allows skipping schema
validation against the chart values
type: boolean
takeOwnership:
description: TakeOwnership makes helm skip the check for
its own annotations
type: boolean
timeoutSeconds:
description: TimeoutSeconds is the time to wait for Helm
operations.
type: integer
values:
description: Values passed to Helm. It is possible to
specify the keys and values as go template strings.
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
valuesFiles:
description: ValuesFiles is a list of files to load values
from.
items:
nullable: true
type: string
nullable: true
type: array
valuesFrom:
description: ValuesFrom loads the values from configmaps
and secrets.
items:
description: 'Define helm values that can come from
configmap, secret or external. Credit: https://github.com/fluxcd/helm-operator/blob/0cfea875b5d44bea995abe7324819432070dfbdc/pkg/apis/helm.fluxcd.io/v1/types_helmrelease.go#L439'
properties:
configMapKeyRef:
description: The reference to a config map with
release values.
nullable: true
properties:
key:
nullable: true
type: string
name:
description: Name of a resource in the same
namespace as the referent.
nullable: true
type: string
namespace:
nullable: true
type: string
type: object
secretKeyRef:
description: The reference to a secret with release
values.
nullable: true
properties:
key:
nullable: true
type: string
name:
description: Name of a resource in the same
namespace as the referent.
nullable: true
type: string
namespace:
nullable: true
type: string
type: object
type: object
nullable: true
type: array
version:
description: Version of the chart to download
nullable: true
type: string
waitForJobs:
description: WaitForJobs if set and timeoutSeconds provided,
will wait until all Jobs have been completed before
marking the GitRepo as ready. It will wait for as long
as timeoutSeconds
type: boolean
type: object
ignore:
description: IgnoreOptions can be used to ignore fields when
monitoring the bundle.
properties:
conditions:
description: Conditions is a list of conditions to be
ignored when monitoring the Bundle.
items:
additionalProperties:
nullable: true
type: string
nullable: true
type: object
nullable: true
type: array
type: object
keepResources:
description: KeepResources can be used to keep the deployed
resources when removing the bundle
type: boolean
kustomize:
description: Kustomize options for the deployment, like the
dir containing the kustomization.yaml file.
nullable: true
properties:
dir:
description: Dir points to a custom folder for kustomize
resources. This folder must contain a kustomization.yaml
file.
nullable: true
type: string
type: object
name:
description: Name of target. This value is largely for display
and logging. If not specified a default name of the format
"target000" will be used
nullable: true
type: string
namespace:
description: TargetNamespace if present will assign all resource
to this namespace and if any cluster scoped resource exists
the deployment will fail.
nullable: true
type: string
namespaceAnnotations:
additionalProperties:
nullable: true
type: string
description: NamespaceAnnotations are annotations that will
be appended to the namespace created by Fleet.
nullable: true
type: object
namespaceLabels:
additionalProperties:
nullable: true
type: string
description: NamespaceLabels are labels that will be appended
to the namespace created by Fleet.
nullable: true
type: object
serviceAccount:
description: ServiceAccount which will be used to perform
this deployment.
nullable: true
type: string
yaml:
description: 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.
nullable: true
properties:
overlays:
description: Overlays is a list of names that maps to
folders in "overlays/". If you wish to customize the
file ./subdir/resource.yaml then a file ./overlays/myoverlay/subdir/resource.yaml
will replace the base file. A file named ./overlays/myoverlay/subdir/resource_patch.yaml
will patch the base file.
items:
nullable: true
type: string
nullable: true
type: array
type: object
type: object
nullable: true
type: array
yaml:
description: 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.
nullable: true
properties:
overlays:
description: Overlays is a list of names that maps to folders
in "overlays/". If you wish to customize the file ./subdir/resource.yaml
then a file ./overlays/myoverlay/subdir/resource.yaml will
replace the base file. A file named ./overlays/myoverlay/subdir/resource_patch.yaml
will patch the base file.
items:
nullable: true
type: string
nullable: true
type: array
type: object
type: object
status:
properties:
conditions:
description: Conditions is a list of Wrangler conditions that describe
the state of the bundle.
items:
properties:
lastTransitionTime:
description: Last time the condition transitioned from one
status to another.
nullable: true
type: string
lastUpdateTime:
description: The last time this condition was updated.
nullable: true
type: string
message:
description: Human-readable message indicating details about
last transition
nullable: true
type: string
reason:
description: The reason for the condition's last transition.
nullable: true
type: string
status:
description: Status of the condition, one of True, False,
Unknown.
nullable: true
type: string
type:
description: Type of cluster condition.
nullable: true
type: string
type: object
nullable: true
type: array
display:
description: Display contains the number of ready, desiredready
clusters and a summary state for the bundle's resources.
properties:
readyClusters:
description: 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.
nullable: true
type: string
state:
description: State is a summary state for the bundle, calculated
over the non-ready resources.
nullable: true
type: string
type: object
maxNew:
description: MaxNew is always 50. A bundle change can only stage
50 bundledeployments at a time.
type: integer
maxUnavailable:
description: MaxUnavailable is the maximum number of unavailable
deployments. See rollout configuration.
type: integer
maxUnavailablePartitions:
description: MaxUnavailablePartitions is the maximum number of unavailable
partitions. The rollout configuration defines a maximum number
or percentage of unavailable partitions.
type: integer
newlyCreated:
description: NewlyCreated is the number of bundle deployments that
have been created, not updated.
type: integer
observedGeneration:
description: ObservedGeneration is the current generation of the
bundle.
type: integer
partitions:
description: PartitionStatus lists the status of each partition.
items:
description: PartitionStatus is the status of a single rollout
partition.
properties:
count:
description: Count is the number of clusters in the partition.
type: integer
maxUnavailable:
description: MaxUnavailable is the maximum number of unavailable
clusters in the partition.
type: integer
name:
description: Name is the name of the partition.
nullable: true
type: string
summary:
description: Summary is a summary state for the partition,
calculated over its non-ready resources.
properties:
desiredReady:
description: DesiredReady is the number of bundle deployments
that should be ready.
type: integer
errApplied:
description: 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.
type: integer
modified:
description: 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.
type: integer
nonReadyResources:
description: NonReadyClusters is a list of states, which
is filled for a bundle that is not ready.
items:
description: 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.
properties:
bundleState:
description: State is the state of the resource,
like e.g. "NotReady" or "ErrApplied".
nullable: true
type: string
message:
description: Message contains information why the
bundle is not ready.
nullable: true
type: string
modifiedStatus:
description: ModifiedStatus lists the state for
each modified resource.
items:
description: ModifiedStatus is used to report
the status of a resource that is modified. It
indicates if the modification was a create,
a delete or a patch.
properties:
apiVersion:
nullable: true
type: string
delete:
type: boolean
kind:
nullable: true
type: string
missing:
type: boolean
name:
nullable: true
type: string
namespace:
nullable: true
type: string
patch:
nullable: true
type: string
type: object
nullable: true
type: array
name:
description: Name is the name of the resource.
nullable: true
type: string
nonReadyStatus:
description: NonReadyStatus lists the state for
each non-ready resource.
items:
description: NonReadyStatus is used to report
the status of a resource that is not ready.
It includes a summary.
properties:
apiVersion:
nullable: true
type: string
kind:
nullable: true
type: string
name:
nullable: true
type: string
namespace:
nullable: true
type: string
summary:
properties:
error:
type: boolean
message:
items:
nullable: true
type: string
nullable: true
type: array
state:
nullable: true
type: string
transitioning:
type: boolean
type: object
uid:
description: UID is a type that holds unique
ID values, including UUIDs. Because we
don't ONLY use UUIDs, this is an alias to
string. Being a type captures intent and
helps make sure that UIDs and names do not
get conflated.
nullable: true
type: string
type: object
nullable: true
type: array
type: object
nullable: true
type: array
notReady:
description: NotReady is the number of bundle deployments
that have been deployed where some resources are not
ready.
type: integer
outOfSync:
description: OutOfSync is the number of bundle deployments
that have been synced from Fleet controller, but not
yet by the downstream agent.
type: integer
pending:
description: Pending is the number of bundle deployments
that are being processed by Fleet controller.
type: integer
ready:
description: Ready is the number of bundle deployments
that have been deployed where all resources are ready.
type: integer
waitApplied:
description: WaitApplied is the number of bundle deployments
that have been synced from Fleet controller and downstream
cluster, but are waiting to be deployed.
type: integer
type: object
unavailable:
description: Unavailable is the number of unavailable clusters
in the partition.
type: integer
type: object
nullable: true
type: array
resourceKey:
description: 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..
items:
description: ResourceKey lists resources, which will likely be
deployed.
properties:
apiVersion:
description: APIVersion is the k8s api version of the resource.
nullable: true
type: string
kind:
description: Kind is the k8s api kind of the resource.
nullable: true
type: string
name:
description: Name is the name of the resource.
nullable: true
type: string
namespace:
description: Namespace is the namespace of the resource.
nullable: true
type: string
type: object
nullable: true
type: array
summary:
description: Summary contains the number of bundle deployments in
each state and a list of non-ready resources.
properties:
desiredReady:
description: DesiredReady is the number of bundle deployments
that should be ready.
type: integer
errApplied:
description: 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.
type: integer
modified:
description: 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.
type: integer
nonReadyResources:
description: NonReadyClusters is a list of states, which is
filled for a bundle that is not ready.
items:
description: 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.
properties:
bundleState:
description: State is the state of the resource, like
e.g. "NotReady" or "ErrApplied".
nullable: true
type: string
message:
description: Message contains information why the bundle
is not ready.
nullable: true
type: string
modifiedStatus:
description: ModifiedStatus lists the state for each modified
resource.
items:
description: ModifiedStatus is used to report the status
of a resource that is modified. It indicates if the
modification was a create, a delete or a patch.
properties:
apiVersion:
nullable: true
type: string
delete:
type: boolean
kind:
nullable: true
type: string
missing:
type: boolean
name:
nullable: true
type: string
namespace:
nullable: true
type: string
patch:
nullable: true
type: string
type: object
nullable: true
type: array
name:
description: Name is the name of the resource.
nullable: true
type: string
nonReadyStatus:
description: NonReadyStatus lists the state for each non-ready
resource.
items:
description: NonReadyStatus is used to report the status
of a resource that is not ready. It includes a summary.
properties:
apiVersion:
nullable: true
type: string
kind:
nullable: true
type: string
name:
nullable: true
type: string
namespace:
nullable: true
type: string
summary:
properties:
error:
type: boolean
message:
items:
nullable: true
type: string
nullable: true
type: array
state:
nullable: true
type: string
transitioning:
type: boolean
type: object
uid:
description: UID is a type that holds unique ID
values, including UUIDs. Because we don't ONLY
use UUIDs, this is an alias to string. Being
a type captures intent and helps make sure that
UIDs and names do not get conflated.
nullable: true
type: string
type: object
nullable: true
type: array
type: object
nullable: true
type: array
notReady:
description: NotReady is the number of bundle deployments that
have been deployed where some resources are not ready.
type: integer
outOfSync:
description: OutOfSync is the number of bundle deployments that
have been synced from Fleet controller, but not yet by the
downstream agent.
type: integer
pending:
description: Pending is the number of bundle deployments that
are being processed by Fleet controller.
type: integer
ready:
description: Ready is the number of bundle deployments that
have been deployed where all resources are ready.
type: integer
waitApplied:
description: WaitApplied is the number of bundle deployments
that have been synced from Fleet controller and downstream
cluster, but are waiting to be deployed.
type: integer
type: object
unavailable:
description: 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.
type: integer
unavailablePartitions:
description: UnavailablePartitions is the number of unavailable
partitions.
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: clustergroups.fleet.cattle.io
spec:
group: fleet.cattle.io
names:
categories:
- fleet
kind: ClusterGroup
plural: clustergroups
singular: clustergroup
preserveUnknownFields: false
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .status.display.readyClusters
name: Clusters-Ready
type: string
- jsonPath: .status.display.readyBundles
name: Bundles-Ready
type: string
- jsonPath: .status.conditions[?(@.type=="Ready")].message
name: Status
type: string
name: v1alpha1
schema:
openAPIV3Schema:
description: ClusterGroup is a re-usable selector to target a group of clusters.
properties:
apiVersion:
description: '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'
type: string
kind:
description: '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'
type: string
metadata:
type: object
spec:
properties:
selector:
description: Selector is a label selector, used to select clusters
for this group.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements.
The requirements are ANDed.
items:
description: A label selector requirement is a selector that
contains values, a key, and an operator that relates the
key and values.
properties:
key:
description: key is the label key that the selector applies
to.
nullable: true
type: string
operator:
description: operator represents a key's relationship
to a set of values. Valid operators are In, NotIn, Exists
and DoesNotExist.
nullable: true
type: string
values:
description: values is an array of string values. If the
operator is In or NotIn, the values array must be non-empty.
If the operator is Exists or DoesNotExist, the values
array must be empty. This array is replaced during a
strategic merge patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchLabels:
additionalProperties:
nullable: true
type: string
description: matchLabels is a map of {key,value} pairs. A single
{key,value} in the matchLabels map is equivalent to an element
of matchExpressions, whose key field is "key", the operator
is "In", and the values array contains only "value". The requirements
are ANDed.
nullable: true
type: object
type: object
type: object
status:
properties:
clusterCount:
description: ClusterCount is the number of clusters in the cluster
group.
type: integer
conditions:
description: Conditions is a list of conditions and their statuses
for the cluster group.
items:
properties:
lastTransitionTime:
description: Last time the condition transitioned from one
status to another.
nullable: true
type: string
lastUpdateTime:
description: The last time this condition was updated.
nullable: true
type: string
message:
description: Human-readable message indicating details about
last transition
nullable: true
type: string
reason:
description: The reason for the condition's last transition.
nullable: true
type: string
status:
description: Status of the condition, one of True, False,
Unknown.
nullable: true
type: string
type:
description: Type of cluster condition.
nullable: true
type: string
type: object
nullable: true
type: array
display:
description: Display contains the number of ready, desiredready
clusters and a summary state for the bundle's resources.
properties:
readyBundles:
description: ReadyBundles is a string in the form "%d/%d", that
describes the number of bundles that are ready vs. the number
of bundles desired to be ready.
nullable: true
type: string
readyClusters:
description: 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.
nullable: true
type: string
state:
description: State is a summary state for the cluster group,
showing "NotReady" if there are non-ready resources.
nullable: true
type: string
type: object
nonReadyClusterCount:
description: NonReadyClusterCount is the number of clusters that
are not ready.
type: integer
nonReadyClusters:
description: NonReadyClusters is a list of cluster names that are
not ready.
items:
nullable: true
type: string
nullable: true
type: array
resourceCounts:
description: ResourceCounts contains the number of resources in
each state over all bundles in the cluster group.
properties:
desiredReady:
description: DesiredReady is the number of resources that should
be ready.
type: integer
missing:
description: Missing is the number of missing resources.
type: integer
modified:
description: Modified is the number of resources that have been
modified.
type: integer
notReady:
description: NotReady is the number of not ready resources.
Resources are not ready if they do not match any other state.
type: integer
orphaned:
description: Orphaned is the number of orphaned resources.
type: integer
ready:
description: Ready is the number of ready resources.
type: integer
unknown:
description: Unknown is the number of resources in an unknown
state.
type: integer
waitApplied:
description: WaitApplied is the number of resources that are
waiting to be applied.
type: integer
type: object
summary:
description: Summary is a summary of the bundle deployments and
their resources in the cluster group.
properties:
desiredReady:
description: DesiredReady is the number of bundle deployments
that should be ready.
type: integer
errApplied:
description: 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.
type: integer
modified:
description: 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.
type: integer
nonReadyResources:
description: NonReadyClusters is a list of states, which is
filled for a bundle that is not ready.
items:
description: 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.
properties:
bundleState:
description: State is the state of the resource, like
e.g. "NotReady" or "ErrApplied".
nullable: true
type: string
message:
description: Message contains information why the bundle
is not ready.
nullable: true
type: string
modifiedStatus:
description: ModifiedStatus lists the state for each modified
resource.
items:
description: ModifiedStatus is used to report the status
of a resource that is modified. It indicates if the
modification was a create, a delete or a patch.
properties:
apiVersion:
nullable: true
type: string
delete:
type: boolean
kind:
nullable: true
type: string
missing:
type: boolean
name:
nullable: true
type: string
namespace:
nullable: true
type: string
patch:
nullable: true
type: string
type: object
nullable: true
type: array
name:
description: Name is the name of the resource.
nullable: true
type: string
nonReadyStatus:
description: NonReadyStatus lists the state for each non-ready
resource.
items:
description: NonReadyStatus is used to report the status
of a resource that is not ready. It includes a summary.
properties:
apiVersion:
nullable: true
type: string
kind:
nullable: true
type: string
name:
nullable: true
type: string
namespace:
nullable: true
type: string
summary:
properties:
error:
type: boolean
message:
items:
nullable: true
type: string
nullable: true
type: array
state:
nullable: true
type: string
transitioning:
type: boolean
type: object
uid:
description: UID is a type that holds unique ID
values, including UUIDs. Because we don't ONLY
use UUIDs, this is an alias to string. Being
a type captures intent and helps make sure that
UIDs and names do not get conflated.
nullable: true
type: string
type: object
nullable: true
type: array
type: object
nullable: true
type: array
notReady:
description: NotReady is the number of bundle deployments that
have been deployed where some resources are not ready.
type: integer
outOfSync:
description: OutOfSync is the number of bundle deployments that
have been synced from Fleet controller, but not yet by the
downstream agent.
type: integer
pending:
description: Pending is the number of bundle deployments that
are being processed by Fleet controller.
type: integer
ready:
description: Ready is the number of bundle deployments that
have been deployed where all resources are ready.
type: integer
waitApplied:
description: WaitApplied is the number of bundle deployments
that have been synced from Fleet controller and downstream
cluster, but are waiting to be deployed.
type: integer
type: object
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: clusterregistrations.fleet.cattle.io
spec:
group: fleet.cattle.io
names:
kind: ClusterRegistration
plural: clusterregistrations
singular: clusterregistration
preserveUnknownFields: false
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .status.clusterName
name: Cluster-Name
type: string
- jsonPath: .spec.clusterLabels
name: Labels
type: string
name: v1alpha1
schema:
openAPIV3Schema:
description: ClusterRegistration is used internally by Fleet and should
not be used directly.
properties:
apiVersion:
description: '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'
type: string
kind:
description: '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'
type: string
metadata:
type: object
spec:
properties:
clientID:
description: ClientID is a unique string that will identify the
cluster. The agent either uses the configured ID or the kubeSystem.UID.
nullable: true
type: string
clientRandom:
description: ClientRandom is a random string that the agent generates.
When fleet-controller grants a registration, it creates a registration
secret with this string in the name.
nullable: true
type: string
clusterLabels:
additionalProperties:
nullable: true
type: string
description: ClusterLabels are copied to the cluster resource during
the registration.
nullable: true
type: object
type: object
status:
properties:
clusterName:
description: ClusterName is only set after the registration is being
processed by fleet-controller.
nullable: true
type: string
granted:
description: Granted is set to true, if the request service account
is present and its token secret exists. This happens directly
before creating the registration secret, roles and rolebindings.
type: boolean
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: clusterregistrationtokens.fleet.cattle.io
spec:
group: fleet.cattle.io
names:
kind: ClusterRegistrationToken
plural: clusterregistrationtokens
singular: clusterregistrationtoken
preserveUnknownFields: false
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .status.secretName
name: Secret-Name
type: string
name: v1alpha1
schema:
openAPIV3Schema:
description: ClusterRegistrationToken is used by agents to register a new
cluster.
properties:
apiVersion:
description: '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'
type: string
kind:
description: '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'
type: string
metadata:
properties:
name:
maxLength: 63
pattern: ^[-a-z0-9]+$
type: string
type: object
spec:
properties:
ttl:
description: TTL is the time to live for the token. It is used to
calculate the expiration time. If the token expires, it will be
deleted.
nullable: true
type: string
type: object
status:
properties:
expires:
description: Expires is the time when the token expires.
nullable: true
type: string
secretName:
description: SecretName is the name of the secret containing the
token.
nullable: true
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: clusters.fleet.cattle.io
spec:
group: fleet.cattle.io
names:
kind: Cluster
plural: clusters
singular: cluster
preserveUnknownFields: false
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .status.display.readyBundles
name: Bundles-Ready
type: string
- jsonPath: .status.display.readyNodes
name: Nodes-Ready
type: string
- jsonPath: .status.display.sampleNode
name: Sample-Node
type: string
- jsonPath: .status.agent.lastSeen
name: Last-Seen
type: string
- jsonPath: .status.conditions[?(@.type=="Ready")].message
name: Status
type: string
name: v1alpha1
schema:
openAPIV3Schema:
description: Cluster corresponds to a Kubernetes cluster. Fleet deploys
bundles to targeted clusters. Clusters to which Fleet deploys manifests
are referred to as downstream clusters. In the single cluster use case,
the Fleet manager Kubernetes cluster is both the manager and downstream
cluster at the same time.
properties:
apiVersion:
description: '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'
type: string
kind:
description: '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'
type: string
metadata:
properties:
name:
maxLength: 63
pattern: ^[-a-z0-9]+$
type: string
type: object
spec:
properties:
agentAffinity:
description: AgentAffinity overrides the default affinity for the
cluster's agent deployment. If this value is nil the default affinity
is used.
nullable: true
properties:
nodeAffinity:
description: Describes node affinity scheduling rules for the
pod.
nullable: true
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: The scheduler will prefer to schedule pods
to nodes that satisfy the affinity expressions specified
by this field, but it may choose a node that violates
one or more of the expressions. The node that is most
preferred is the one with the greatest sum of weights,
i.e. for each node that meets all of the scheduling requirements
(resource request, requiredDuringScheduling affinity expressions,
etc.), compute a sum by iterating through the elements
of this field and adding "weight" to the sum if the node
matches the corresponding matchExpressions; the node(s)
with the highest sum are the most preferred.
items:
description: An empty preferred scheduling term matches
all objects with implicit weight 0 (i.e. it's a no-op).
A null preferred scheduling term matches no objects
(i.e. is also a no-op).
properties:
preference:
description: A node selector term, associated with
the corresponding weight.
properties:
matchExpressions:
description: A list of node selector requirements
by node's labels.
items:
description: A node selector requirement is
a selector that contains values, a key, and
an operator that relates the key and values.
properties:
key:
description: The label key that the selector
applies to.
nullable: true
type: string
operator:
description: Represents a key's relationship
to a set of values. Valid operators are
In, NotIn, Exists, DoesNotExist. Gt, and
Lt.
enum:
- In
- NotIn
- Exists
- DoesNotExist
- Gt
- Lt
nullable: true
type: string
values:
description: An array of string values.
If the operator is In or NotIn, the values
array must be non-empty. If the operator
is Exists or DoesNotExist, the values
array must be empty. If the operator is
Gt or Lt, the values array must have a
single element, which will be interpreted
as an integer. This array is replaced
during a strategic merge patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchFields:
description: A list of node selector requirements
by node's fields.
items:
description: A node selector requirement is
a selector that contains values, a key, and
an operator that relates the key and values.
properties:
key:
description: The label key that the selector
applies to.
nullable: true
type: string
operator:
description: Represents a key's relationship
to a set of values. Valid operators are
In, NotIn, Exists, DoesNotExist. Gt, and
Lt.
enum:
- In
- NotIn
- Exists
- DoesNotExist
- Gt
- Lt
nullable: true
type: string
values:
description: An array of string values.
If the operator is In or NotIn, the values
array must be non-empty. If the operator
is Exists or DoesNotExist, the values
array must be empty. If the operator is
Gt or Lt, the values array must have a
single element, which will be interpreted
as an integer. This array is replaced
during a strategic merge patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
type: object
weight:
description: Weight associated with matching the corresponding
nodeSelectorTerm, in the range 1-100.
type: integer
type: object
nullable: true
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements specified by this
field are not met at scheduling time, the pod will not
be scheduled onto the node. If the affinity requirements
specified by this field cease to be met at some point
during pod execution (e.g. due to an update), the system
may or may not try to eventually evict the pod from its
node.
nullable: true
properties:
nodeSelectorTerms:
description: Required. A list of node selector terms.
The terms are ORed.
items:
description: A null or empty node selector term matches
no objects. The requirements of them are ANDed.
The TopologySelectorTerm type implements a subset
of the NodeSelectorTerm.
properties:
matchExpressions:
description: A list of node selector requirements
by node's labels.
items:
description: A node selector requirement is
a selector that contains values, a key, and
an operator that relates the key and values.
properties:
key:
description: The label key that the selector
applies to.
nullable: true
type: string
operator:
description: Represents a key's relationship
to a set of values. Valid operators are
In, NotIn, Exists, DoesNotExist. Gt, and
Lt.
enum:
- In
- NotIn
- Exists
- DoesNotExist
- Gt
- Lt
nullable: true
type: string
values:
description: An array of string values.
If the operator is In or NotIn, the values
array must be non-empty. If the operator
is Exists or DoesNotExist, the values
array must be empty. If the operator is
Gt or Lt, the values array must have a
single element, which will be interpreted
as an integer. This array is replaced
during a strategic merge patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchFields:
description: A list of node selector requirements
by node's fields.
items:
description: A node selector requirement is
a selector that contains values, a key, and
an operator that relates the key and values.
properties:
key:
description: The label key that the selector
applies to.
nullable: true
type: string
operator:
description: Represents a key's relationship
to a set of values. Valid operators are
In, NotIn, Exists, DoesNotExist. Gt, and
Lt.
enum:
- In
- NotIn
- Exists
- DoesNotExist
- Gt
- Lt
nullable: true
type: string
values:
description: An array of string values.
If the operator is In or NotIn, the values
array must be non-empty. If the operator
is Exists or DoesNotExist, the values
array must be empty. If the operator is
Gt or Lt, the values array must have a
single element, which will be interpreted
as an integer. This array is replaced
during a strategic merge patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
type: object
nullable: true
type: array
type: object
type: object
podAffinity:
description: Describes pod affinity scheduling rules (e.g. co-locate
this pod in the same node, zone, etc. as some other pod(s)).
nullable: true
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: The scheduler will prefer to schedule pods
to nodes that satisfy the affinity expressions specified
by this field, but it may choose a node that violates
one or more of the expressions. The node that is most
preferred is the one with the greatest sum of weights,
i.e. for each node that meets all of the scheduling requirements
(resource request, requiredDuringScheduling affinity expressions,
etc.), compute a sum by iterating through the elements
of this field and adding "weight" to the sum if the node
has pods which matches the corresponding podAffinityTerm;
the node(s) with the highest sum are the most preferred.
items:
description: The weights of all of the matched WeightedPodAffinityTerm
fields are added per-node to find the most preferred
node(s)
properties:
podAffinityTerm:
description: Required. A pod affinity term, associated
with the corresponding weight.
properties:
labelSelector:
description: A label query over a set of resources,
in this case pods.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of
label selector requirements. The requirements
are ANDed.
items:
description: A label selector requirement
is a selector that contains values, a
key, and an operator that relates the
key and values.
properties:
key:
description: key is the label key that
the selector applies to.
nullable: true
type: string
operator:
description: operator represents a key's
relationship to a set of values. Valid
operators are In, NotIn, Exists and
DoesNotExist.
enum:
- In
- NotIn
- Exists
- DoesNotExist
nullable: true
type: string
values:
description: values is an array of string
values. If the operator is In or NotIn,
the values array must be non-empty.
If the operator is Exists or DoesNotExist,
the values array must be empty. This
array is replaced during a strategic
merge patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchLabels:
additionalProperties:
nullable: true
type: string
description: matchLabels is a map of {key,value}
pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions,
whose key field is "key", the operator is
"In", and the values array contains only
"value". The requirements are ANDed.
nullable: true
type: object
type: object
namespaceSelector:
description: A label query over the set of namespaces
that the term applies to. The term is applied
to the union of the namespaces selected by this
field and the ones listed in the namespaces
field. null selector and null or empty namespaces
list means "this pod's namespace". An empty
selector ({}) matches all namespaces.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of
label selector requirements. The requirements
are ANDed.
items:
description: A label selector requirement
is a selector that contains values, a
key, and an operator that relates the
key and values.
properties:
key:
description: key is the label key that
the selector applies to.
nullable: true
type: string
operator:
description: operator represents a key's
relationship to a set of values. Valid
operators are In, NotIn, Exists and
DoesNotExist.
enum:
- In
- NotIn
- Exists
- DoesNotExist
nullable: true
type: string
values:
description: values is an array of string
values. If the operator is In or NotIn,
the values array must be non-empty.
If the operator is Exists or DoesNotExist,
the values array must be empty. This
array is replaced during a strategic
merge patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchLabels:
additionalProperties:
nullable: true
type: string
description: matchLabels is a map of {key,value}
pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions,
whose key field is "key", the operator is
"In", and the values array contains only
"value". The requirements are ANDed.
nullable: true
type: object
type: object
namespaces:
description: namespaces specifies a static list
of namespace names that the term applies to.
The term is applied to the union of the namespaces
listed in this field and the ones selected by
namespaceSelector. null or empty namespaces
list and null namespaceSelector means "this
pod's namespace".
items:
nullable: true
type: string
nullable: true
type: array
topologyKey:
description: This pod should be co-located (affinity)
or not co-located (anti-affinity) with the pods
matching the labelSelector in the specified
namespaces, where co-located is defined as running
on a node whose value of the label with key
topologyKey matches that of any node on which
any of the selected pods is running. Empty topologyKey
is not allowed.
nullable: true
type: string
type: object
weight:
description: weight associated with matching the corresponding
podAffinityTerm, in the range 1-100.
type: integer
type: object
nullable: true
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements specified by this
field are not met at scheduling time, the pod will not
be scheduled onto the node. If the affinity requirements
specified by this field cease to be met at some point
during pod execution (e.g. due to a pod label update),
the system may or may not try to eventually evict the
pod from its node. When there are multiple elements, the
lists of nodes corresponding to each podAffinityTerm are
intersected, i.e. all terms must be satisfied.
items:
description: Defines a set of pods (namely those matching
the labelSelector relative to the given namespace(s))
that this pod should be co-located (affinity) or not
co-located (anti-affinity) with, where co-located is
defined as running on a node whose value of the label
with key <topologyKey> matches that of any node on which
a pod of the set of pods is running
properties:
labelSelector:
description: A label query over a set of resources,
in this case pods.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label
selector requirements. The requirements are
ANDed.
items:
description: A label selector requirement is
a selector that contains values, a key, and
an operator that relates the key and values.
properties:
key:
description: key is the label key that the
selector applies to.
nullable: true
type: string
operator:
description: operator represents a key's
relationship to a set of values. Valid
operators are In, NotIn, Exists and DoesNotExist.
enum:
- In
- NotIn
- Exists
- DoesNotExist
nullable: true
type: string
values:
description: values is an array of string
values. If the operator is In or NotIn,
the values array must be non-empty. If
the operator is Exists or DoesNotExist,
the values array must be empty. This array
is replaced during a strategic merge patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchLabels:
additionalProperties:
nullable: true
type: string
description: matchLabels is a map of {key,value}
pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions,
whose key field is "key", the operator is "In",
and the values array contains only "value".
The requirements are ANDed.
nullable: true
type: object
type: object
namespaceSelector:
description: A label query over the set of namespaces
that the term applies to. The term is applied to
the union of the namespaces selected by this field
and the ones listed in the namespaces field. null
selector and null or empty namespaces list means
"this pod's namespace". An empty selector ({}) matches
all namespaces.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label
selector requirements. The requirements are
ANDed.
items:
description: A label selector requirement is
a selector that contains values, a key, and
an operator that relates the key and values.
properties:
key:
description: key is the label key that the
selector applies to.
nullable: true
type: string
operator:
description: operator represents a key's
relationship to a set of values. Valid
operators are In, NotIn, Exists and DoesNotExist.
enum:
- In
- NotIn
- Exists
- DoesNotExist
nullable: true
type: string
values:
description: values is an array of string
values. If the operator is In or NotIn,
the values array must be non-empty. If
the operator is Exists or DoesNotExist,
the values array must be empty. This array
is replaced during a strategic merge patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchLabels:
additionalProperties:
nullable: true
type: string
description: matchLabels is a map of {key,value}
pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions,
whose key field is "key", the operator is "In",
and the values array contains only "value".
The requirements are ANDed.
nullable: true
type: object
type: object
namespaces:
description: namespaces specifies a static list of
namespace names that the term applies to. The term
is applied to the union of the namespaces listed
in this field and the ones selected by namespaceSelector.
null or empty namespaces list and null namespaceSelector
means "this pod's namespace".
items:
nullable: true
type: string
nullable: true
type: array
topologyKey:
description: This pod should be co-located (affinity)
or not co-located (anti-affinity) with the pods
matching the labelSelector in the specified namespaces,
where co-located is defined as running on a node
whose value of the label with key topologyKey matches
that of any node on which any of the selected pods
is running. Empty topologyKey is not allowed.
nullable: true
type: string
type: object
nullable: true
type: array
type: object
podAntiAffinity:
description: Describes pod anti-affinity scheduling rules (e.g.
avoid putting this pod in the same node, zone, etc. as some
other pod(s)).
nullable: true
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: The scheduler will prefer to schedule pods
to nodes that satisfy the anti-affinity expressions specified
by this field, but it may choose a node that violates
one or more of the expressions. The node that is most
preferred is the one with the greatest sum of weights,
i.e. for each node that meets all of the scheduling requirements
(resource request, requiredDuringScheduling anti-affinity
expressions, etc.), compute a sum by iterating through
the elements of this field and adding "weight" to the
sum if the node has pods which matches the corresponding
podAffinityTerm; the node(s) with the highest sum are
the most preferred.
items:
description: The weights of all of the matched WeightedPodAffinityTerm
fields are added per-node to find the most preferred
node(s)
properties:
podAffinityTerm:
description: Required. A pod affinity term, associated
with the corresponding weight.
properties:
labelSelector:
description: A label query over a set of resources,
in this case pods.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of
label selector requirements. The requirements
are ANDed.
items:
description: A label selector requirement
is a selector that contains values, a
key, and an operator that relates the
key and values.
properties:
key:
description: key is the label key that
the selector applies to.
nullable: true
type: string
operator:
description: operator represents a key's
relationship to a set of values. Valid
operators are In, NotIn, Exists and
DoesNotExist.
enum:
- In
- NotIn
- Exists
- DoesNotExist
nullable: true
type: string
values:
description: values is an array of string
values. If the operator is In or NotIn,
the values array must be non-empty.
If the operator is Exists or DoesNotExist,
the values array must be empty. This
array is replaced during a strategic
merge patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchLabels:
additionalProperties:
nullable: true
type: string
description: matchLabels is a map of {key,value}
pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions,
whose key field is "key", the operator is
"In", and the values array contains only
"value". The requirements are ANDed.
nullable: true
type: object
type: object
namespaceSelector:
description: A label query over the set of namespaces
that the term applies to. The term is applied
to the union of the namespaces selected by this
field and the ones listed in the namespaces
field. null selector and null or empty namespaces
list means "this pod's namespace". An empty
selector ({}) matches all namespaces.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of
label selector requirements. The requirements
are ANDed.
items:
description: A label selector requirement
is a selector that contains values, a
key, and an operator that relates the
key and values.
properties:
key:
description: key is the label key that
the selector applies to.
nullable: true
type: string
operator:
description: operator represents a key's
relationship to a set of values. Valid
operators are In, NotIn, Exists and
DoesNotExist.
enum:
- In
- NotIn
- Exists
- DoesNotExist
nullable: true
type: string
values:
description: values is an array of string
values. If the operator is In or NotIn,
the values array must be non-empty.
If the operator is Exists or DoesNotExist,
the values array must be empty. This
array is replaced during a strategic
merge patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchLabels:
additionalProperties:
nullable: true
type: string
description: matchLabels is a map of {key,value}
pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions,
whose key field is "key", the operator is
"In", and the values array contains only
"value". The requirements are ANDed.
nullable: true
type: object
type: object
namespaces:
description: namespaces specifies a static list
of namespace names that the term applies to.
The term is applied to the union of the namespaces
listed in this field and the ones selected by
namespaceSelector. null or empty namespaces
list and null namespaceSelector means "this
pod's namespace".
items:
nullable: true
type: string
nullable: true
type: array
topologyKey:
description: This pod should be co-located (affinity)
or not co-located (anti-affinity) with the pods
matching the labelSelector in the specified
namespaces, where co-located is defined as running
on a node whose value of the label with key
topologyKey matches that of any node on which
any of the selected pods is running. Empty topologyKey
is not allowed.
nullable: true
type: string
type: object
weight:
description: weight associated with matching the corresponding
podAffinityTerm, in the range 1-100.
type: integer
type: object
nullable: true
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the anti-affinity requirements specified
by this field are not met at scheduling time, the pod
will not be scheduled onto the node. If the anti-affinity
requirements specified by this field cease to be met at
some point during pod execution (e.g. due to a pod label
update), the system may or may not try to eventually evict
the pod from its node. When there are multiple elements,
the lists of nodes corresponding to each podAffinityTerm
are intersected, i.e. all terms must be satisfied.
items:
description: Defines a set of pods (namely those matching
the labelSelector relative to the given namespace(s))
that this pod should be co-located (affinity) or not
co-located (anti-affinity) with, where co-located is
defined as running on a node whose value of the label
with key <topologyKey> matches that of any node on which
a pod of the set of pods is running
properties:
labelSelector:
description: A label query over a set of resources,
in this case pods.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label
selector requirements. The requirements are
ANDed.
items:
description: A label selector requirement is
a selector that contains values, a key, and
an operator that relates the key and values.
properties:
key:
description: key is the label key that the
selector applies to.
nullable: true
type: string
operator:
description: operator represents a key's
relationship to a set of values. Valid
operators are In, NotIn, Exists and DoesNotExist.
enum:
- In
- NotIn
- Exists
- DoesNotExist
nullable: true
type: string
values:
description: values is an array of string
values. If the operator is In or NotIn,
the values array must be non-empty. If
the operator is Exists or DoesNotExist,
the values array must be empty. This array
is replaced during a strategic merge patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchLabels:
additionalProperties:
nullable: true
type: string
description: matchLabels is a map of {key,value}
pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions,
whose key field is "key", the operator is "In",
and the values array contains only "value".
The requirements are ANDed.
nullable: true
type: object
type: object
namespaceSelector:
description: A label query over the set of namespaces
that the term applies to. The term is applied to
the union of the namespaces selected by this field
and the ones listed in the namespaces field. null
selector and null or empty namespaces list means
"this pod's namespace". An empty selector ({}) matches
all namespaces.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label
selector requirements. The requirements are
ANDed.
items:
description: A label selector requirement is
a selector that contains values, a key, and
an operator that relates the key and values.
properties:
key:
description: key is the label key that the
selector applies to.
nullable: true
type: string
operator:
description: operator represents a key's
relationship to a set of values. Valid
operators are In, NotIn, Exists and DoesNotExist.
enum:
- In
- NotIn
- Exists
- DoesNotExist
nullable: true
type: string
values:
description: values is an array of string
values. If the operator is In or NotIn,
the values array must be non-empty. If
the operator is Exists or DoesNotExist,
the values array must be empty. This array
is replaced during a strategic merge patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchLabels:
additionalProperties:
nullable: true
type: string
description: matchLabels is a map of {key,value}
pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions,
whose key field is "key", the operator is "In",
and the values array contains only "value".
The requirements are ANDed.
nullable: true
type: object
type: object
namespaces:
description: namespaces specifies a static list of
namespace names that the term applies to. The term
is applied to the union of the namespaces listed
in this field and the ones selected by namespaceSelector.
null or empty namespaces list and null namespaceSelector
means "this pod's namespace".
items:
nullable: true
type: string
nullable: true
type: array
topologyKey:
description: This pod should be co-located (affinity)
or not co-located (anti-affinity) with the pods
matching the labelSelector in the specified namespaces,
where co-located is defined as running on a node
whose value of the label with key topologyKey matches
that of any node on which any of the selected pods
is running. Empty topologyKey is not allowed.
nullable: true
type: string
type: object
nullable: true
type: array
type: object
type: object
agentEnvVars:
description: AgentEnvVars are extra environment variables to be
added to the agent deployment.
items:
description: EnvVar represents an environment variable present
in a Container.
properties:
name:
description: Name of the environment variable. Must be a C_IDENTIFIER.
nullable: true
type: string
value:
description: 'Variable references $(VAR_NAME) are expanded
using the previously defined environment variables in the
container and any service environment variables. If a variable
cannot be resolved, the reference in the input string will
be unchanged. Double $$ are reduced to a single $, which
allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
will produce the string literal "$(VAR_NAME)". Escaped references
will never be expanded, regardless of whether the variable
exists or not. Defaults to "".'
nullable: true
type: string
valueFrom:
description: Source for the environment variable's value.
Cannot be used if value is not empty.
nullable: true
properties:
configMapKeyRef:
description: Selects a key of a ConfigMap.
nullable: true
properties:
key:
description: The key to select.
nullable: true
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind,
uid?'
nullable: true
type: string
optional:
description: Specify whether the ConfigMap or its
key must be defined
nullable: true
type: boolean
type: object
fieldRef:
description: 'Selects a field of the pod: supports metadata.name,
metadata.namespace, `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`,
spec.nodeName, spec.serviceAccountName, status.hostIP,
status.podIP, status.podIPs.'
nullable: true
properties:
apiVersion:
description: Version of the schema the FieldPath is
written in terms of, defaults to "v1".
nullable: true
type: string
fieldPath:
description: Path of the field to select in the specified
API version.
nullable: true
type: string
type: object
resourceFieldRef:
description: 'Selects a resource of the container: only
resources limits and requests (limits.cpu, limits.memory,
limits.ephemeral-storage, requests.cpu, requests.memory
and requests.ephemeral-storage) are currently supported.'
nullable: true
properties:
containerName:
description: 'Container name: required for volumes,
optional for env vars'
nullable: true
type: string
divisor:
description: Specifies the output format of the exposed
resources, defaults to "1"
nullable: true
type: string
resource:
description: 'Required: resource to select'
nullable: true
type: string
type: object
secretKeyRef:
description: Selects a key of a secret in the pod's namespace
nullable: true
properties:
key:
description: The key of the secret to select from. Must
be a valid secret key.
nullable: true
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind,
uid?'
nullable: true
type: string
optional:
description: Specify whether the Secret or its key
must be defined
nullable: true
type: boolean
type: object
type: object
type: object
nullable: true
type: array
agentNamespace:
description: AgentNamespace defaults to the system namespace, e.g.
cattle-fleet-system.
nullable: true
type: string
agentResources:
description: AgentResources sets the resources for the cluster's
agent deployment.
nullable: true
properties:
claims:
description: "Claims lists the names of resources, defined in\
\ spec.resourceClaims, that are used by this container. \n\
\ This is an alpha field and requires enabling the DynamicResourceAllocation\
\ feature gate. \n This field is immutable. It can only be\
\ set for containers."
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: Name must match the name of one entry in
pod.spec.resourceClaims of the Pod where this field
is used. It makes that resource available inside a container.
nullable: true
type: string
type: object
nullable: true
type: array
limits:
additionalProperties:
nullable: true
type: string
description: 'Limits describes the maximum amount of compute
resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
nullable: true
type: object
requests:
additionalProperties:
nullable: true
type: string
description: 'Requests describes the minimum amount of compute
resources required. If Requests is omitted for a container,
it defaults to Limits if that is explicitly specified, otherwise
to an implementation-defined value. Requests cannot exceed
Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
nullable: true
type: object
type: object
agentTolerations:
description: AgentTolerations defines an extra set of Tolerations
to be added to the Agent deployment.
items:
description: The pod this Toleration is attached to tolerates
any taint that matches the triple <key,value,effect> using the
matching operator <operator>.
properties:
effect:
description: Effect indicates the taint effect to match. Empty
means match all taint effects. When specified, allowed values
are NoSchedule, PreferNoSchedule and NoExecute.
nullable: true
type: string
key:
description: Key is the taint key that the toleration applies
to. Empty means match all taint keys. If the key is empty,
operator must be Exists; this combination means to match
all values and all keys.
nullable: true
type: string
operator:
description: Operator represents a key's relationship to the
value. Valid operators are Exists and Equal. Defaults to
Equal. Exists is equivalent to wildcard for value, so that
a pod can tolerate all taints of a particular category.
nullable: true
type: string
tolerationSeconds:
description: TolerationSeconds represents the period of time
the toleration (which must be of effect NoExecute, otherwise
this field is ignored) tolerates the taint. By default,
it is not set, which means tolerate the taint forever (do
not evict). Zero and negative values will be treated as
0 (evict immediately) by the system.
maximum: 86400
nullable: true
type: integer
value:
description: Value is the taint value the toleration matches
to. If the operator is Exists, the value should be empty,
otherwise just a regular string.
nullable: true
type: string
type: object
nullable: true
type: array
clientID:
description: ClientID is a unique string that will identify the
cluster. It can either be predefined, or generated when importing
the cluster.
nullable: true
type: string
kubeConfigSecret:
description: KubeConfigSecret is the name of the secret containing
the kubeconfig for the downstream cluster. It can optionally contain
a APIServerURL and CA to override the values in the fleet-controller's
configmap.
nullable: true
type: string
kubeConfigSecretNamespace:
description: KubeConfigSecretNamespace is the namespace of the secret
containing the kubeconfig for the downstream cluster. If unset,
it will be assumed the secret can be found in the namespace that
the Cluster object resides within.
nullable: true
type: string
paused:
description: Paused if set to true, will stop any BundleDeployments
from being updated.
type: boolean
privateRepoURL:
description: PrivateRepoURL prefixes the image name and overrides
a global repo URL from the agents config.
nullable: true
type: string
redeployAgentGeneration:
description: RedeployAgentGeneration can be used to force redeploying
the agent.
type: integer
templateValues:
description: TemplateValues defines a cluster specific mapping of
values to be sent to fleet.yaml values templating.
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
type: object
status:
properties:
agent:
description: AgentStatus contains information about the agent.
properties:
lastSeen:
description: LastSeen is the last time the agent checked in
to update the status of the cluster resource.
nullable: true
type: string
namespace:
description: Namespace is the namespace of the agent deployment,
e.g. "cattle-fleet-system".
nullable: true
type: string
nonReadyNodeNames:
description: NonReadyNode contains the names of non-ready nodes.
The list is limited to at most 3 names.
items:
nullable: true
type: string
nullable: true
type: array
nonReadyNodes:
description: NonReadyNodes is the number of nodes that are not
ready.
type: integer
readyNodeNames:
description: ReadyNodes contains the names of ready nodes. The
list is limited to at most 3 names.
items:
nullable: true
type: string
nullable: true
type: array
readyNodes:
description: ReadyNodes is the number of nodes that are ready.
type: integer
type: object
agentAffinityHash:
description: AgentAffinityHash is a hash of the agent's affinity
configuration, used to detect changes.
nullable: true
type: string
agentConfigChanged:
description: AgentConfigChanged is set to true if any of the agent
configuration changed, like the API server URL or CA. Setting
it to true will trigger a re-import of the cluster.
type: boolean
agentDeployedGeneration:
description: AgentDeployedGeneration is the generation of the agent
that is currently deployed.
nullable: true
type: integer
agentEnvVarsHash:
description: AgentEnvVarsHash is a hash of the agent's env vars,
used to detect changes.
nullable: true
type: string
agentMigrated:
description: AgentMigrated is always set to true after importing
a cluster. If false, it will trigger a migration. Old agents don't
have this in their status.
type: boolean
agentNamespaceMigrated:
description: AgentNamespaceMigrated is always set to true after
importing a cluster. If false, it will trigger a migration. Old
Fleet agents don't have this in their status.
type: boolean
agentPrivateRepoURL:
description: AgentPrivateRepoURL is the private repo URL for the
agent that is currently used.
nullable: true
type: string
agentResourcesHash:
description: AgentResourcesHash is a hash of the agent's resources
configuration, used to detect changes.
nullable: true
type: string
agentTLSMode:
description: 'AgentTLSMode supports two values: `system-store` and
`strict`. If set to `system-store`, instructs the agent to trust
CA bundles from the operating system''s store. If set to `strict`,
then the agent shall only connect to a server which uses the exact
CA configured when creating/updating the agent.'
nullable: true
type: string
agentTolerationsHash:
description: AgentTolerationsHash is a hash of the agent's tolerations
configuration, used to detect changes.
nullable: true
type: string
apiServerCAHash:
description: APIServerCAHash is a hash of the upstream API server
CA, used to detect changes.
nullable: true
type: string
apiServerURL:
description: APIServerURL is the currently used URL of the API server
that the cluster uses to connect to upstream.
nullable: true
type: string
cattleNamespaceMigrated:
description: CattleNamespaceMigrated is always set to true after
importing a cluster. If false, it will trigger a migration. Old
Fleet agents, don't have this in their status.
type: boolean
conditions:
items:
properties:
lastTransitionTime:
description: Last time the condition transitioned from one
status to another.
nullable: true
type: string
lastUpdateTime:
description: The last time this condition was updated.
nullable: true
type: string
message:
description: Human-readable message indicating details about
last transition
nullable: true
type: string
reason:
description: The reason for the condition's last transition.
nullable: true
type: string
status:
description: Status of the condition, one of True, False,
Unknown.
nullable: true
type: string
type:
description: Type of cluster condition.
nullable: true
type: string
type: object
nullable: true
type: array
desiredReadyGitRepos:
description: DesiredReadyGitRepos is the number of gitrepos for
this cluster that are desired to be ready.
type: integer
display:
description: Display contains the number of ready bundles, nodes
and a summary state.
properties:
readyBundles:
description: ReadyBundles is a string in the form "%d/%d", that
describes the number of bundles that are ready vs. the number
of bundles desired to be ready.
nullable: true
type: string
readyNodes:
description: ReadyNodes is a string in the form "%d/%d", that
describes the number of nodes that are ready vs. the number
of expected nodes.
nullable: true
type: string
sampleNode:
description: SampleNode is the name of one of the nodes that
are ready. If no node is ready, it's the name of a node that
is not ready.
nullable: true
type: string
state:
description: State of the cluster, either one of the bundle
states, or "WaitCheckIn".
nullable: true
type: string
type: object
namespace:
description: 'Namespace is the cluster namespace, it contains the
clusters service account as well as any bundledeployments. Example:
"cluster-fleet-local-cluster-294db1acfa77-d9ccf852678f"'
nullable: true
type: string
readyGitRepos:
description: ReadyGitRepos is the number of gitrepos for this cluster
that are ready.
type: integer
resourceCounts:
description: ResourceCounts is an aggregate over the GitRepoResourceCounts.
properties:
desiredReady:
description: DesiredReady is the number of resources that should
be ready.
type: integer
missing:
description: Missing is the number of missing resources.
type: integer
modified:
description: Modified is the number of resources that have been
modified.
type: integer
notReady:
description: NotReady is the number of not ready resources.
Resources are not ready if they do not match any other state.
type: integer
orphaned:
description: Orphaned is the number of orphaned resources.
type: integer
ready:
description: Ready is the number of ready resources.
type: integer
unknown:
description: Unknown is the number of resources in an unknown
state.
type: integer
waitApplied:
description: WaitApplied is the number of resources that are
waiting to be applied.
type: integer
type: object
summary:
description: Summary is a summary of the bundledeployments. The
resource counts are copied from the gitrepo resource.
properties:
desiredReady:
description: DesiredReady is the number of bundle deployments
that should be ready.
type: integer
errApplied:
description: 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.
type: integer
modified:
description: 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.
type: integer
nonReadyResources:
description: NonReadyClusters is a list of states, which is
filled for a bundle that is not ready.
items:
description: 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.
properties:
bundleState:
description: State is the state of the resource, like
e.g. "NotReady" or "ErrApplied".
nullable: true
type: string
message:
description: Message contains information why the bundle
is not ready.
nullable: true
type: string
modifiedStatus:
description: ModifiedStatus lists the state for each modified
resource.
items:
description: ModifiedStatus is used to report the status
of a resource that is modified. It indicates if the
modification was a create, a delete or a patch.
properties:
apiVersion:
nullable: true
type: string
delete:
type: boolean
kind:
nullable: true
type: string
missing:
type: boolean
name:
nullable: true
type: string
namespace:
nullable: true
type: string
patch:
nullable: true
type: string
type: object
nullable: true
type: array
name:
description: Name is the name of the resource.
nullable: true
type: string
nonReadyStatus:
description: NonReadyStatus lists the state for each non-ready
resource.
items:
description: NonReadyStatus is used to report the status
of a resource that is not ready. It includes a summary.
properties:
apiVersion:
nullable: true
type: string
kind:
nullable: true
type: string
name:
nullable: true
type: string
namespace:
nullable: true
type: string
summary:
properties:
error:
type: boolean
message:
items:
nullable: true
type: string
nullable: true
type: array
state:
nullable: true
type: string
transitioning:
type: boolean
type: object
uid:
description: UID is a type that holds unique ID
values, including UUIDs. Because we don't ONLY
use UUIDs, this is an alias to string. Being
a type captures intent and helps make sure that
UIDs and names do not get conflated.
nullable: true
type: string
type: object
nullable: true
type: array
type: object
nullable: true
type: array
notReady:
description: NotReady is the number of bundle deployments that
have been deployed where some resources are not ready.
type: integer
outOfSync:
description: OutOfSync is the number of bundle deployments that
have been synced from Fleet controller, but not yet by the
downstream agent.
type: integer
pending:
description: Pending is the number of bundle deployments that
are being processed by Fleet controller.
type: integer
ready:
description: Ready is the number of bundle deployments that
have been deployed where all resources are ready.
type: integer
waitApplied:
description: WaitApplied is the number of bundle deployments
that have been synced from Fleet controller and downstream
cluster, but are waiting to be deployed.
type: integer
type: object
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: contents.fleet.cattle.io
spec:
group: fleet.cattle.io
names:
kind: Content
plural: contents
singular: content
preserveUnknownFields: false
scope: Cluster
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: Content is used internally by Fleet and should not be used
directly. It contains the resources from a bundle for a specific target
cluster.
properties:
apiVersion:
description: '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'
type: string
content:
description: Content is a byte array, which contains the manifests of
a bundle. The bundle resources are copied into the bundledeployment's
content resource, so the downstream agent can deploy them.
nullable: true
type: string
kind:
description: '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'
type: string
metadata:
type: object
type: object
served: true
storage: true
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: gitreporestrictions.fleet.cattle.io
spec:
group: fleet.cattle.io
names:
kind: GitRepoRestriction
plural: gitreporestrictions
singular: gitreporestriction
preserveUnknownFields: false
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .defaultServiceAccount
name: Default-ServiceAccount
type: string
- jsonPath: .allowedServiceAccounts
name: Allowed-ServiceAccounts
type: string
name: v1alpha1
schema:
openAPIV3Schema:
description: GitRepoRestriction is a resource that can optionally be used
to restrict the options of GitRepos in the same namespace.
properties:
allowedClientSecretNames:
description: AllowedClientSecretNames is a list of client secret names
that GitRepos are allowed to use.
items:
nullable: true
type: string
nullable: true
type: array
allowedRepoPatterns:
description: AllowedRepoPatterns is a list of regex patterns that restrict
the valid values of the Repo field of a GitRepo.
items:
nullable: true
type: string
nullable: true
type: array
allowedServiceAccounts:
description: AllowedServiceAccounts is a list of service accounts that
GitRepos are allowed to use.
items:
nullable: true
type: string
nullable: true
type: array
allowedTargetNamespaces:
description: AllowedTargetNamespaces restricts TargetNamespace to the
given namespaces. If AllowedTargetNamespaces is set, TargetNamespace
must be set.
items:
nullable: true
type: string
nullable: true
type: array
apiVersion:
description: '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'
type: string
defaultClientSecretName:
description: DefaultClientSecretName overrides the GitRepo's default
client secret.
nullable: true
type: string
defaultServiceAccount:
description: DefaultServiceAccount overrides the GitRepo's default service
account.
nullable: true
type: string
kind:
description: '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'
type: string
metadata:
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: gitrepos.fleet.cattle.io
spec:
group: fleet.cattle.io
names:
categories:
- fleet
kind: GitRepo
plural: gitrepos
singular: gitrepo
preserveUnknownFields: false
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .spec.repo
name: Repo
type: string
- jsonPath: .status.commit
name: Commit
type: string
- jsonPath: .status.display.readyBundleDeployments
name: BundleDeployments-Ready
type: string
- jsonPath: .status.conditions[?(@.type=="Ready")].message
name: Status
type: string
name: v1alpha1
schema:
openAPIV3Schema:
description: GitRepo describes a git repository that is watched by Fleet.
The resource contains the necessary information to deploy the repo, or
parts of it, to target clusters.
properties:
apiVersion:
description: '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'
type: string
kind:
description: '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'
type: string
metadata:
type: object
spec:
properties:
branch:
description: Branch The git branch to follow.
nullable: true
type: string
caBundle:
description: CABundle is a PEM encoded CA bundle which will be used
to validate the repo's certificate.
nullable: true
type: string
clientSecretName:
description: ClientSecretName is the name of the client secret to
be used to connect to the repo It is expected the secret be of
type "kubernetes.io/basic-auth" or "kubernetes.io/ssh-auth".
nullable: true
type: string
correctDrift:
description: CorrectDrift specifies how drift correction should
work.
nullable: true
properties:
enabled:
description: Enabled correct drift if true.
type: boolean
force:
description: Force helm rollback with --force option will be
used if true. This will try to recreate all resources in the
release.
type: boolean
keepFailHistory:
description: KeepFailHistory keeps track of failed rollbacks
in the helm history.
type: boolean
type: object
forceSyncGeneration:
description: Increment this number to force a redeployment of contents
from Git.
type: integer
helmRepoURLRegex:
description: HelmRepoURLRegex Helm credentials will be used if the
helm repo matches this regex Credentials will always be used if
this is empty or not provided.
nullable: true
type: string
helmSecretName:
description: HelmSecretName contains the auth secret for a private
Helm repository.
nullable: true
type: string
helmSecretNameForPaths:
description: HelmSecretNameForPaths contains the auth secret for
private Helm repository for each path.
nullable: true
type: string
imageScanCommit:
description: Commit specifies how to commit to the git repo when
a new image is scanned and written back to git repo.
properties:
authorEmail:
description: AuthorEmail gives the email to provide when making
a commit
nullable: true
type: string
authorName:
description: AuthorName gives the name to provide when making
a commit
nullable: true
type: string
messageTemplate:
description: MessageTemplate provides a template for the commit
message, into which will be interpolated the details of the
change made.
nullable: true
type: string
type: object
imageScanInterval:
description: ImageScanInterval is the interval of syncing scanned
images and writing back to git repo.
nullable: true
type: string
insecureSkipTLSVerify:
description: InsecureSkipTLSverify will use insecure HTTPS to clone
the repo.
type: boolean
keepResources:
description: KeepResources specifies if the resources created must
be kept after deleting the GitRepo.
type: boolean
paths:
description: Paths is the directories relative to the git repo root
that contain resources to be applied. Path globbing is supported,
for example ["charts/*"] will match all folders as a subdirectory
of charts/ If empty, "/" is the default.
items:
nullable: true
type: string
nullable: true
type: array
paused:
description: Paused, when true, causes changes in Git not to be
propagated down to the clusters but instead to mark resources
as OutOfSync.
type: boolean
pollingInterval:
description: PollingInterval is how often to check git for new updates.
nullable: true
type: string
repo:
description: Repo is a URL to a git repo to clone and index.
nullable: true
type: string
revision:
description: Revision A specific commit or tag to operate on.
nullable: true
type: string
serviceAccount:
description: ServiceAccount used in the downstream cluster for deployment.
nullable: true
type: string
targetNamespace:
description: Ensure that all resources are created in this namespace
Any cluster scoped resource will be rejected if this is set Additionally
this namespace will be created on demand.
nullable: true
type: string
targets:
description: Targets is a list of targets this repo will deploy
to.
items:
description: GitTarget is a cluster or cluster group to deploy
to.
properties:
clusterGroup:
description: ClusterGroup is the name of a cluster group in
the same namespace as the clusters.
nullable: true
type: string
clusterGroupSelector:
description: ClusterGroupSelector is a label selector to select
cluster groups.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label selector
requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector
that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the selector
applies to.
nullable: true
type: string
operator:
description: operator represents a key's relationship
to a set of values. Valid operators are In, NotIn,
Exists and DoesNotExist.
nullable: true
type: string
values:
description: values is an array of string values.
If the operator is In or NotIn, the values array
must be non-empty. If the operator is Exists or
DoesNotExist, the values array must be empty.
This array is replaced during a strategic merge
patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchLabels:
additionalProperties:
nullable: true
type: string
description: matchLabels is a map of {key,value} pairs.
A single {key,value} in the matchLabels map is equivalent
to an element of matchExpressions, whose key field is
"key", the operator is "In", and the values array contains
only "value". The requirements are ANDed.
nullable: true
type: object
type: object
clusterName:
description: ClusterName is the name of a cluster.
nullable: true
type: string
clusterSelector:
description: ClusterSelector is a label selector to select
clusters.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label selector
requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector
that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the selector
applies to.
nullable: true
type: string
operator:
description: operator represents a key's relationship
to a set of values. Valid operators are In, NotIn,
Exists and DoesNotExist.
nullable: true
type: string
values:
description: values is an array of string values.
If the operator is In or NotIn, the values array
must be non-empty. If the operator is Exists or
DoesNotExist, the values array must be empty.
This array is replaced during a strategic merge
patch.
items:
nullable: true
type: string
nullable: true
type: array
type: object
nullable: true
type: array
matchLabels:
additionalProperties:
nullable: true
type: string
description: matchLabels is a map of {key,value} pairs.
A single {key,value} in the matchLabels map is equivalent
to an element of matchExpressions, whose key field is
"key", the operator is "In", and the values array contains
only "value". The requirements are ANDed.
nullable: true
type: object
type: object
name:
description: Name is the name of this target.
nullable: true
type: string
type: object
nullable: true
type: array
type: object
status:
properties:
commit:
description: Commit is the Git commit hash from the last gitjob
run.
nullable: true
type: string
conditions:
description: Conditions is a list of Wrangler conditions that describe
the state of the GitRepo.
items:
properties:
lastTransitionTime:
description: Last time the condition transitioned from one
status to another.
nullable: true
type: string
lastUpdateTime:
description: The last time this condition was updated.
nullable: true
type: string
message:
description: Human-readable message indicating details about
last transition
nullable: true
type: string
reason:
description: The reason for the condition's last transition.
nullable: true
type: string
status:
description: Status of the condition, one of True, False,
Unknown.
nullable: true
type: string
type:
description: Type of cluster condition.
nullable: true
type: string
type: object
nullable: true
type: array
desiredReadyClusters:
description: "DesiredReadyClusters\tis the number of clusters that\
\ should be ready for bundles of this GitRepo."
type: integer
display:
description: Display contains a human readable summary of the status.
properties:
error:
description: Error is true if a message is present.
type: boolean
message:
description: Message contains the relevant message from the
deployment conditions.
nullable: true
type: string
readyBundleDeployments:
description: ReadyBundleDeployments is a string in the form
"%d/%d", that describes the number of ready bundledeployments
over the total number of bundledeployments.
nullable: true
type: string
state:
description: State is the state of the GitRepo, e.g. "GitUpdating"
or the maximal BundleState according to StateRank.
nullable: true
type: string
type: object
gitJobStatus:
description: GitJobStatus is the status of the last GitJob run,
e.g. "Current" if there was no error.
nullable: true
type: string
lastSyncedImageScanTime:
description: LastSyncedImageScanTime is the time of the last image
scan.
nullable: true
type: string
observedGeneration:
description: ObservedGeneration is the current generation of the
resource in the cluster. It is copied from k8s metadata.Generation.
The value is incremented for all changes, except for changes to
.metadata or .status.
type: integer
readyClusters:
description: ReadyClusters is the lowest number of clusters that
are ready over all the bundles of this GitRepo.
type: integer
resourceCounts:
description: ResourceCounts contains the number of resources in
each state over all bundles.
properties:
desiredReady:
description: DesiredReady is the number of resources that should
be ready.
type: integer
missing:
description: Missing is the number of missing resources.
type: integer
modified:
description: Modified is the number of resources that have been
modified.
type: integer
notReady:
description: NotReady is the number of not ready resources.
Resources are not ready if they do not match any other state.
type: integer
orphaned:
description: Orphaned is the number of orphaned resources.
type: integer
ready:
description: Ready is the number of ready resources.
type: integer
unknown:
description: Unknown is the number of resources in an unknown
state.
type: integer
waitApplied:
description: WaitApplied is the number of resources that are
waiting to be applied.
type: integer
type: object
resourceErrors:
description: ResourceErrors is a sorted list of errors from the
resources.
items:
nullable: true
type: string
nullable: true
type: array
resources:
description: Resources contains metadata about the resources of
each bundle.
items:
description: GitRepoResource contains metadata about the resources
of a bundle.
properties:
apiVersion:
description: APIVersion is the API version of the resource.
nullable: true
type: string
error:
description: Error is true if any Error in the PerClusterState
is true.
type: boolean
id:
description: ID is the name of the resource, e.g. "namespace1/my-config"
or "backingimagemanagers.storage.io".
nullable: true
type: string
incompleteState:
description: IncompleteState is true if a bundle summary has
10 or more non-ready resources or a non-ready resource has
more 10 or more non-ready or modified states.
type: boolean
kind:
description: Kind is the k8s kind of the resource.
nullable: true
type: string
message:
description: Message is the first message from the PerClusterStates.
nullable: true
type: string
name:
description: Name of the resource.
nullable: true
type: string
namespace:
description: Namespace of the resource.
nullable: true
type: string
perClusterState:
description: PerClusterState is a list of states for each
cluster. Derived from the summaries non-ready resources.
items:
description: ResourcePerClusterState is generated for each
non-ready resource of the bundles.
properties:
clusterId:
description: ClusterID is the id of the cluster.
nullable: true
type: string
error:
description: Error is true if the resource is in an
error state, copied from the bundle's summary for
non-ready resources.
type: boolean
message:
description: Message combines the messages from the
bundle's summary. Messages are joined with the delimiter
';'.
nullable: true
type: string
patch:
description: Patch for modified resources.
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
state:
description: State is the state of the resource.
nullable: true
type: string
transitioning:
description: Transitioning is true if the resource is
in a transitioning state, copied from the bundle's
summary for non-ready resources.
type: boolean
type: object
nullable: true
type: array
state:
description: State is the state of the resource, e.g. "Unknown",
"WaitApplied", "ErrApplied" or "Ready".
nullable: true
type: string
transitioning:
description: Transitioning is true if any Transitioning in
the PerClusterState is true.
type: boolean
type:
description: Type is the type of the resource, e.g. "apiextensions.k8s.io.customresourcedefinition"
or "configmap".
nullable: true
type: string
type: object
nullable: true
type: array
summary:
description: Summary contains the number of bundle deployments in
each state and a list of non-ready resources.
properties:
desiredReady:
description: DesiredReady is the number of bundle deployments
that should be ready.
type: integer
errApplied:
description: 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.
type: integer
modified:
description: 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.
type: integer
nonReadyResources:
description: NonReadyClusters is a list of states, which is
filled for a bundle that is not ready.
items:
description: 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.
properties:
bundleState:
description: State is the state of the resource, like
e.g. "NotReady" or "ErrApplied".
nullable: true
type: string
message:
description: Message contains information why the bundle
is not ready.
nullable: true
type: string
modifiedStatus:
description: ModifiedStatus lists the state for each modified
resource.
items:
description: ModifiedStatus is used to report the status
of a resource that is modified. It indicates if the
modification was a create, a delete or a patch.
properties:
apiVersion:
nullable: true
type: string
delete:
type: boolean
kind:
nullable: true
type: string
missing:
type: boolean
name:
nullable: true
type: string
namespace:
nullable: true
type: string
patch:
nullable: true
type: string
type: object
nullable: true
type: array
name:
description: Name is the name of the resource.
nullable: true
type: string
nonReadyStatus:
description: NonReadyStatus lists the state for each non-ready
resource.
items:
description: NonReadyStatus is used to report the status
of a resource that is not ready. It includes a summary.
properties:
apiVersion:
nullable: true
type: string
kind:
nullable: true
type: string
name:
nullable: true
type: string
namespace:
nullable: true
type: string
summary:
properties:
error:
type: boolean
message:
items:
nullable: true
type: string
nullable: true
type: array
state:
nullable: true
type: string
transitioning:
type: boolean
type: object
uid:
description: UID is a type that holds unique ID
values, including UUIDs. Because we don't ONLY
use UUIDs, this is an alias to string. Being
a type captures intent and helps make sure that
UIDs and names do not get conflated.
nullable: true
type: string
type: object
nullable: true
type: array
type: object
nullable: true
type: array
notReady:
description: NotReady is the number of bundle deployments that
have been deployed where some resources are not ready.
type: integer
outOfSync:
description: OutOfSync is the number of bundle deployments that
have been synced from Fleet controller, but not yet by the
downstream agent.
type: integer
pending:
description: Pending is the number of bundle deployments that
are being processed by Fleet controller.
type: integer
ready:
description: Ready is the number of bundle deployments that
have been deployed where all resources are ready.
type: integer
waitApplied:
description: WaitApplied is the number of bundle deployments
that have been synced from Fleet controller and downstream
cluster, but are waiting to be deployed.
type: integer
type: object
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: imagescans.fleet.cattle.io
spec:
group: fleet.cattle.io
names:
categories:
- fleet
kind: ImageScan
plural: imagescans
singular: imagescan
preserveUnknownFields: false
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .spec.image
name: Repository
type: string
- jsonPath: .status.latestTag
name: Latest
type: string
name: v1alpha1
schema:
openAPIV3Schema:
properties:
apiVersion:
description: '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'
type: string
kind:
description: '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'
type: string
metadata:
type: object
spec:
description: API is taken from https://github.com/fluxcd/image-reflector-controller
properties:
gitrepoName:
description: GitRepo reference name
nullable: true
type: string
image:
description: Image is the name of the image repository
nullable: true
type: string
interval:
description: Interval is the length of time to wait between scans
of the image repository.
nullable: true
type: string
policy:
description: Policy gives the particulars of the policy to be followed
in selecting the most recent image
properties:
alphabetical:
description: Alphabetical set of rules to use for alphabetical
ordering of the tags.
nullable: true
properties:
order:
description: Order specifies the sorting order of the tags.
Given the letters of the alphabet as tags, ascending order
would select Z, and descending order would select A.
nullable: true
type: string
type: object
semver:
description: SemVer gives a semantic version range to check
against the tags available.
nullable: true
properties:
range:
description: Range gives a semver range for the image tag;
the highest version within the range that's a tag yields
the latest image.
nullable: true
type: string
type: object
type: object
secretRef:
description: SecretRef can be given the name of a secret containing
credentials to use for the image registry. The secret should be
created with `kubectl create secret docker-registry`, or the equivalent.
nullable: true
properties:
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
nullable: true
type: string
type: object
suspend:
description: This flag tells the controller to suspend subsequent
image scans. It does not apply to already started scans. Defaults
to false.
type: boolean
tagName:
description: TagName is the tag ref that needs to be put in manifest
to replace fields
nullable: true
type: string
type: object
status:
properties:
canonicalImageName:
description: CanonicalName is the name of the image repository with
all the implied bits made explicit; e.g., `docker.io/library/alpine`
rather than `alpine`.
nullable: true
type: string
conditions:
items:
properties:
lastTransitionTime:
description: Last time the condition transitioned from one
status to another.
nullable: true
type: string
lastUpdateTime:
description: The last time this condition was updated.
nullable: true
type: string
message:
description: Human-readable message indicating details about
last transition
nullable: true
type: string
reason:
description: The reason for the condition's last transition.
nullable: true
type: string
status:
description: Status of the condition, one of True, False,
Unknown.
nullable: true
type: string
type:
description: Type of cluster condition.
nullable: true
type: string
type: object
nullable: true
type: array
lastScanTime:
description: LastScanTime is the last time image was scanned
nullable: true
type: string
latestDigest:
description: LatestDigest is the digest of latest tag
nullable: true
type: string
latestImage:
description: LatestImage gives the first in the list of images scanned
by the image repository, when filtered and ordered according to
the policy.
nullable: true
type: string
latestTag:
description: Latest tag is the latest tag filtered by the policy
nullable: true
type: string
observedGeneration:
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}