update crd version from v1beta1 to v1 (#13)

This commit is contained in:
Hongcai Ren 2020-11-13 19:24:34 +08:00 committed by GitHub
parent 5cd57f1043
commit 998992190c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 913 additions and 908 deletions

View File

@ -1,10 +1,10 @@
--- ---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.3.0 controller-gen.kubebuilder.io/version: v0.4.0
creationTimestamp: null creationTimestamp: null
name: memberclusters.membercluster.karmada.io name: memberclusters.membercluster.karmada.io
spec: spec:
@ -15,7 +15,9 @@ spec:
plural: memberclusters plural: memberclusters
singular: membercluster singular: membercluster
scope: Namespaced scope: Namespaced
validation: versions:
- name: v1alpha1
schema:
openAPIV3Schema: openAPIV3Schema:
description: MemberCluster represents the desire state and status of a member description: MemberCluster represents the desire state and status of a member
cluster. cluster.
@ -33,8 +35,8 @@ spec:
metadata: metadata:
type: object type: object
spec: spec:
description: Spec represents the specification of the desired behavior of description: Spec represents the specification of the desired behavior
member cluster. of member cluster.
properties: properties:
accepted: accepted:
description: Accepted represents if the member cluster has been accepted description: Accepted represents if the member cluster has been accepted
@ -44,12 +46,13 @@ spec:
accepted the request from member cluster. accepted the request from member cluster.
type: boolean type: boolean
apiEndpoint: apiEndpoint:
description: The API endpoint of the member cluster. This can be a hostname, description: The API endpoint of the member cluster. This can be a
hostname:port, IP or IP:port. hostname, hostname:port, IP or IP:port.
type: string type: string
manageMode: manageMode:
description: ManageMode specifies the relationship between control plane description: ManageMode specifies the relationship between control
and member cluster, the mode determines how to reach each other. plane and member cluster, the mode determines how to reach each
other.
type: string type: string
provider: provider:
description: Provider represents the cloud provider name of the member description: Provider represents the cloud provider name of the member
@ -61,29 +64,31 @@ spec:
type: string type: string
secretRef: secretRef:
description: 'SecretRef represents the secret contains mandatory credentials description: 'SecretRef represents the secret contains mandatory credentials
to access the member cluster. The secret should hold credentials as to access the member cluster. The secret should hold credentials
follows: - secret.data.token - secret.data.caBundle' as follows: - secret.data.token - secret.data.caBundle'
properties: properties:
name: name:
description: Name is the name of resource being referenced. description: Name is the name of resource being referenced.
type: string type: string
namespace: namespace:
description: Namespace is the namespace for the resource being referenced. description: Namespace is the namespace for the resource being
referenced.
type: string type: string
required: required:
- name - name
- namespace - namespace
type: object type: object
taints: taints:
description: Taints attached to the member cluster. Taints on the cluster description: Taints attached to the member cluster. Taints on the
have the "effect" on any resource that does not tolerate the Taint. cluster have the "effect" on any resource that does not tolerate
the Taint.
items: items:
description: The node this Taint is attached to has the "effect" on description: The node this Taint is attached to has the "effect"
any pod that does not tolerate the Taint. on any pod that does not tolerate the Taint.
properties: properties:
effect: effect:
description: Required. The effect of the taint on pods that do description: Required. The effect of the taint on pods that
not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule
and NoExecute. and NoExecute.
type: string type: string
key: key:
@ -103,7 +108,8 @@ spec:
type: object type: object
type: array type: array
zone: zone:
description: Zone represents the zone of the member cluster locate in. description: Zone represents the zone of the member cluster locate
in.
type: string type: string
type: object type: object
status: status:
@ -124,10 +130,10 @@ spec:
description: "Condition contains details for one aspect of the current description: "Condition contains details for one aspect of the current
state of this API Resource. --- This struct is intended for direct state of this API Resource. --- This struct is intended for direct
use as an array at the field path .status.conditions. For example, use as an array at the field path .status.conditions. For example,
type FooStatus struct{ // Represents the observations of a foo's type FooStatus struct{ // Represents the observations of a
current state. // Known .status.conditions.type are: \"Available\", foo's current state. // Known .status.conditions.type are:
\"Progressing\", and \"Degraded\" // +patchMergeKey=type // \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type
+patchStrategy=merge // +listType=map // +listMapKey=type \ // +patchStrategy=merge // +listType=map // +listMapKey=type
\ Conditions []metav1.Condition `json:\"conditions,omitempty\" \ Conditions []metav1.Condition `json:\"conditions,omitempty\"
patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
\n // other fields }" \n // other fields }"
@ -140,8 +146,8 @@ spec:
format: date-time format: date-time
type: string type: string
message: message:
description: message is a human readable message indicating details description: message is a human readable message indicating
about the transition. This may be an empty string. details about the transition. This may be an empty string.
maxLength: 32768 maxLength: 32768
type: string type: string
observedGeneration: observedGeneration:
@ -155,11 +161,11 @@ spec:
type: integer type: integer
reason: reason:
description: reason contains a programmatic identifier indicating description: reason contains a programmatic identifier indicating
the reason for the condition's last transition. Producers of the reason for the condition's last transition. Producers
specific condition types may define expected values and meanings of specific condition types may define expected values and
for this field, and whether the values are considered a guaranteed meanings for this field, and whether the values are considered
API. The value should be a CamelCase string. This field may a guaranteed API. The value should be a CamelCase string.
not be empty. This field may not be empty.
maxLength: 1024 maxLength: 1024
minLength: 1 minLength: 1
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
@ -192,8 +198,8 @@ spec:
description: KubernetesVersion represents version of the member cluster. description: KubernetesVersion represents version of the member cluster.
type: string type: string
nodeSummary: nodeSummary:
description: NodeSummary represents the summary of nodes status in the description: NodeSummary represents the summary of nodes status in
member cluster. the member cluster.
properties: properties:
allocatable: allocatable:
additionalProperties: additionalProperties:
@ -202,8 +208,8 @@ spec:
- type: string - type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true x-kubernetes-int-or-string: true
description: Allocatable represents the allocatable resources across description: Allocatable represents the allocatable resources
all nodes. across all nodes.
type: object type: object
readyNum: readyNum:
description: ReadyNum is the number of ready nodes in the cluster. description: ReadyNum is the number of ready nodes in the cluster.
@ -226,9 +232,6 @@ spec:
required: required:
- spec - spec
type: object type: object
version: v1alpha1
versions:
- name: v1alpha1
served: true served: true
storage: true storage: true
status: status:

View File

@ -1,10 +1,10 @@
--- ---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.3.0 controller-gen.kubebuilder.io/version: v0.4.0
creationTimestamp: null creationTimestamp: null
name: propagationbindings.propagationstrategy.karmada.io name: propagationbindings.propagationstrategy.karmada.io
spec: spec:
@ -15,7 +15,9 @@ spec:
plural: propagationbindings plural: propagationbindings
singular: propagationbinding singular: propagationbinding
scope: Namespaced scope: Namespaced
validation: versions:
- name: v1alpha1
schema:
openAPIV3Schema: openAPIV3Schema:
description: PropagationBinding represents a binding of a kubernetes resource description: PropagationBinding represents a binding of a kubernetes resource
with a propagation policy. with a propagation policy.
@ -36,10 +38,11 @@ spec:
description: Spec represents the desired behavior. description: Spec represents the desired behavior.
properties: properties:
clusters: clusters:
description: Clusters represents target member clusters where the resource description: Clusters represents target member clusters where the
to be deployed. resource to be deployed.
items: items:
description: TargetCluster represents the identifier of a member cluster. description: TargetCluster represents the identifier of a member
cluster.
properties: properties:
name: name:
description: Name of target cluster. description: Name of target cluster.
@ -63,9 +66,9 @@ spec:
namespace: namespace:
description: Namespace represents the namespace for the referent. description: Namespace represents the namespace for the referent.
For non-namespace scoped resources(e.g. 'ClusterRole')do not For non-namespace scoped resources(e.g. 'ClusterRole')do not
need specify Namespace, and for namespace scoped resources, Namespace need specify Namespace, and for namespace scoped resources,
is required. If Namespace is not specified, means the resource Namespace is required. If Namespace is not specified, means
is non-namespace scoped. the resource is non-namespace scoped.
type: string type: string
resourceVersion: resourceVersion:
description: ResourceVersion represents the internal version of description: ResourceVersion represents the internal version of
@ -92,16 +95,16 @@ spec:
running in a member cluster. running in a member cluster.
properties: properties:
clusterName: clusterName:
description: ClusterName represents the member cluster name which description: ClusterName represents the member cluster name
the resource deployed on. which the resource deployed on.
type: string type: string
resourceStatus: resourceStatus:
description: ResourceStatus represents the status of the resource. description: ResourceStatus represents the status of the resource.
properties: properties:
deploymentStatus: deploymentStatus:
description: Deployment represents the deployment status in description: Deployment represents the deployment status
the member cluster, only available when the resource kind in the member cluster, only available when the resource
is Deployment. kind is Deployment.
properties: properties:
availableReplicas: availableReplicas:
description: Total number of available pods (ready for description: Total number of available pods (ready for
@ -109,8 +112,8 @@ spec:
format: int32 format: int32
type: integer type: integer
readyReplicas: readyReplicas:
description: Total number of ready pods targeted by this description: Total number of ready pods targeted by
deployment. this deployment.
format: int32 format: int32
type: integer type: integer
replicas: replicas:
@ -121,15 +124,16 @@ spec:
unavailableReplicas: unavailableReplicas:
description: Total number of unavailable pods targeted description: Total number of unavailable pods targeted
by this deployment. This is the total number of pods by this deployment. This is the total number of pods
that are still required for the deployment to have 100% that are still required for the deployment to have
available capacity. They may either be pods that are 100% available capacity. They may either be pods that
running but not yet available or pods that still have are running but not yet available or pods that still
not been created. have not been created.
format: int32 format: int32
type: integer type: integer
updatedReplicas: updatedReplicas:
description: Total number of non-terminated pods targeted description: Total number of non-terminated pods targeted
by this deployment that have the desired template spec. by this deployment that have the desired template
spec.
format: int32 format: int32
type: integer type: integer
type: object type: object
@ -144,10 +148,10 @@ spec:
description: "Condition contains details for one aspect of the current description: "Condition contains details for one aspect of the current
state of this API Resource. --- This struct is intended for direct state of this API Resource. --- This struct is intended for direct
use as an array at the field path .status.conditions. For example, use as an array at the field path .status.conditions. For example,
type FooStatus struct{ // Represents the observations of a foo's type FooStatus struct{ // Represents the observations of a
current state. // Known .status.conditions.type are: \"Available\", foo's current state. // Known .status.conditions.type are:
\"Progressing\", and \"Degraded\" // +patchMergeKey=type // \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type
+patchStrategy=merge // +listType=map // +listMapKey=type \ // +patchStrategy=merge // +listType=map // +listMapKey=type
\ Conditions []metav1.Condition `json:\"conditions,omitempty\" \ Conditions []metav1.Condition `json:\"conditions,omitempty\"
patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
\n // other fields }" \n // other fields }"
@ -160,8 +164,8 @@ spec:
format: date-time format: date-time
type: string type: string
message: message:
description: message is a human readable message indicating details description: message is a human readable message indicating
about the transition. This may be an empty string. details about the transition. This may be an empty string.
maxLength: 32768 maxLength: 32768
type: string type: string
observedGeneration: observedGeneration:
@ -175,11 +179,11 @@ spec:
type: integer type: integer
reason: reason:
description: reason contains a programmatic identifier indicating description: reason contains a programmatic identifier indicating
the reason for the condition's last transition. Producers of the reason for the condition's last transition. Producers
specific condition types may define expected values and meanings of specific condition types may define expected values and
for this field, and whether the values are considered a guaranteed meanings for this field, and whether the values are considered
API. The value should be a CamelCase string. This field may a guaranteed API. The value should be a CamelCase string.
not be empty. This field may not be empty.
maxLength: 1024 maxLength: 1024
minLength: 1 minLength: 1
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
@ -212,9 +216,6 @@ spec:
required: required:
- spec - spec
type: object type: object
version: v1alpha1
versions:
- name: v1alpha1
served: true served: true
storage: true storage: true
status: status:

View File

@ -1,10 +1,10 @@
--- ---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.3.0 controller-gen.kubebuilder.io/version: v0.4.0
creationTimestamp: null creationTimestamp: null
name: propagationpolicies.propagationstrategy.karmada.io name: propagationpolicies.propagationstrategy.karmada.io
spec: spec:
@ -15,7 +15,9 @@ spec:
plural: propagationpolicies plural: propagationpolicies
singular: propagationpolicy singular: propagationpolicy
scope: Namespaced scope: Namespaced
validation: versions:
- name: v1alpha1
schema:
openAPIV3Schema: openAPIV3Schema:
description: PropagationPolicy represents the policy that propagates a group description: PropagationPolicy represents the policy that propagates a group
of resources to one or more clusters. of resources to one or more clusters.
@ -41,13 +43,13 @@ spec:
false. false.
type: boolean type: boolean
placement: placement:
description: Placement represents the rule for select clusters to propagate description: Placement represents the rule for select clusters to
resources. propagate resources.
properties: properties:
clusterAffinity: clusterAffinity:
description: ClusterAffinity represents scheduling restrictions description: ClusterAffinity represents scheduling restrictions
to a certain set of clusters. If not set, any cluster can be scheduling to a certain set of clusters. If not set, any cluster can be
candidate. scheduling candidate.
properties: properties:
clusterNames: clusterNames:
description: ClusterNames is the list of clusters to be selected. description: ClusterNames is the list of clusters to be selected.
@ -69,26 +71,27 @@ spec:
description: A list of field selector requirements. description: A list of field selector requirements.
items: items:
description: A node selector requirement is a selector description: A node selector requirement is a selector
that contains values, a key, and an operator that relates that contains values, a key, and an operator that
the key and values. relates the key and values.
properties: properties:
key: key:
description: The label key that the selector applies description: The label key that the selector applies
to. to.
type: string type: string
operator: operator:
description: Represents a key's relationship to a description: Represents a key's relationship to
set of values. Valid operators are In, NotIn, Exists, a set of values. Valid operators are In, NotIn,
DoesNotExist. Gt, and Lt. Exists, DoesNotExist. Gt, and Lt.
type: string type: string
values: values:
description: An array of string values. If the operator description: An array of string values. If the operator
is In or NotIn, the values array must be non-empty. is In or NotIn, the values array must be non-empty.
If the operator is Exists or DoesNotExist, the values If the operator is Exists or DoesNotExist, the
array must be empty. If the operator is Gt or Lt, values array must be empty. If the operator is
the values array must have a single element, which Gt or Lt, the values array must have a single
will be interpreted as an integer. This array is element, which will be interpreted as an integer.
replaced during a strategic merge patch. This array is replaced during a strategic merge
patch.
items: items:
type: string type: string
type: array type: array
@ -102,6 +105,142 @@ spec:
description: LabelSelector is a filter to select member clusters description: LabelSelector is a filter to select member clusters
by labels. If non-nil and non-empty, only the clusters match by labels. If non-nil and non-empty, only the clusters match
this filter will be selected. this filter will be selected.
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
clusterTolerations:
description: ClusterTolerations represents the tolerations.
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
type: array
spreadConstraints:
description: SpreadConstraints represents a list of the scheduling
constraints.
items:
description: SpreadConstraint represents the spread constraints
on resources.
properties:
maximumClusters:
description: Maximum restricts the maximum number of cluster
units to be selected.
type: integer
minimumClusters:
description: Minimum restricts the minimum number of cluster
units to be selected.
type: integer
spreadByField:
description: 'SpreadByField represents the field used for
grouping member clusters into units. Resources will be
spread among different cluster units. Available field
for spreading are: region, zone, cluster and provider.'
type: string
spreadByLabel:
description: SpreadByLabel represents the label key used
for grouping member clusters into units. Resources will
be spread among different cluster units.
type: string
type: object
type: array
type: object
resourceSelector:
description: ResourceSelectors used to select resources. nil represents
all resources.
items:
description: ResourceSelector the resources will be selected.
properties:
apiVersion:
description: APIVersion represents the API version of the target
resources.
type: string
excludeNamespaces:
description: ExcludeNamespaces is a list of namespaces that
the ResourceSelector will ignore. Default is empty, which
means don't ignore any namespace.
items:
type: string
type: array
kind:
description: Kind represents the Kind of the target resources.
type: string
labelSelector:
description: A label query over a set of resources.
properties: properties:
matchExpressions: matchExpressions:
description: matchExpressions is a list of label selector description: matchExpressions is a list of label selector
@ -144,152 +283,18 @@ spec:
only "value". The requirements are ANDed. only "value". The requirements are ANDed.
type: object type: object
type: object type: object
type: object
clusterTolerations:
description: ClusterTolerations represents the tolerations.
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
type: array
spreadConstraints:
description: SpreadConstraints represents a list of the scheduling
constraints.
items:
description: SpreadConstraint represents the spread constraints
on resources.
properties:
maximumClusters:
description: Maximum restricts the maximum number of cluster
units to be selected.
type: integer
minimumClusters:
description: Minimum restricts the minimum number of cluster
units to be selected.
type: integer
spreadByField:
description: 'SpreadByField represents the field used for
grouping member clusters into units. Resources will be spread
among different cluster units. Available field for spreading
are: region, zone, cluster and provider.'
type: string
spreadByLabel:
description: SpreadByLabel represents the label key used for
grouping member clusters into units. Resources will be spread
among different cluster units.
type: string
type: object
type: array
type: object
resourceSelector:
description: ResourceSelectors used to select resources. nil represents
all resources.
items:
description: ResourceSelector the resources will be selected.
properties:
apiVersion:
description: APIVersion represents the API version of the target
resources.
type: string
excludeNamespaces:
description: ExcludeNamespaces is a list of namespaces that the
ResourceSelector will ignore. Default is empty, which means
don't ignore any namespace.
items:
type: string
type: array
kind:
description: Kind represents the Kind of the target resources.
type: string
labelSelector:
description: A label query over a set of resources.
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
names: names:
description: Names restricts a list of referent names that the description: Names restricts a list of referent names that the
ResourceSelector will only select. Default is empty, which means ResourceSelector will only select. Default is empty, which
selecting all resources. means selecting all resources.
items: items:
type: string type: string
type: array type: array
namespaces: namespaces:
description: Namespaces restricts a list of namespaces that the description: Namespaces restricts a list of namespaces that
ResourceSelector will only select. If set, only resources in the ResourceSelector will only select. If set, only resources
the listed namespaces will be selected. Default is empty, which in the listed namespaces will be selected. Default is empty,
means selecting all namespaces. which means selecting all namespaces.
items: items:
type: string type: string
type: array type: array
@ -308,9 +313,6 @@ spec:
required: required:
- spec - spec
type: object type: object
version: v1alpha1
versions:
- name: v1alpha1
served: true served: true
storage: true storage: true
status: status:

View File

@ -1,10 +1,10 @@
--- ---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.3.0 controller-gen.kubebuilder.io/version: v0.4.0
creationTimestamp: null creationTimestamp: null
name: propagationworks.propagationstrategy.karmada.io name: propagationworks.propagationstrategy.karmada.io
spec: spec:
@ -15,10 +15,12 @@ spec:
plural: propagationworks plural: propagationworks
singular: propagationwork singular: propagationwork
scope: Namespaced scope: Namespaced
validation: versions:
- name: v1alpha1
schema:
openAPIV3Schema: openAPIV3Schema:
description: PropagationWork defines a list of resources to be deployed on the description: PropagationWork defines a list of resources to be deployed on
member cluster. the member cluster.
properties: properties:
apiVersion: apiVersion:
description: 'APIVersion defines the versioned schema of this representation description: 'APIVersion defines the versioned schema of this representation
@ -43,9 +45,7 @@ spec:
description: Manifests represents a list of Kubernetes resources description: Manifests represents a list of Kubernetes resources
to be deployed on the managed cluster. to be deployed on the managed cluster.
items: items:
description: Manifest represents a resource to be deployed on type: Any
managed cluster.
type: object
type: array type: array
type: object type: object
type: object type: object
@ -53,21 +53,22 @@ spec:
description: Status represents the status of PropagationStatus. description: Status represents the status of PropagationStatus.
properties: properties:
conditions: conditions:
description: 'Conditions contain the different condition statuses for description: 'Conditions contain the different condition statuses
this work. Valid condition types are: 1. Applied represents workload for this work. Valid condition types are: 1. Applied represents
in PropagationWork is applied successfully on a managed cluster. 2. workload in PropagationWork is applied successfully on a managed
Progressing represents workload in PropagationWork is being applied cluster. 2. Progressing represents workload in PropagationWork is
on a managed cluster. 3. Available represents workload in PropagationWork being applied on a managed cluster. 3. Available represents workload
exists on the managed cluster. 4. Degraded represents the current in PropagationWork exists on the managed cluster. 4. Degraded represents
state of workload does not match the desired state for a certain period.' the current state of workload does not match the desired state for
a certain period.'
items: items:
description: "Condition contains details for one aspect of the current description: "Condition contains details for one aspect of the current
state of this API Resource. --- This struct is intended for direct state of this API Resource. --- This struct is intended for direct
use as an array at the field path .status.conditions. For example, use as an array at the field path .status.conditions. For example,
type FooStatus struct{ // Represents the observations of a foo's type FooStatus struct{ // Represents the observations of a
current state. // Known .status.conditions.type are: \"Available\", foo's current state. // Known .status.conditions.type are:
\"Progressing\", and \"Degraded\" // +patchMergeKey=type // \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type
+patchStrategy=merge // +listType=map // +listMapKey=type \ // +patchStrategy=merge // +listType=map // +listMapKey=type
\ Conditions []metav1.Condition `json:\"conditions,omitempty\" \ Conditions []metav1.Condition `json:\"conditions,omitempty\"
patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
\n // other fields }" \n // other fields }"
@ -80,8 +81,8 @@ spec:
format: date-time format: date-time
type: string type: string
message: message:
description: message is a human readable message indicating details description: message is a human readable message indicating
about the transition. This may be an empty string. details about the transition. This may be an empty string.
maxLength: 32768 maxLength: 32768
type: string type: string
observedGeneration: observedGeneration:
@ -95,11 +96,11 @@ spec:
type: integer type: integer
reason: reason:
description: reason contains a programmatic identifier indicating description: reason contains a programmatic identifier indicating
the reason for the condition's last transition. Producers of the reason for the condition's last transition. Producers
specific condition types may define expected values and meanings of specific condition types may define expected values and
for this field, and whether the values are considered a guaranteed meanings for this field, and whether the values are considered
API. The value should be a CamelCase string. This field may a guaranteed API. The value should be a CamelCase string.
not be empty. This field may not be empty.
maxLength: 1024 maxLength: 1024
minLength: 1 minLength: 1
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
@ -129,33 +130,33 @@ spec:
type: object type: object
type: array type: array
manifestConditions: manifestConditions:
description: ManifestConditions represents the conditions of each Kubernetes description: ManifestConditions represents the conditions of each
resource in work deployed on managed cluster. Kubernetes resource in work deployed on managed cluster.
items: items:
description: ManifestCondition represents the conditions of the resources description: ManifestCondition represents the conditions of the
deployed on managed cluster resources deployed on managed cluster
properties: properties:
conditions: conditions:
description: Conditions represents the conditions of this resource description: Conditions represents the conditions of this resource
on the managed cluster on the managed cluster
items: items:
description: "Condition contains details for one aspect of the description: "Condition contains details for one aspect of
current state of this API Resource. --- This struct is intended the current state of this API Resource. --- This struct
for direct use as an array at the field path .status.conditions. is intended for direct use as an array at the field path
\ For example, type FooStatus struct{ // Represents the .status.conditions. For example, type FooStatus struct{
observations of a foo's current state. // Known .status.conditions.type \ // Represents the observations of a foo's current state.
are: \"Available\", \"Progressing\", and \"Degraded\" // \ // Known .status.conditions.type are: \"Available\",
+patchMergeKey=type // +patchStrategy=merge // +listType=map \"Progressing\", and \"Degraded\" // +patchMergeKey=type
\ // +listMapKey=type Conditions []metav1.Condition \ // +patchStrategy=merge // +listType=map //
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\"
protobuf:\"bytes,1,rep,name=conditions\"` \n // other patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
fields }" \n // other fields }"
properties: properties:
lastTransitionTime: lastTransitionTime:
description: lastTransitionTime is the last time the condition description: lastTransitionTime is the last time the condition
transitioned from one status to another. This should be transitioned from one status to another. This should
when the underlying condition changed. If that is not be when the underlying condition changed. If that is
known, then using the time when the API field changed not known, then using the time when the API field changed
is acceptable. is acceptable.
format: date-time format: date-time
type: string type: string
@ -166,20 +167,20 @@ spec:
type: string type: string
observedGeneration: observedGeneration:
description: observedGeneration represents the .metadata.generation description: observedGeneration represents the .metadata.generation
that the condition was set based upon. For instance, if that the condition was set based upon. For instance,
.metadata.generation is currently 12, but the .status.conditions[x].observedGeneration if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration
is 9, the condition is out of date with respect to the is 9, the condition is out of date with respect to the
current state of the instance. current state of the instance.
format: int64 format: int64
minimum: 0 minimum: 0
type: integer type: integer
reason: reason:
description: reason contains a programmatic identifier indicating description: reason contains a programmatic identifier
the reason for the condition's last transition. Producers indicating the reason for the condition's last transition.
of specific condition types may define expected values Producers of specific condition types may define expected
and meanings for this field, and whether the values are values and meanings for this field, and whether the
considered a guaranteed API. The value should be a CamelCase values are considered a guaranteed API. The value should
string. This field may not be empty. be a CamelCase string. This field may not be empty.
maxLength: 1024 maxLength: 1024
minLength: 1 minLength: 1
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
@ -197,7 +198,8 @@ spec:
--- Many .condition.type values are consistent across --- Many .condition.type values are consistent across
resources like Available, but because arbitrary conditions resources like Available, but because arbitrary conditions
can be useful (see .node.status.conditions), the ability can be useful (see .node.status.conditions), the ability
to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) to deconflict is important. The regex it matches is
(dns1123SubdomainFmt/)?(qualifiedNameFmt)
maxLength: 316 maxLength: 316
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
type: string type: string
@ -223,8 +225,8 @@ spec:
description: Name is the name of the resource description: Name is the name of the resource
type: string type: string
namespace: namespace:
description: Namespace is the namespace of the resource, the description: Namespace is the namespace of the resource,
resource is cluster scoped if the value is empty the resource is cluster scoped if the value is empty
type: string type: string
ordinal: ordinal:
description: Ordinal represents an index in manifests list, description: Ordinal represents an index in manifests list,
@ -255,9 +257,6 @@ spec:
required: required:
- spec - spec
type: object type: object
version: v1alpha1
versions:
- name: v1alpha1
served: true served: true
storage: true storage: true
status: status: