diff --git a/versions/1.0.0-beta.0/templates/apps.kruise.io_resourcedistribution.yaml b/versions/1.0.0-beta.0/templates/apps.kruise.io_resourcedistribution.yaml new file mode 100644 index 0000000..4dc57b4 --- /dev/null +++ b/versions/1.0.0-beta.0/templates/apps.kruise.io_resourcedistribution.yaml @@ -0,0 +1,167 @@ +{{- 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 + singular: resourcedistribution + scope: Cluster + versions: + - 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 }} \ No newline at end of file