mirror of https://git.rancher.io/charts
7070 lines
320 KiB
YAML
7070 lines
320 KiB
YAML
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: bundledeployments.fleet.cattle.io
|
|
spec:
|
|
group: fleet.cattle.io
|
|
names:
|
|
kind: BundleDeployment
|
|
listKind: BundleDeploymentList
|
|
plural: bundledeployments
|
|
singular: bundledeployment
|
|
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.
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'operator represents a key''s relationship
|
|
to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
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.'
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
nullable: true
|
|
type: array
|
|
deploymentID:
|
|
description: DeploymentID is the ID of the currently applied deployment.
|
|
nullable: true
|
|
type: string
|
|
ociContents:
|
|
description: OCIContents is true when this deployment's contents
|
|
is stored in an oci registry
|
|
type: boolean
|
|
options:
|
|
description: Options are the deployment options, that are currently
|
|
applied.
|
|
properties:
|
|
correctDrift:
|
|
description: CorrectDrift specifies how drift correction should
|
|
work.
|
|
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
|
|
deleteNamespace:
|
|
description: DeleteNamespace can be used to delete the deployed
|
|
namespace when removing the bundle
|
|
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:
|
|
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
|
|
format: int64
|
|
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
|
|
disableDependencyUpdate:
|
|
description: DisableDependencyUpdate allows skipping chart
|
|
dependencies update
|
|
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:
|
|
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:
|
|
type: string
|
|
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:
|
|
type: string
|
|
description: NamespaceAnnotations are annotations that will
|
|
be appended to the namespace created by Fleet.
|
|
nullable: true
|
|
type: object
|
|
namespaceLabels:
|
|
additionalProperties:
|
|
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:
|
|
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.
|
|
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
|
|
deleteNamespace:
|
|
description: DeleteNamespace can be used to delete the deployed
|
|
namespace when removing the bundle
|
|
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:
|
|
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
|
|
format: int64
|
|
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
|
|
disableDependencyUpdate:
|
|
description: DisableDependencyUpdate allows skipping chart
|
|
dependencies update
|
|
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:
|
|
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:
|
|
type: string
|
|
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:
|
|
type: string
|
|
description: NamespaceAnnotations are annotations that will
|
|
be appended to the namespace created by Fleet.
|
|
nullable: true
|
|
type: object
|
|
namespaceLabels:
|
|
additionalProperties:
|
|
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:
|
|
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.
|
|
type: string
|
|
lastUpdateTime:
|
|
description: The last time this condition was updated.
|
|
type: string
|
|
message:
|
|
description: Human-readable message indicating details about
|
|
last transition
|
|
type: string
|
|
reason:
|
|
description: The reason for the condition's last transition.
|
|
type: string
|
|
status:
|
|
description: Status of the condition, one of True, False,
|
|
Unknown.
|
|
type: string
|
|
type:
|
|
description: Type of cluster condition.
|
|
type: string
|
|
required:
|
|
- status
|
|
- type
|
|
type: object
|
|
nullable: true
|
|
type: array
|
|
display:
|
|
nullable: true
|
|
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:
|
|
type: string
|
|
type: array
|
|
state:
|
|
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:
|
|
format: date-time
|
|
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:
|
|
format: int64
|
|
nullable: true
|
|
type: integer
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: bundlenamespacemappings.fleet.cattle.io
|
|
spec:
|
|
group: fleet.cattle.io
|
|
names:
|
|
kind: BundleNamespaceMapping
|
|
listKind: BundleNamespaceMappingList
|
|
plural: bundlenamespacemappings
|
|
singular: bundlenamespacemapping
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'operator represents a key''s relationship to
|
|
a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
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.'
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'operator represents a key''s relationship to
|
|
a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
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.'
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: bundles.fleet.cattle.io
|
|
spec:
|
|
group: fleet.cattle.io
|
|
names:
|
|
kind: Bundle
|
|
listKind: BundleList
|
|
plural: bundles
|
|
singular: bundle
|
|
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.
|
|
|
|
|
|
|
|
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:
|
|
contentsId:
|
|
description: ContentsID stores the contents id when deploying contents
|
|
using an OCI registry.
|
|
nullable: true
|
|
type: string
|
|
correctDrift:
|
|
description: CorrectDrift specifies how drift correction should
|
|
work.
|
|
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
|
|
deleteNamespace:
|
|
description: DeleteNamespace can be used to delete the deployed
|
|
namespace when removing the bundle
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'operator represents a key''s relationship
|
|
to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
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.'
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
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:
|
|
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
|
|
format: int64
|
|
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
|
|
disableDependencyUpdate:
|
|
description: DisableDependencyUpdate allows skipping chart dependencies
|
|
update
|
|
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:
|
|
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:
|
|
type: string
|
|
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:
|
|
type: string
|
|
description: NamespaceAnnotations are annotations that will be appended
|
|
to the namespace created by Fleet.
|
|
nullable: true
|
|
type: object
|
|
namespaceLabels:
|
|
additionalProperties:
|
|
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:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
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:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
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:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
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
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'operator represents a key''s relationship
|
|
to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists and
|
|
DoesNotExist.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
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.'
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
clusterName:
|
|
description: ClusterName is the name of a cluster to include
|
|
in this partition
|
|
type: string
|
|
clusterSelector:
|
|
description: Selector matching cluster labels to include
|
|
in this partition
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'operator represents a key''s relationship
|
|
to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists and
|
|
DoesNotExist.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
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.'
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
maxUnavailable:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: 'A number or percentage of clusters that
|
|
can be unavailable in this
|
|
|
|
partition before this partition is treated as done.
|
|
|
|
default: 10%'
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'operator represents a key''s relationship
|
|
to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
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.'
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'operator represents a key''s relationship
|
|
to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
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.'
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
name:
|
|
nullable: true
|
|
type: string
|
|
type: object
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'operator represents a key''s relationship
|
|
to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
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.'
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'operator represents a key''s relationship
|
|
to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
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.'
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
correctDrift:
|
|
description: CorrectDrift specifies how drift correction should
|
|
work.
|
|
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
|
|
deleteNamespace:
|
|
description: DeleteNamespace can be used to delete the deployed
|
|
namespace when removing the bundle
|
|
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:
|
|
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
|
|
format: int64
|
|
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
|
|
disableDependencyUpdate:
|
|
description: DisableDependencyUpdate allows skipping chart
|
|
dependencies update
|
|
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:
|
|
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:
|
|
type: string
|
|
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'
|
|
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:
|
|
type: string
|
|
description: NamespaceAnnotations are annotations that will
|
|
be appended to the namespace created by Fleet.
|
|
nullable: true
|
|
type: object
|
|
namespaceLabels:
|
|
additionalProperties:
|
|
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:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
type: object
|
|
type: object
|
|
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:
|
|
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.
|
|
type: string
|
|
lastUpdateTime:
|
|
description: The last time this condition was updated.
|
|
type: string
|
|
message:
|
|
description: Human-readable message indicating details about
|
|
last transition
|
|
type: string
|
|
reason:
|
|
description: The reason for the condition's last transition.
|
|
type: string
|
|
status:
|
|
description: Status of the condition, one of True, False,
|
|
Unknown.
|
|
type: string
|
|
type:
|
|
description: Type of cluster condition.
|
|
type: string
|
|
required:
|
|
- status
|
|
- type
|
|
type: object
|
|
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.
|
|
format: int64
|
|
type: integer
|
|
ociReference:
|
|
description: 'OCIReference is the OCI reference used to store contents,
|
|
this is
|
|
|
|
only for informational purposes.'
|
|
type: string
|
|
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:
|
|
type: string
|
|
type: array
|
|
state:
|
|
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
|
|
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
|
|
resourcesSha256Sum:
|
|
description: ResourcesSHA256Sum corresponds to the JSON serialization
|
|
of the .Spec.Resources field
|
|
type: string
|
|
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:
|
|
type: string
|
|
type: array
|
|
state:
|
|
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:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: clustergroups.fleet.cattle.io
|
|
spec:
|
|
group: fleet.cattle.io
|
|
names:
|
|
categories:
|
|
- fleet
|
|
kind: ClusterGroup
|
|
listKind: ClusterGroupList
|
|
plural: clustergroups
|
|
singular: clustergroup
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'operator represents a key''s relationship
|
|
to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
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.'
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
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.
|
|
type: string
|
|
lastUpdateTime:
|
|
description: The last time this condition was updated.
|
|
type: string
|
|
message:
|
|
description: Human-readable message indicating details about
|
|
last transition
|
|
type: string
|
|
reason:
|
|
description: The reason for the condition's last transition.
|
|
type: string
|
|
status:
|
|
description: Status of the condition, one of True, False,
|
|
Unknown.
|
|
type: string
|
|
type:
|
|
description: Type of cluster condition.
|
|
type: string
|
|
required:
|
|
- status
|
|
- type
|
|
type: object
|
|
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:
|
|
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:
|
|
type: string
|
|
type: array
|
|
state:
|
|
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:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: clusterregistrations.fleet.cattle.io
|
|
spec:
|
|
group: fleet.cattle.io
|
|
names:
|
|
kind: ClusterRegistration
|
|
listKind: ClusterRegistrationList
|
|
plural: clusterregistrations
|
|
singular: clusterregistration
|
|
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:
|
|
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:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: clusterregistrationtokens.fleet.cattle.io
|
|
spec:
|
|
group: fleet.cattle.io
|
|
names:
|
|
kind: ClusterRegistrationToken
|
|
listKind: ClusterRegistrationTokenList
|
|
plural: clusterregistrationtokens
|
|
singular: clusterregistrationtoken
|
|
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:
|
|
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.
|
|
format: date-time
|
|
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:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: clusters.fleet.cattle.io
|
|
spec:
|
|
group: fleet.cattle.io
|
|
names:
|
|
kind: Cluster
|
|
listKind: ClusterList
|
|
plural: clusters
|
|
singular: cluster
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .status.display.readyBundles
|
|
name: Bundles-Ready
|
|
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:
|
|
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.
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'Represents a key''s relationship
|
|
to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists,
|
|
DoesNotExist. Gt, and Lt.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'Represents a key''s relationship
|
|
to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists,
|
|
DoesNotExist. Gt, and Lt.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
weight:
|
|
description: Weight associated with matching the corresponding
|
|
nodeSelectorTerm, in the range 1-100.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- preference
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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.'
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'Represents a key''s relationship
|
|
to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists,
|
|
DoesNotExist. Gt, and Lt.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'Represents a key''s relationship
|
|
to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists,
|
|
DoesNotExist. Gt, and Lt.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- nodeSelectorTerms
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
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)).
|
|
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.
|
|
|
|
If it''s null, this PodAffinityTerm matches
|
|
with no Pods.'
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'operator represents a
|
|
key''s relationship to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists
|
|
and DoesNotExist.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
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.'
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
description: 'MatchLabelKeys is a set of pod label
|
|
keys to select which pods will
|
|
|
|
be taken into consideration. The keys are used
|
|
to lookup values from the
|
|
|
|
incoming pod labels, those key-value labels
|
|
are merged with `labelSelector` as `key in (value)`
|
|
|
|
to select the group of existing pods which pods
|
|
will be taken into consideration
|
|
|
|
for the incoming pod''s pod (anti) affinity.
|
|
Keys that don''t exist in the incoming
|
|
|
|
pod labels will be ignored. The default value
|
|
is empty.
|
|
|
|
The same key is forbidden to exist in both matchLabelKeys
|
|
and labelSelector.
|
|
|
|
Also, matchLabelKeys cannot be set when labelSelector
|
|
isn''t set.
|
|
|
|
This is an alpha field and requires enabling
|
|
MatchLabelKeysInPodAffinity feature gate.'
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
description: 'MismatchLabelKeys is a set of pod
|
|
label keys to select which pods will
|
|
|
|
be taken into consideration. The keys are used
|
|
to lookup values from the
|
|
|
|
incoming pod labels, those key-value labels
|
|
are merged with `labelSelector` as `key notin
|
|
(value)`
|
|
|
|
to select the group of existing pods which pods
|
|
will be taken into consideration
|
|
|
|
for the incoming pod''s pod (anti) affinity.
|
|
Keys that don''t exist in the incoming
|
|
|
|
pod labels will be ignored. The default value
|
|
is empty.
|
|
|
|
The same key is forbidden to exist in both mismatchLabelKeys
|
|
and labelSelector.
|
|
|
|
Also, mismatchLabelKeys cannot be set when labelSelector
|
|
isn''t set.
|
|
|
|
This is an alpha field and requires enabling
|
|
MatchLabelKeysInPodAffinity feature gate.'
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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.'
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'operator represents a
|
|
key''s relationship to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists
|
|
and DoesNotExist.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
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.'
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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.'
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
description: 'weight associated with matching the
|
|
corresponding podAffinityTerm,
|
|
|
|
in the range 1-100.'
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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.
|
|
|
|
If it''s null, this PodAffinityTerm matches with
|
|
no Pods.'
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'operator represents a key''s
|
|
relationship to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists
|
|
and DoesNotExist.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
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.'
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
description: 'MatchLabelKeys is a set of pod label
|
|
keys to select which pods will
|
|
|
|
be taken into consideration. The keys are used to
|
|
lookup values from the
|
|
|
|
incoming pod labels, those key-value labels are
|
|
merged with `labelSelector` as `key in (value)`
|
|
|
|
to select the group of existing pods which pods
|
|
will be taken into consideration
|
|
|
|
for the incoming pod''s pod (anti) affinity. Keys
|
|
that don''t exist in the incoming
|
|
|
|
pod labels will be ignored. The default value is
|
|
empty.
|
|
|
|
The same key is forbidden to exist in both matchLabelKeys
|
|
and labelSelector.
|
|
|
|
Also, matchLabelKeys cannot be set when labelSelector
|
|
isn''t set.
|
|
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity
|
|
feature gate.'
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
description: 'MismatchLabelKeys is a set of pod label
|
|
keys to select which pods will
|
|
|
|
be taken into consideration. The keys are used to
|
|
lookup values from the
|
|
|
|
incoming pod labels, those key-value labels are
|
|
merged with `labelSelector` as `key notin (value)`
|
|
|
|
to select the group of existing pods which pods
|
|
will be taken into consideration
|
|
|
|
for the incoming pod''s pod (anti) affinity. Keys
|
|
that don''t exist in the incoming
|
|
|
|
pod labels will be ignored. The default value is
|
|
empty.
|
|
|
|
The same key is forbidden to exist in both mismatchLabelKeys
|
|
and labelSelector.
|
|
|
|
Also, mismatchLabelKeys cannot be set when labelSelector
|
|
isn''t set.
|
|
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity
|
|
feature gate.'
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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.'
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'operator represents a key''s
|
|
relationship to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists
|
|
and DoesNotExist.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
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.'
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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.'
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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)).
|
|
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.
|
|
|
|
If it''s null, this PodAffinityTerm matches
|
|
with no Pods.'
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'operator represents a
|
|
key''s relationship to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists
|
|
and DoesNotExist.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
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.'
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
description: 'MatchLabelKeys is a set of pod label
|
|
keys to select which pods will
|
|
|
|
be taken into consideration. The keys are used
|
|
to lookup values from the
|
|
|
|
incoming pod labels, those key-value labels
|
|
are merged with `labelSelector` as `key in (value)`
|
|
|
|
to select the group of existing pods which pods
|
|
will be taken into consideration
|
|
|
|
for the incoming pod''s pod (anti) affinity.
|
|
Keys that don''t exist in the incoming
|
|
|
|
pod labels will be ignored. The default value
|
|
is empty.
|
|
|
|
The same key is forbidden to exist in both matchLabelKeys
|
|
and labelSelector.
|
|
|
|
Also, matchLabelKeys cannot be set when labelSelector
|
|
isn''t set.
|
|
|
|
This is an alpha field and requires enabling
|
|
MatchLabelKeysInPodAffinity feature gate.'
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
description: 'MismatchLabelKeys is a set of pod
|
|
label keys to select which pods will
|
|
|
|
be taken into consideration. The keys are used
|
|
to lookup values from the
|
|
|
|
incoming pod labels, those key-value labels
|
|
are merged with `labelSelector` as `key notin
|
|
(value)`
|
|
|
|
to select the group of existing pods which pods
|
|
will be taken into consideration
|
|
|
|
for the incoming pod''s pod (anti) affinity.
|
|
Keys that don''t exist in the incoming
|
|
|
|
pod labels will be ignored. The default value
|
|
is empty.
|
|
|
|
The same key is forbidden to exist in both mismatchLabelKeys
|
|
and labelSelector.
|
|
|
|
Also, mismatchLabelKeys cannot be set when labelSelector
|
|
isn''t set.
|
|
|
|
This is an alpha field and requires enabling
|
|
MatchLabelKeysInPodAffinity feature gate.'
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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.'
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'operator represents a
|
|
key''s relationship to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists
|
|
and DoesNotExist.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
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.'
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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.'
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
description: 'weight associated with matching the
|
|
corresponding podAffinityTerm,
|
|
|
|
in the range 1-100.'
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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.
|
|
|
|
If it''s null, this PodAffinityTerm matches with
|
|
no Pods.'
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'operator represents a key''s
|
|
relationship to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists
|
|
and DoesNotExist.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
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.'
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
description: 'MatchLabelKeys is a set of pod label
|
|
keys to select which pods will
|
|
|
|
be taken into consideration. The keys are used to
|
|
lookup values from the
|
|
|
|
incoming pod labels, those key-value labels are
|
|
merged with `labelSelector` as `key in (value)`
|
|
|
|
to select the group of existing pods which pods
|
|
will be taken into consideration
|
|
|
|
for the incoming pod''s pod (anti) affinity. Keys
|
|
that don''t exist in the incoming
|
|
|
|
pod labels will be ignored. The default value is
|
|
empty.
|
|
|
|
The same key is forbidden to exist in both matchLabelKeys
|
|
and labelSelector.
|
|
|
|
Also, matchLabelKeys cannot be set when labelSelector
|
|
isn''t set.
|
|
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity
|
|
feature gate.'
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
description: 'MismatchLabelKeys is a set of pod label
|
|
keys to select which pods will
|
|
|
|
be taken into consideration. The keys are used to
|
|
lookup values from the
|
|
|
|
incoming pod labels, those key-value labels are
|
|
merged with `labelSelector` as `key notin (value)`
|
|
|
|
to select the group of existing pods which pods
|
|
will be taken into consideration
|
|
|
|
for the incoming pod''s pod (anti) affinity. Keys
|
|
that don''t exist in the incoming
|
|
|
|
pod labels will be ignored. The default value is
|
|
empty.
|
|
|
|
The same key is forbidden to exist in both mismatchLabelKeys
|
|
and labelSelector.
|
|
|
|
Also, mismatchLabelKeys cannot be set when labelSelector
|
|
isn''t set.
|
|
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity
|
|
feature gate.'
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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.'
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'operator represents a key''s
|
|
relationship to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists
|
|
and DoesNotExist.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
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.'
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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.'
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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.
|
|
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 "".'
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the environment variable's value.
|
|
Cannot be used if value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
default: ''
|
|
description: 'Name of the referent.
|
|
|
|
This field is effectively required, but due to backwards
|
|
compatibility is
|
|
|
|
allowed to be empty. Instances of this type with
|
|
an empty value here are
|
|
|
|
almost certainly wrong.
|
|
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?
|
|
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
|
|
TODO: Drop `kubebuilder:default` when controller-gen
|
|
doesn''t need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or its
|
|
key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
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.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath is
|
|
written in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in the specified
|
|
API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
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.'
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes,
|
|
optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of the exposed
|
|
resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
description: Selects a key of a secret in the pod's namespace
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must
|
|
be a valid secret key.
|
|
type: string
|
|
name:
|
|
default: ''
|
|
description: 'Name of the referent.
|
|
|
|
This field is effectively required, but due to backwards
|
|
compatibility is
|
|
|
|
allowed to be empty. Instances of this type with
|
|
an empty value here are
|
|
|
|
almost certainly wrong.
|
|
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?
|
|
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
|
|
TODO: Drop `kubebuilder:default` when controller-gen
|
|
doesn''t need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key
|
|
must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
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.
|
|
|
|
|
|
|
|
This is an alpha field and requires enabling the
|
|
|
|
DynamicResourceAllocation feature gate.
|
|
|
|
|
|
|
|
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.'
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Limits describes the maximum amount of compute
|
|
resources allowed.
|
|
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
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/'
|
|
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.'
|
|
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.'
|
|
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.'
|
|
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.'
|
|
format: int64
|
|
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.'
|
|
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
|
|
hostNetwork:
|
|
description: 'HostNetwork sets the agent StatefulSet to use hostNetwork:
|
|
true setting.
|
|
|
|
Allows for provisioning of network related bundles (CNI configuration).'
|
|
nullable: true
|
|
type: boolean
|
|
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.
|
|
format: int64
|
|
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.'
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
namespace:
|
|
description: Namespace is the namespace of the agent deployment,
|
|
e.g. "cattle-fleet-system".
|
|
nullable: true
|
|
type: string
|
|
type: object
|
|
agentAffinityHash:
|
|
description: 'AgentAffinityHash is a hash of the agent''s affinity
|
|
configuration,
|
|
|
|
used to detect changes.'
|
|
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.
|
|
format: int64
|
|
nullable: true
|
|
type: integer
|
|
agentEnvVarsHash:
|
|
description: AgentEnvVarsHash is a hash of the agent's env vars,
|
|
used to detect changes.
|
|
nullable: true
|
|
type: string
|
|
agentHostNetwork:
|
|
description: AgentHostNetwork defines observed state of spec.hostNetwork
|
|
setting that is currently used.
|
|
nullable: true
|
|
type: boolean
|
|
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.
|
|
type: string
|
|
lastUpdateTime:
|
|
description: The last time this condition was updated.
|
|
type: string
|
|
message:
|
|
description: Human-readable message indicating details about
|
|
last transition
|
|
type: string
|
|
reason:
|
|
description: The reason for the condition's last transition.
|
|
type: string
|
|
status:
|
|
description: Status of the condition, one of True, False,
|
|
Unknown.
|
|
type: string
|
|
type:
|
|
description: Type of cluster condition.
|
|
type: string
|
|
required:
|
|
- status
|
|
- type
|
|
type: object
|
|
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.'
|
|
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"'
|
|
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:
|
|
type: string
|
|
type: array
|
|
state:
|
|
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:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: contents.fleet.cattle.io
|
|
spec:
|
|
group: fleet.cattle.io
|
|
names:
|
|
kind: Content
|
|
listKind: ContentList
|
|
plural: contents
|
|
singular: content
|
|
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.'
|
|
format: byte
|
|
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
|
|
sha256sum:
|
|
description: SHA256Sum of the Content field
|
|
type: string
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: gitreporestrictions.fleet.cattle.io
|
|
spec:
|
|
group: fleet.cattle.io
|
|
names:
|
|
kind: GitRepoRestriction
|
|
listKind: GitRepoRestrictionList
|
|
plural: gitreporestrictions
|
|
singular: gitreporestriction
|
|
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:
|
|
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:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
allowedServiceAccounts:
|
|
description: AllowedServiceAccounts is a list of service accounts that
|
|
GitRepos are allowed to use.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
allowedTargetNamespaces:
|
|
description: 'AllowedTargetNamespaces restricts TargetNamespace to the
|
|
given
|
|
|
|
namespaces. If AllowedTargetNamespaces is set, TargetNamespace must
|
|
|
|
be set.'
|
|
items:
|
|
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:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: gitrepos.fleet.cattle.io
|
|
spec:
|
|
group: fleet.cattle.io
|
|
names:
|
|
categories:
|
|
- fleet
|
|
kind: GitRepo
|
|
listKind: GitRepoList
|
|
plural: gitrepos
|
|
singular: gitrepo
|
|
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.
|
|
format: byte
|
|
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.
|
|
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
|
|
deleteNamespace:
|
|
description: DeleteNamespace specifies if the namespace created
|
|
must be deleted after deleting the GitRepo.
|
|
type: boolean
|
|
disablePolling:
|
|
description: Disables git polling. When enabled only webhooks will
|
|
be used.
|
|
type: boolean
|
|
forceSyncGeneration:
|
|
description: Increment this number to force a redeployment of contents
|
|
from Git.
|
|
format: int64
|
|
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.
|
|
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
|
|
ociRegistry:
|
|
description: OCIRegistry specifies the OCI registry related parameters
|
|
properties:
|
|
authSecretName:
|
|
description: AuthSecretName contains the auth secret where the
|
|
OCI regristry credentials are stored.
|
|
nullable: true
|
|
type: string
|
|
basicHTTP:
|
|
description: BasicHTTP uses HTTP connections to the OCI registry
|
|
when enabled.
|
|
nullable: true
|
|
type: boolean
|
|
insecureSkipTLS:
|
|
description: InsecureSkipTLS allows connections to OCI registry
|
|
without certs when enabled.
|
|
nullable: true
|
|
type: boolean
|
|
reference:
|
|
description: Reference of the OCI Registry
|
|
type: string
|
|
type: object
|
|
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:
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'operator represents a key''s relationship
|
|
to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
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.'
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
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.
|
|
type: string
|
|
operator:
|
|
description: 'operator represents a key''s relationship
|
|
to a set of values.
|
|
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.'
|
|
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:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
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.'
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
name:
|
|
description: Name is the name of this target.
|
|
nullable: true
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
status:
|
|
properties:
|
|
commit:
|
|
description: Commit is the Git commit hash from the last git job
|
|
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.
|
|
type: string
|
|
lastUpdateTime:
|
|
description: The last time this condition was updated.
|
|
type: string
|
|
message:
|
|
description: Human-readable message indicating details about
|
|
last transition
|
|
type: string
|
|
reason:
|
|
description: The reason for the condition's last transition.
|
|
type: string
|
|
status:
|
|
description: Status of the condition, one of True, False,
|
|
Unknown.
|
|
type: string
|
|
type:
|
|
description: Type of cluster condition.
|
|
type: string
|
|
required:
|
|
- status
|
|
- type
|
|
type: object
|
|
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.
|
|
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.'
|
|
type: string
|
|
state:
|
|
description: 'State is the state of the GitRepo, e.g. "GitUpdating"
|
|
or the maximal
|
|
|
|
BundleState according to StateRank.'
|
|
type: string
|
|
type: object
|
|
gitJobStatus:
|
|
description: GitJobStatus is the status of the last Git job run,
|
|
e.g. "Current" if there was no error.
|
|
type: string
|
|
lastPollingTriggered:
|
|
description: LastPollingTime is the last time the polling check
|
|
was triggered
|
|
format: date-time
|
|
type: string
|
|
lastSyncedImageScanTime:
|
|
description: LastSyncedImageScanTime is the time of the last image
|
|
scan.
|
|
format: date-time
|
|
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.'
|
|
format: int64
|
|
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:
|
|
type: string
|
|
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".
|
|
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".
|
|
type: string
|
|
type: object
|
|
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:
|
|
type: string
|
|
type: array
|
|
state:
|
|
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
|
|
updateGeneration:
|
|
description: Update generation is the force update generation if
|
|
spec.forceSyncGeneration is set
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: imagescans.fleet.cattle.io
|
|
spec:
|
|
group: fleet.cattle.io
|
|
names:
|
|
kind: ImageScan
|
|
listKind: ImageScanList
|
|
plural: imagescans
|
|
singular: imagescan
|
|
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:
|
|
default: ''
|
|
description: 'Name of the referent.
|
|
|
|
This field is effectively required, but due to backwards compatibility
|
|
is
|
|
|
|
allowed to be empty. Instances of this type with an empty
|
|
value here are
|
|
|
|
almost certainly wrong.
|
|
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn''t
|
|
need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.'
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
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`.'
|
|
type: string
|
|
conditions:
|
|
items:
|
|
properties:
|
|
lastTransitionTime:
|
|
description: Last time the condition transitioned from one
|
|
status to another.
|
|
type: string
|
|
lastUpdateTime:
|
|
description: The last time this condition was updated.
|
|
type: string
|
|
message:
|
|
description: Human-readable message indicating details about
|
|
last transition
|
|
type: string
|
|
reason:
|
|
description: The reason for the condition's last transition.
|
|
type: string
|
|
status:
|
|
description: Status of the condition, one of True, False,
|
|
Unknown.
|
|
type: string
|
|
type:
|
|
description: Type of cluster condition.
|
|
type: string
|
|
required:
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
lastScanTime:
|
|
description: LastScanTime is the last time image was scanned
|
|
format: date-time
|
|
type: string
|
|
latestDigest:
|
|
description: LatestDigest is the digest of latest tag
|
|
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.'
|
|
type: string
|
|
latestTag:
|
|
description: Latest tag is the latest tag filtered by the policy
|
|
type: string
|
|
observedGeneration:
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|