charts/versions/kruise/1.4.1/templates/apps.kruise.io_resourcedist...

182 lines
8.6 KiB
YAML

{{- if .Values.crds.managed }}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.7.0
creationTimestamp: null
name: resourcedistributions.apps.kruise.io
spec:
group: apps.kruise.io
names:
kind: ResourceDistribution
listKind: ResourceDistributionList
plural: resourcedistributions
shortNames:
- distributor
singular: resourcedistribution
scope: Cluster
versions:
- additionalPrinterColumns:
- description: The desired number of desired distribution and syncs.
jsonPath: .status.desired
name: TOTAL
type: integer
- description: The number of successful distribution and syncs.
jsonPath: .status.succeeded
name: SUCCEED
type: integer
- description: The number of failed distributions and syncs.
jsonPath: .status.failed
name: FAILED
type: integer
name: v1alpha1
schema:
openAPIV3Schema:
description: ResourceDistribution is the Schema for the resourcedistributions API.
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: ResourceDistributionSpec defines the desired state of ResourceDistribution.
properties:
resource:
description: Resource must be the complete yaml that users want to distribute.
type: object
x-kubernetes-embedded-resource: true
x-kubernetes-preserve-unknown-fields: true
targets:
description: Targets defines the namespaces that users want to distribute to.
properties:
allNamespaces:
description: If AllNamespaces is true, Resource will be distributed to the all namespaces (except some forbidden namespaces, such as "kube-system" and "kube-public").
type: boolean
excludedNamespaces:
description: If ExcludedNamespaces is not empty, Resource will never be distributed to the listed namespaces. ExcludedNamespaces has the highest priority.
properties:
list:
items:
description: ResourceDistributionNamespace contains a namespace name
properties:
name:
description: Namespace name
type: string
type: object
type: array
type: object
includedNamespaces:
description: If IncludedNamespaces is not empty, Resource will be distributed to the listed namespaces.
properties:
list:
items:
description: ResourceDistributionNamespace contains a namespace name
properties:
name:
description: Namespace name
type: string
type: object
type: array
type: object
namespaceLabelSelector:
description: If NamespaceLabelSelector is not empty, Resource will be distributed to the matched 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
required:
- key
- operator
type: object
type: array
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
type: object
required:
- resource
- targets
type: object
status:
description: ResourceDistributionStatus defines the observed state of ResourceDistribution. ResourceDistributionStatus is recorded by kruise, users' modification is invalid and meaningless.
properties:
conditions:
description: Conditions describe the condition when Resource creating, updating and deleting.
items:
description: ResourceDistributionCondition allows a row to be marked with additional information.
properties:
failedNamespace:
description: FailedNamespaces describe all failed namespaces when Status is False
items:
type: string
type: array
lastTransitionTime:
description: LastTransitionTime is the last time the condition transitioned from one status to another.
format: date-time
type: string
reason:
description: Reason describe human readable message indicating details about last transition.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type of ResourceDistributionCondition.
type: string
required:
- status
- type
type: object
type: array
desired:
description: Desired represents the number of total target namespaces.
format: int32
type: integer
failed:
description: Failed represents the number of failed distributions.
format: int32
type: integer
observedGeneration:
description: ObservedGeneration represents the .metadata.generation that the condition was set based upon.
format: int64
type: integer
succeeded:
description: Succeeded represents the number of successful distributions.
format: int32
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
{{- end }}