diff --git a/docs/reference/karmada-api/cluster-resources/cluster-v1alpha1.md b/docs/reference/karmada-api/cluster-resources/cluster-v1alpha1.md index c3d60f68..4d340ae9 100644 --- a/docs/reference/karmada-api/cluster-resources/cluster-v1alpha1.md +++ b/docs/reference/karmada-api/cluster-resources/cluster-v1alpha1.md @@ -322,6 +322,10 @@ ClusterStatus contains information about the current status of a cluster updated TotalNum is the total number of nodes in the cluster. +- **remedyActions** ([]string) + + RemedyActions represents the remedy actions that needs to be performed on the cluster. + - **resourceSummary** (ResourceSummary) ResourceSummary represents the summary of resources in the member cluster. diff --git a/docs/reference/karmada-api/common-definitions/label-selector.md b/docs/reference/karmada-api/common-definitions/label-selector.md index 2063137d..e98b2f8d 100644 --- a/docs/reference/karmada-api/common-definitions/label-selector.md +++ b/docs/reference/karmada-api/common-definitions/label-selector.md @@ -30,8 +30,6 @@ A label selector is a label query over a set of resources. The result of matchLa - **matchExpressions.key** (string), required - *Patch strategy: merge on key `key`* - key is the label key that the selector applies to. - **matchExpressions.operator** (string), required diff --git a/docs/reference/karmada-api/common-definitions/quantity.md b/docs/reference/karmada-api/common-definitions/quantity.md index 37eb31f6..b3f709e8 100644 --- a/docs/reference/karmada-api/common-definitions/quantity.md +++ b/docs/reference/karmada-api/common-definitions/quantity.md @@ -16,7 +16,7 @@ auto_generated: true `import "k8s.io/apimachinery/pkg/api/resource"` -Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshalling in JSON and YAML, in addition to String() and AsInt64() accessors. +Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors. The serialization format is: diff --git a/docs/reference/karmada-api/common-parameter/common-parameters.md b/docs/reference/karmada-api/common-parameter/common-parameters.md index f59c3cdf..74c215f3 100644 --- a/docs/reference/karmada-api/common-parameter/common-parameters.md +++ b/docs/reference/karmada-api/common-parameter/common-parameters.md @@ -6,7 +6,7 @@ api_metadata: content_type: "api_reference" description: "" title: "Common Parameters" -weight: 9 +weight: 10 auto_generated: true --- diff --git a/docs/reference/karmada-api/networking-resources/multi-cluster-ingress-v1alpha1.md b/docs/reference/karmada-api/networking-resources/multi-cluster-ingress-v1alpha1.md index 56a0280c..052941dd 100644 --- a/docs/reference/karmada-api/networking-resources/multi-cluster-ingress-v1alpha1.md +++ b/docs/reference/karmada-api/networking-resources/multi-cluster-ingress-v1alpha1.md @@ -202,67 +202,89 @@ MultiClusterIngress is a collection of rules that allow inbound connections to r secretName is the name of the secret used to terminate TLS traffic on port 443. Field is left optional to allow TLS routing based on SNI hostname alone. If the SNI host in a listener conflicts with the "Host" header field used by an IngressRule, the SNI host is used for termination and value of the "Host" header is used for routing. -- **status** (IngressStatus) +- **status** ([MultiClusterIngressStatus](../networking-resources/multi-cluster-ingress-v1alpha1#multiclusteringressstatus)) Status is the current state of the MultiClusterIngress. - +## MultiClusterIngressStatus - *IngressStatus describe the current state of the Ingress.* +MultiClusterIngressStatus is the current state of the MultiClusterIngress. - - **status.loadBalancer** (IngressLoadBalancerStatus) +
- loadBalancer contains the current status of the load-balancer. +- **loadBalancer** (IngressLoadBalancerStatus) - + loadBalancer contains the current status of the load-balancer. - *IngressLoadBalancerStatus represents the status of a load-balancer.* + - - **status.loadBalancer.ingress** ([]IngressLoadBalancerIngress) + *IngressLoadBalancerStatus represents the status of a load-balancer.* - ingress is a list containing ingress points for the load-balancer. + - **loadBalancer.ingress** ([]IngressLoadBalancerIngress) - + ingress is a list containing ingress points for the load-balancer. - *IngressLoadBalancerIngress represents the status of a load-balancer ingress point.* + - - **status.loadBalancer.ingress.hostname** (string) + *IngressLoadBalancerIngress represents the status of a load-balancer ingress point.* - hostname is set for load-balancer ingress points that are DNS based. + - **loadBalancer.ingress.hostname** (string) - - **status.loadBalancer.ingress.ip** (string) + hostname is set for load-balancer ingress points that are DNS based. - ip is set for load-balancer ingress points that are IP based. + - **loadBalancer.ingress.ip** (string) - - **status.loadBalancer.ingress.ports** ([]IngressPortStatus) + ip is set for load-balancer ingress points that are IP based. - *Atomic: will be replaced during a merge* + - **loadBalancer.ingress.ports** ([]IngressPortStatus) + + *Atomic: will be replaced during a merge* + + ports provides information about the ports exposed by this LoadBalancer. + + + + *IngressPortStatus represents the error condition of a service port* + + - **loadBalancer.ingress.ports.port** (int32), required + + port is the port number of the ingress port. + + - **loadBalancer.ingress.ports.protocol** (string), required + + protocol is the protocol of the ingress port. The supported values are: "TCP", "UDP", "SCTP" - ports provides information about the ports exposed by this LoadBalancer. + Possible enum values: + - `"SCTP"` is the SCTP protocol. + - `"TCP"` is the TCP protocol. + - `"UDP"` is the UDP protocol. - + - **loadBalancer.ingress.ports.error** (string) - *IngressPortStatus represents the error condition of a service port* + error is to record the problem with the service port The format of the error shall comply with the following rules: - built-in error values shall be specified in this file and those shall use + CamelCase names + - cloud provider specific error values must have names that comply with the + format foo.example.com/CamelCase. - - **status.loadBalancer.ingress.ports.port** (int32), required +- **serviceLocations** ([]ServiceLocation) - port is the port number of the ingress port. + ServiceLocations records the locations of MulticlusterIngress's backend Service resources. It will be set by the system controller. - - **status.loadBalancer.ingress.ports.protocol** (string), required + - protocol is the protocol of the ingress port. The supported values are: "TCP", "UDP", "SCTP" - - Possible enum values: - - `"SCTP"` is the SCTP protocol. - - `"TCP"` is the TCP protocol. - - `"UDP"` is the UDP protocol. + *ServiceLocation records the locations of MulticlusterIngress's backend Service resources.* + + - **serviceLocations.name** (string), required + + name is the referenced service. The service must exist in the same namespace as the MultiClusterService object. + + - **serviceLocations.clusters** ([]string) + + Clusters records the cluster list where the Service is located. - - **status.loadBalancer.ingress.ports.error** (string) +- **trafficBlockClusters** ([]string) - error is to record the problem with the service port The format of the error shall comply with the following rules: - built-in error values shall be specified in this file and those shall use - CamelCase names - - cloud provider specific error values must have names that comply with the - format foo.example.com/CamelCase. + TrafficBlockClusters records the cluster name list that needs to perform traffic block. When the cloud provider implements its multicluster-cloud-provider and refreshes the service backend address to the LoadBalancer Service, it needs to filter out the backend addresses in these clusters. ## MultiClusterIngressList diff --git a/docs/reference/karmada-api/networking-resources/multi-cluster-service-v1alpha1.md b/docs/reference/karmada-api/networking-resources/multi-cluster-service-v1alpha1.md index c8fce24b..ceecf096 100644 --- a/docs/reference/karmada-api/networking-resources/multi-cluster-service-v1alpha1.md +++ b/docs/reference/karmada-api/networking-resources/multi-cluster-service-v1alpha1.md @@ -146,6 +146,18 @@ MultiClusterServiceSpec is the desired state of the MultiClusterService. Types specifies how to expose the service referencing by this MultiClusterService. +- **consumerClusters** ([]ClusterSelector) + + ConsumerClusters specifies the clusters where the service will be exposed, for clients. If leave it empty, the service will be exposed to all clusters. + + + + *ClusterSelector specifies the cluster to be selected.* + + - **consumerClusters.name** (string) + + Name is the name of the cluster to be selected. + - **ports** ([]ExposurePort) Ports is the list of ports that are exposed by this MultiClusterService. No specified port will be filtered out during the service exposure and discovery process. All ports in the referencing service will be exposed by default. @@ -162,9 +174,21 @@ MultiClusterServiceSpec is the desired state of the MultiClusterService. Name is the name of the port that needs to be exposed within the service. The port name must be the same as that defined in the service. +- **providerClusters** ([]ClusterSelector) + + ProviderClusters specifies the clusters which will provide the service backend. If leave it empty, we will collect the backend endpoints from all clusters and sync them to the ConsumerClusters. + + + + *ClusterSelector specifies the cluster to be selected.* + + - **providerClusters.name** (string) + + Name is the name of the cluster to be selected. + - **range** (ExposureRange) - Range specifies the ranges where the referencing service should be exposed. Only valid and optional in case of Types contains CrossCluster. If not set and Types contains CrossCluster, all clusters will be selected, that means the referencing service will be exposed across all registered clusters. Deprecated: in favor of ServiceProvisionClusters/ServiceConsumptionClusters. + Range specifies the ranges where the referencing service should be exposed. Only valid and optional in case of Types contains CrossCluster. If not set and Types contains CrossCluster, all clusters will be selected, that means the referencing service will be exposed across all registered clusters. Deprecated: in favor of ProviderClusters/ConsumerClusters. @@ -176,11 +200,11 @@ MultiClusterServiceSpec is the desired state of the MultiClusterService. - **serviceConsumptionClusters** ([]string) - ServiceConsumptionClusters specifies the clusters where the service will be exposed, for clients. If leave it empty, the service will be exposed to all clusters. + ServiceConsumptionClusters specifies the clusters where the service will be exposed, for clients. If leave it empty, the service will be exposed to all clusters. Deprecated: in favor of ProviderClusters/ConsumerClusters. - **serviceProvisionClusters** ([]string) - ServiceProvisionClusters specifies the clusters which will provision the service backend. If leave it empty, we will collect the backend endpoints from all clusters and sync them to the ServiceConsumptionClusters. + ServiceProvisionClusters specifies the clusters which will provision the service backend. If leave it empty, we will collect the backend endpoints from all clusters and sync them to the ServiceConsumptionClusters. Deprecated: in favor of ProviderClusters/ConsumerClusters. ## MultiClusterServiceList diff --git a/docs/reference/karmada-api/policy-resources/cluster-propagation-policy-v1alpha1.md b/docs/reference/karmada-api/policy-resources/cluster-propagation-policy-v1alpha1.md index 68567c19..ca99c049 100644 --- a/docs/reference/karmada-api/policy-resources/cluster-propagation-policy-v1alpha1.md +++ b/docs/reference/karmada-api/policy-resources/cluster-propagation-policy-v1alpha1.md @@ -66,6 +66,14 @@ ClusterPropagationPolicy represents the cluster-wide policy that propagates a gr Namespace of the target resource. Default is empty, which means inherit from the parent object scope. + - **spec.activationPreference** (string) + + ActivationPreference indicates how the referencing resource template will be propagated, in case of policy changes. + + If empty, the resource template will respond to policy changes immediately, in other words, any policy changes will drive the resource template to be propagated immediately as per the current propagation rules. + + If the value is 'Lazy' means the policy changes will not take effect for now but defer to the resource template changes, in other words, the resource template will not be propagated as per the current propagation rules until there is an update on it. This is an experimental feature that might help in a scenario where a policy manages huge amount of resource templates, changes to a policy typically affect numerous applications simultaneously. A minor misconfiguration could lead to widespread failures. With this feature, the change can be gradually rolled out through iterative modifications of resource templates. + - **spec.association** (boolean) Association tells if relevant resources should be selected automatically. e.g. a ConfigMap referred by a Deployment. default false. Deprecated: in favor of PropagateDeps. diff --git a/docs/reference/karmada-api/policy-resources/propagation-policy-v1alpha1.md b/docs/reference/karmada-api/policy-resources/propagation-policy-v1alpha1.md index a24708a2..6cd7d330 100644 --- a/docs/reference/karmada-api/policy-resources/propagation-policy-v1alpha1.md +++ b/docs/reference/karmada-api/policy-resources/propagation-policy-v1alpha1.md @@ -66,6 +66,14 @@ PropagationPolicy represents the policy that propagates a group of resources to Namespace of the target resource. Default is empty, which means inherit from the parent object scope. + - **spec.activationPreference** (string) + + ActivationPreference indicates how the referencing resource template will be propagated, in case of policy changes. + + If empty, the resource template will respond to policy changes immediately, in other words, any policy changes will drive the resource template to be propagated immediately as per the current propagation rules. + + If the value is 'Lazy' means the policy changes will not take effect for now but defer to the resource template changes, in other words, the resource template will not be propagated as per the current propagation rules until there is an update on it. This is an experimental feature that might help in a scenario where a policy manages huge amount of resource templates, changes to a policy typically affect numerous applications simultaneously. A minor misconfiguration could lead to widespread failures. With this feature, the change can be gradually rolled out through iterative modifications of resource templates. + - **spec.association** (boolean) Association tells if relevant resources should be selected automatically. e.g. a ConfigMap referred by a Deployment. default false. Deprecated: in favor of PropagateDeps. diff --git a/docs/reference/karmada-api/remedy-resources/remedy-v1alpha1.md b/docs/reference/karmada-api/remedy-resources/remedy-v1alpha1.md new file mode 100644 index 00000000..2b829844 --- /dev/null +++ b/docs/reference/karmada-api/remedy-resources/remedy-v1alpha1.md @@ -0,0 +1,498 @@ +--- +api_metadata: + apiVersion: "remedy.karmada.io/v1alpha1" + import: "github.com/karmada-io/karmada/pkg/apis/remedy/v1alpha1" + kind: "Remedy" +content_type: "api_reference" +description: "Remedy represents the cluster-level management strategies based on cluster conditions." +title: "Remedy v1alpha1" +weight: 1 +auto_generated: true +--- + +[//]: # (The file is auto-generated from the Go source code of the component using a generic generator,) +[//]: # (which is forked from [reference-docs](https://github.com/kubernetes-sigs/reference-docs.) +[//]: # (To update the reference content, please follow the `reference-api.sh`.) + +`apiVersion: remedy.karmada.io/v1alpha1` + +`import "github.com/karmada-io/karmada/pkg/apis/remedy/v1alpha1"` + +## Remedy + +Remedy represents the cluster-level management strategies based on cluster conditions. + +
+ +- **apiVersion**: remedy.karmada.io/v1alpha1 + +- **kind**: Remedy + +- **metadata** ([ObjectMeta](../common-definitions/object-meta#objectmeta)) + +- **spec** ([RemedySpec](../remedy-resources/remedy-v1alpha1#remedyspec)), required + + Spec represents the desired behavior of Remedy. + +## RemedySpec + +RemedySpec represents the desired behavior of Remedy. + +
+ +- **actions** ([]string) + + Actions specifies the actions that remedy system needs to perform. If empty, no action will be performed. + +- **clusterAffinity** (ClusterAffinity) + + ClusterAffinity specifies the clusters that Remedy needs to pay attention to. For clusters that meet the DecisionConditions, Actions will be preformed. If empty, all clusters will be selected. + + + + *ClusterAffinity represents the filter to select clusters.* + + - **clusterAffinity.clusterNames** ([]string) + + ClusterNames is the list of clusters to be selected. + +- **decisionMatches** ([]DecisionMatch) + + DecisionMatches indicates the decision matches of triggering the remedy system to perform the actions. As long as any one DecisionMatch matches, the Actions will be preformed. If empty, the Actions will be performed immediately. + + + + *DecisionMatch represents the decision match detail of activating the remedy system.* + + - **decisionMatches.clusterConditionMatch** (ClusterConditionRequirement) + + ClusterConditionMatch describes the cluster condition requirement. + + + + *ClusterConditionRequirement describes the Cluster condition requirement details.* + + - **decisionMatches.clusterConditionMatch.conditionStatus** (string), required + + ConditionStatus specifies the ClusterStatue condition status. + + - **decisionMatches.clusterConditionMatch.conditionType** (string), required + + ConditionType specifies the ClusterStatus condition type. + + - **decisionMatches.clusterConditionMatch.operator** (string), required + + Operator represents a conditionType's relationship to a conditionStatus. Valid operators are Equal, NotEqual. + +## RemedyList + +RemedyList contains a list of Remedy. + +
+ +- **apiVersion**: remedy.karmada.io/v1alpha1 + +- **kind**: RemedyList + +- **metadata** ([ListMeta](../common-definitions/list-meta#listmeta)) + +- **items** ([][Remedy](../remedy-resources/remedy-v1alpha1#remedy)), required + +## Operations + +
+ +### `get` read the specified Remedy + +#### HTTP Request + +GET /apis/remedy.karmada.io/v1alpha1/remedies/{name} + +#### Parameters + +- **name** (*in path*): string, required + + name of the Remedy + +- **pretty** (*in query*): string + + [pretty](../common-parameter/common-parameters#pretty) + +#### Response + +200 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): OK + +### `get` read status of the specified Remedy + +#### HTTP Request + +GET /apis/remedy.karmada.io/v1alpha1/remedies/{name}/status + +#### Parameters + +- **name** (*in path*): string, required + + name of the Remedy + +- **pretty** (*in query*): string + + [pretty](../common-parameter/common-parameters#pretty) + +#### Response + +200 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): OK + +### `list` list or watch objects of kind Remedy + +#### HTTP Request + +GET /apis/remedy.karmada.io/v1alpha1/remedies + +#### Parameters + +- **allowWatchBookmarks** (*in query*): boolean + + [allowWatchBookmarks](../common-parameter/common-parameters#allowwatchbookmarks) + +- **continue** (*in query*): string + + [continue](../common-parameter/common-parameters#continue) + +- **fieldSelector** (*in query*): string + + [fieldSelector](../common-parameter/common-parameters#fieldselector) + +- **labelSelector** (*in query*): string + + [labelSelector](../common-parameter/common-parameters#labelselector) + +- **limit** (*in query*): integer + + [limit](../common-parameter/common-parameters#limit) + +- **pretty** (*in query*): string + + [pretty](../common-parameter/common-parameters#pretty) + +- **resourceVersion** (*in query*): string + + [resourceVersion](../common-parameter/common-parameters#resourceversion) + +- **resourceVersionMatch** (*in query*): string + + [resourceVersionMatch](../common-parameter/common-parameters#resourceversionmatch) + +- **sendInitialEvents** (*in query*): boolean + + [sendInitialEvents](../common-parameter/common-parameters#sendinitialevents) + +- **timeoutSeconds** (*in query*): integer + + [timeoutSeconds](../common-parameter/common-parameters#timeoutseconds) + +- **watch** (*in query*): boolean + + [watch](../common-parameter/common-parameters#watch) + +#### Response + +200 ([RemedyList](../remedy-resources/remedy-v1alpha1#remedylist)): OK + +### `create` create a Remedy + +#### HTTP Request + +POST /apis/remedy.karmada.io/v1alpha1/remedies + +#### Parameters + +- **body**: [Remedy](../remedy-resources/remedy-v1alpha1#remedy), required + + + +- **dryRun** (*in query*): string + + [dryRun](../common-parameter/common-parameters#dryrun) + +- **fieldManager** (*in query*): string + + [fieldManager](../common-parameter/common-parameters#fieldmanager) + +- **fieldValidation** (*in query*): string + + [fieldValidation](../common-parameter/common-parameters#fieldvalidation) + +- **pretty** (*in query*): string + + [pretty](../common-parameter/common-parameters#pretty) + +#### Response + +200 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): OK + +201 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): Created + +202 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): Accepted + +### `update` replace the specified Remedy + +#### HTTP Request + +PUT /apis/remedy.karmada.io/v1alpha1/remedies/{name} + +#### Parameters + +- **name** (*in path*): string, required + + name of the Remedy + +- **body**: [Remedy](../remedy-resources/remedy-v1alpha1#remedy), required + + + +- **dryRun** (*in query*): string + + [dryRun](../common-parameter/common-parameters#dryrun) + +- **fieldManager** (*in query*): string + + [fieldManager](../common-parameter/common-parameters#fieldmanager) + +- **fieldValidation** (*in query*): string + + [fieldValidation](../common-parameter/common-parameters#fieldvalidation) + +- **pretty** (*in query*): string + + [pretty](../common-parameter/common-parameters#pretty) + +#### Response + +200 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): OK + +201 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): Created + +### `update` replace status of the specified Remedy + +#### HTTP Request + +PUT /apis/remedy.karmada.io/v1alpha1/remedies/{name}/status + +#### Parameters + +- **name** (*in path*): string, required + + name of the Remedy + +- **body**: [Remedy](../remedy-resources/remedy-v1alpha1#remedy), required + + + +- **dryRun** (*in query*): string + + [dryRun](../common-parameter/common-parameters#dryrun) + +- **fieldManager** (*in query*): string + + [fieldManager](../common-parameter/common-parameters#fieldmanager) + +- **fieldValidation** (*in query*): string + + [fieldValidation](../common-parameter/common-parameters#fieldvalidation) + +- **pretty** (*in query*): string + + [pretty](../common-parameter/common-parameters#pretty) + +#### Response + +200 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): OK + +201 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): Created + +### `patch` partially update the specified Remedy + +#### HTTP Request + +PATCH /apis/remedy.karmada.io/v1alpha1/remedies/{name} + +#### Parameters + +- **name** (*in path*): string, required + + name of the Remedy + +- **body**: [Patch](../common-definitions/patch#patch), required + + + +- **dryRun** (*in query*): string + + [dryRun](../common-parameter/common-parameters#dryrun) + +- **fieldManager** (*in query*): string + + [fieldManager](../common-parameter/common-parameters#fieldmanager) + +- **fieldValidation** (*in query*): string + + [fieldValidation](../common-parameter/common-parameters#fieldvalidation) + +- **force** (*in query*): boolean + + [force](../common-parameter/common-parameters#force) + +- **pretty** (*in query*): string + + [pretty](../common-parameter/common-parameters#pretty) + +#### Response + +200 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): OK + +201 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): Created + +### `patch` partially update status of the specified Remedy + +#### HTTP Request + +PATCH /apis/remedy.karmada.io/v1alpha1/remedies/{name}/status + +#### Parameters + +- **name** (*in path*): string, required + + name of the Remedy + +- **body**: [Patch](../common-definitions/patch#patch), required + + + +- **dryRun** (*in query*): string + + [dryRun](../common-parameter/common-parameters#dryrun) + +- **fieldManager** (*in query*): string + + [fieldManager](../common-parameter/common-parameters#fieldmanager) + +- **fieldValidation** (*in query*): string + + [fieldValidation](../common-parameter/common-parameters#fieldvalidation) + +- **force** (*in query*): boolean + + [force](../common-parameter/common-parameters#force) + +- **pretty** (*in query*): string + + [pretty](../common-parameter/common-parameters#pretty) + +#### Response + +200 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): OK + +201 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): Created + +### `delete` delete a Remedy + +#### HTTP Request + +DELETE /apis/remedy.karmada.io/v1alpha1/remedies/{name} + +#### Parameters + +- **name** (*in path*): string, required + + name of the Remedy + +- **body**: [DeleteOptions](../common-definitions/delete-options#deleteoptions) + + + +- **dryRun** (*in query*): string + + [dryRun](../common-parameter/common-parameters#dryrun) + +- **gracePeriodSeconds** (*in query*): integer + + [gracePeriodSeconds](../common-parameter/common-parameters#graceperiodseconds) + +- **pretty** (*in query*): string + + [pretty](../common-parameter/common-parameters#pretty) + +- **propagationPolicy** (*in query*): string + + [propagationPolicy](../common-parameter/common-parameters#propagationpolicy) + +#### Response + +200 ([Status](../common-definitions/status#status)): OK + +202 ([Status](../common-definitions/status#status)): Accepted + +### `deletecollection` delete collection of Remedy + +#### HTTP Request + +DELETE /apis/remedy.karmada.io/v1alpha1/remedies + +#### Parameters + +- **body**: [DeleteOptions](../common-definitions/delete-options#deleteoptions) + + + +- **continue** (*in query*): string + + [continue](../common-parameter/common-parameters#continue) + +- **dryRun** (*in query*): string + + [dryRun](../common-parameter/common-parameters#dryrun) + +- **fieldSelector** (*in query*): string + + [fieldSelector](../common-parameter/common-parameters#fieldselector) + +- **gracePeriodSeconds** (*in query*): integer + + [gracePeriodSeconds](../common-parameter/common-parameters#graceperiodseconds) + +- **labelSelector** (*in query*): string + + [labelSelector](../common-parameter/common-parameters#labelselector) + +- **limit** (*in query*): integer + + [limit](../common-parameter/common-parameters#limit) + +- **pretty** (*in query*): string + + [pretty](../common-parameter/common-parameters#pretty) + +- **propagationPolicy** (*in query*): string + + [propagationPolicy](../common-parameter/common-parameters#propagationpolicy) + +- **resourceVersion** (*in query*): string + + [resourceVersion](../common-parameter/common-parameters#resourceversion) + +- **resourceVersionMatch** (*in query*): string + + [resourceVersionMatch](../common-parameter/common-parameters#resourceversionmatch) + +- **sendInitialEvents** (*in query*): boolean + + [sendInitialEvents](../common-parameter/common-parameters#sendinitialevents) + +- **timeoutSeconds** (*in query*): integer + + [timeoutSeconds](../common-parameter/common-parameters#timeoutseconds) + +#### Response + +200 ([Status](../common-definitions/status#status)): OK + diff --git a/docs/reference/karmada-api/work-resources/resource-binding-v1alpha2.md b/docs/reference/karmada-api/work-resources/resource-binding-v1alpha2.md index 1379290b..a80b9801 100644 --- a/docs/reference/karmada-api/work-resources/resource-binding-v1alpha2.md +++ b/docs/reference/karmada-api/work-resources/resource-binding-v1alpha2.md @@ -425,6 +425,10 @@ ResourceBindingSpec represents the expectation of ResourceBinding. *ReplicaRequirements represents the requirements required by each replica.* + - **replicaRequirements.namespace** (string) + + Namespace represents the resources namespaces + - **replicaRequirements.nodeClaim** (NodeClaim) NodeClaim represents the node claim HardNodeAffinity, NodeSelector and Tolerations required by each replica. @@ -498,6 +502,10 @@ ResourceBindingSpec represents the expectation of ResourceBinding. Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + - **replicaRequirements.priorityClassName** (string) + + PriorityClassName represents the resources priorityClassName + - **replicaRequirements.resourceRequest** (map[string][Quantity](../common-definitions/quantity#quantity)) ResourceRequest represents the resources required by each replica. diff --git a/sidebars.js b/sidebars.js index ae5639cb..05d63f7b 100644 --- a/sidebars.js +++ b/sidebars.js @@ -402,6 +402,26 @@ module.exports = { "reference/karmada-api/policy-resources/propagation-policy-v1alpha1", ], }, + { + type: "category", + label: "Remedy Resources", + link: { + type: 'generated-index', + }, + items: [ + "reference/karmada-api/remedy-resources/remedy-v1alpha1", + ], + }, + { + type: "category", + label: "Remedy Resources", + link: { + type: 'generated-index', + }, + items: [ + "reference/karmada-api/remedy-resources/remedy-v1alpha1", + ], + }, { type: "category", label: "Search Resources", diff --git a/versioned_docs/version-v1.9/reference/karmada-api/cluster-resources/cluster-v1alpha1.md b/versioned_docs/version-v1.9/reference/karmada-api/cluster-resources/cluster-v1alpha1.md index c3d60f68..4d340ae9 100644 --- a/versioned_docs/version-v1.9/reference/karmada-api/cluster-resources/cluster-v1alpha1.md +++ b/versioned_docs/version-v1.9/reference/karmada-api/cluster-resources/cluster-v1alpha1.md @@ -322,6 +322,10 @@ ClusterStatus contains information about the current status of a cluster updated TotalNum is the total number of nodes in the cluster. +- **remedyActions** ([]string) + + RemedyActions represents the remedy actions that needs to be performed on the cluster. + - **resourceSummary** (ResourceSummary) ResourceSummary represents the summary of resources in the member cluster. diff --git a/versioned_docs/version-v1.9/reference/karmada-api/common-definitions/label-selector.md b/versioned_docs/version-v1.9/reference/karmada-api/common-definitions/label-selector.md index 2063137d..e98b2f8d 100644 --- a/versioned_docs/version-v1.9/reference/karmada-api/common-definitions/label-selector.md +++ b/versioned_docs/version-v1.9/reference/karmada-api/common-definitions/label-selector.md @@ -30,8 +30,6 @@ A label selector is a label query over a set of resources. The result of matchLa - **matchExpressions.key** (string), required - *Patch strategy: merge on key `key`* - key is the label key that the selector applies to. - **matchExpressions.operator** (string), required diff --git a/versioned_docs/version-v1.9/reference/karmada-api/common-definitions/quantity.md b/versioned_docs/version-v1.9/reference/karmada-api/common-definitions/quantity.md index 37eb31f6..b3f709e8 100644 --- a/versioned_docs/version-v1.9/reference/karmada-api/common-definitions/quantity.md +++ b/versioned_docs/version-v1.9/reference/karmada-api/common-definitions/quantity.md @@ -16,7 +16,7 @@ auto_generated: true `import "k8s.io/apimachinery/pkg/api/resource"` -Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshalling in JSON and YAML, in addition to String() and AsInt64() accessors. +Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors. The serialization format is: diff --git a/versioned_docs/version-v1.9/reference/karmada-api/common-parameter/common-parameters.md b/versioned_docs/version-v1.9/reference/karmada-api/common-parameter/common-parameters.md index f59c3cdf..74c215f3 100644 --- a/versioned_docs/version-v1.9/reference/karmada-api/common-parameter/common-parameters.md +++ b/versioned_docs/version-v1.9/reference/karmada-api/common-parameter/common-parameters.md @@ -6,7 +6,7 @@ api_metadata: content_type: "api_reference" description: "" title: "Common Parameters" -weight: 9 +weight: 10 auto_generated: true --- diff --git a/versioned_docs/version-v1.9/reference/karmada-api/networking-resources/multi-cluster-ingress-v1alpha1.md b/versioned_docs/version-v1.9/reference/karmada-api/networking-resources/multi-cluster-ingress-v1alpha1.md index 56a0280c..052941dd 100644 --- a/versioned_docs/version-v1.9/reference/karmada-api/networking-resources/multi-cluster-ingress-v1alpha1.md +++ b/versioned_docs/version-v1.9/reference/karmada-api/networking-resources/multi-cluster-ingress-v1alpha1.md @@ -202,67 +202,89 @@ MultiClusterIngress is a collection of rules that allow inbound connections to r secretName is the name of the secret used to terminate TLS traffic on port 443. Field is left optional to allow TLS routing based on SNI hostname alone. If the SNI host in a listener conflicts with the "Host" header field used by an IngressRule, the SNI host is used for termination and value of the "Host" header is used for routing. -- **status** (IngressStatus) +- **status** ([MultiClusterIngressStatus](../networking-resources/multi-cluster-ingress-v1alpha1#multiclusteringressstatus)) Status is the current state of the MultiClusterIngress. - +## MultiClusterIngressStatus - *IngressStatus describe the current state of the Ingress.* +MultiClusterIngressStatus is the current state of the MultiClusterIngress. - - **status.loadBalancer** (IngressLoadBalancerStatus) +
- loadBalancer contains the current status of the load-balancer. +- **loadBalancer** (IngressLoadBalancerStatus) - + loadBalancer contains the current status of the load-balancer. - *IngressLoadBalancerStatus represents the status of a load-balancer.* + - - **status.loadBalancer.ingress** ([]IngressLoadBalancerIngress) + *IngressLoadBalancerStatus represents the status of a load-balancer.* - ingress is a list containing ingress points for the load-balancer. + - **loadBalancer.ingress** ([]IngressLoadBalancerIngress) - + ingress is a list containing ingress points for the load-balancer. - *IngressLoadBalancerIngress represents the status of a load-balancer ingress point.* + - - **status.loadBalancer.ingress.hostname** (string) + *IngressLoadBalancerIngress represents the status of a load-balancer ingress point.* - hostname is set for load-balancer ingress points that are DNS based. + - **loadBalancer.ingress.hostname** (string) - - **status.loadBalancer.ingress.ip** (string) + hostname is set for load-balancer ingress points that are DNS based. - ip is set for load-balancer ingress points that are IP based. + - **loadBalancer.ingress.ip** (string) - - **status.loadBalancer.ingress.ports** ([]IngressPortStatus) + ip is set for load-balancer ingress points that are IP based. - *Atomic: will be replaced during a merge* + - **loadBalancer.ingress.ports** ([]IngressPortStatus) + + *Atomic: will be replaced during a merge* + + ports provides information about the ports exposed by this LoadBalancer. + + + + *IngressPortStatus represents the error condition of a service port* + + - **loadBalancer.ingress.ports.port** (int32), required + + port is the port number of the ingress port. + + - **loadBalancer.ingress.ports.protocol** (string), required + + protocol is the protocol of the ingress port. The supported values are: "TCP", "UDP", "SCTP" - ports provides information about the ports exposed by this LoadBalancer. + Possible enum values: + - `"SCTP"` is the SCTP protocol. + - `"TCP"` is the TCP protocol. + - `"UDP"` is the UDP protocol. - + - **loadBalancer.ingress.ports.error** (string) - *IngressPortStatus represents the error condition of a service port* + error is to record the problem with the service port The format of the error shall comply with the following rules: - built-in error values shall be specified in this file and those shall use + CamelCase names + - cloud provider specific error values must have names that comply with the + format foo.example.com/CamelCase. - - **status.loadBalancer.ingress.ports.port** (int32), required +- **serviceLocations** ([]ServiceLocation) - port is the port number of the ingress port. + ServiceLocations records the locations of MulticlusterIngress's backend Service resources. It will be set by the system controller. - - **status.loadBalancer.ingress.ports.protocol** (string), required + - protocol is the protocol of the ingress port. The supported values are: "TCP", "UDP", "SCTP" - - Possible enum values: - - `"SCTP"` is the SCTP protocol. - - `"TCP"` is the TCP protocol. - - `"UDP"` is the UDP protocol. + *ServiceLocation records the locations of MulticlusterIngress's backend Service resources.* + + - **serviceLocations.name** (string), required + + name is the referenced service. The service must exist in the same namespace as the MultiClusterService object. + + - **serviceLocations.clusters** ([]string) + + Clusters records the cluster list where the Service is located. - - **status.loadBalancer.ingress.ports.error** (string) +- **trafficBlockClusters** ([]string) - error is to record the problem with the service port The format of the error shall comply with the following rules: - built-in error values shall be specified in this file and those shall use - CamelCase names - - cloud provider specific error values must have names that comply with the - format foo.example.com/CamelCase. + TrafficBlockClusters records the cluster name list that needs to perform traffic block. When the cloud provider implements its multicluster-cloud-provider and refreshes the service backend address to the LoadBalancer Service, it needs to filter out the backend addresses in these clusters. ## MultiClusterIngressList diff --git a/versioned_docs/version-v1.9/reference/karmada-api/networking-resources/multi-cluster-service-v1alpha1.md b/versioned_docs/version-v1.9/reference/karmada-api/networking-resources/multi-cluster-service-v1alpha1.md index c8fce24b..ceecf096 100644 --- a/versioned_docs/version-v1.9/reference/karmada-api/networking-resources/multi-cluster-service-v1alpha1.md +++ b/versioned_docs/version-v1.9/reference/karmada-api/networking-resources/multi-cluster-service-v1alpha1.md @@ -146,6 +146,18 @@ MultiClusterServiceSpec is the desired state of the MultiClusterService. Types specifies how to expose the service referencing by this MultiClusterService. +- **consumerClusters** ([]ClusterSelector) + + ConsumerClusters specifies the clusters where the service will be exposed, for clients. If leave it empty, the service will be exposed to all clusters. + + + + *ClusterSelector specifies the cluster to be selected.* + + - **consumerClusters.name** (string) + + Name is the name of the cluster to be selected. + - **ports** ([]ExposurePort) Ports is the list of ports that are exposed by this MultiClusterService. No specified port will be filtered out during the service exposure and discovery process. All ports in the referencing service will be exposed by default. @@ -162,9 +174,21 @@ MultiClusterServiceSpec is the desired state of the MultiClusterService. Name is the name of the port that needs to be exposed within the service. The port name must be the same as that defined in the service. +- **providerClusters** ([]ClusterSelector) + + ProviderClusters specifies the clusters which will provide the service backend. If leave it empty, we will collect the backend endpoints from all clusters and sync them to the ConsumerClusters. + + + + *ClusterSelector specifies the cluster to be selected.* + + - **providerClusters.name** (string) + + Name is the name of the cluster to be selected. + - **range** (ExposureRange) - Range specifies the ranges where the referencing service should be exposed. Only valid and optional in case of Types contains CrossCluster. If not set and Types contains CrossCluster, all clusters will be selected, that means the referencing service will be exposed across all registered clusters. Deprecated: in favor of ServiceProvisionClusters/ServiceConsumptionClusters. + Range specifies the ranges where the referencing service should be exposed. Only valid and optional in case of Types contains CrossCluster. If not set and Types contains CrossCluster, all clusters will be selected, that means the referencing service will be exposed across all registered clusters. Deprecated: in favor of ProviderClusters/ConsumerClusters. @@ -176,11 +200,11 @@ MultiClusterServiceSpec is the desired state of the MultiClusterService. - **serviceConsumptionClusters** ([]string) - ServiceConsumptionClusters specifies the clusters where the service will be exposed, for clients. If leave it empty, the service will be exposed to all clusters. + ServiceConsumptionClusters specifies the clusters where the service will be exposed, for clients. If leave it empty, the service will be exposed to all clusters. Deprecated: in favor of ProviderClusters/ConsumerClusters. - **serviceProvisionClusters** ([]string) - ServiceProvisionClusters specifies the clusters which will provision the service backend. If leave it empty, we will collect the backend endpoints from all clusters and sync them to the ServiceConsumptionClusters. + ServiceProvisionClusters specifies the clusters which will provision the service backend. If leave it empty, we will collect the backend endpoints from all clusters and sync them to the ServiceConsumptionClusters. Deprecated: in favor of ProviderClusters/ConsumerClusters. ## MultiClusterServiceList diff --git a/versioned_docs/version-v1.9/reference/karmada-api/policy-resources/cluster-propagation-policy-v1alpha1.md b/versioned_docs/version-v1.9/reference/karmada-api/policy-resources/cluster-propagation-policy-v1alpha1.md index 68567c19..ca99c049 100644 --- a/versioned_docs/version-v1.9/reference/karmada-api/policy-resources/cluster-propagation-policy-v1alpha1.md +++ b/versioned_docs/version-v1.9/reference/karmada-api/policy-resources/cluster-propagation-policy-v1alpha1.md @@ -66,6 +66,14 @@ ClusterPropagationPolicy represents the cluster-wide policy that propagates a gr Namespace of the target resource. Default is empty, which means inherit from the parent object scope. + - **spec.activationPreference** (string) + + ActivationPreference indicates how the referencing resource template will be propagated, in case of policy changes. + + If empty, the resource template will respond to policy changes immediately, in other words, any policy changes will drive the resource template to be propagated immediately as per the current propagation rules. + + If the value is 'Lazy' means the policy changes will not take effect for now but defer to the resource template changes, in other words, the resource template will not be propagated as per the current propagation rules until there is an update on it. This is an experimental feature that might help in a scenario where a policy manages huge amount of resource templates, changes to a policy typically affect numerous applications simultaneously. A minor misconfiguration could lead to widespread failures. With this feature, the change can be gradually rolled out through iterative modifications of resource templates. + - **spec.association** (boolean) Association tells if relevant resources should be selected automatically. e.g. a ConfigMap referred by a Deployment. default false. Deprecated: in favor of PropagateDeps. diff --git a/versioned_docs/version-v1.9/reference/karmada-api/policy-resources/propagation-policy-v1alpha1.md b/versioned_docs/version-v1.9/reference/karmada-api/policy-resources/propagation-policy-v1alpha1.md index a24708a2..6cd7d330 100644 --- a/versioned_docs/version-v1.9/reference/karmada-api/policy-resources/propagation-policy-v1alpha1.md +++ b/versioned_docs/version-v1.9/reference/karmada-api/policy-resources/propagation-policy-v1alpha1.md @@ -66,6 +66,14 @@ PropagationPolicy represents the policy that propagates a group of resources to Namespace of the target resource. Default is empty, which means inherit from the parent object scope. + - **spec.activationPreference** (string) + + ActivationPreference indicates how the referencing resource template will be propagated, in case of policy changes. + + If empty, the resource template will respond to policy changes immediately, in other words, any policy changes will drive the resource template to be propagated immediately as per the current propagation rules. + + If the value is 'Lazy' means the policy changes will not take effect for now but defer to the resource template changes, in other words, the resource template will not be propagated as per the current propagation rules until there is an update on it. This is an experimental feature that might help in a scenario where a policy manages huge amount of resource templates, changes to a policy typically affect numerous applications simultaneously. A minor misconfiguration could lead to widespread failures. With this feature, the change can be gradually rolled out through iterative modifications of resource templates. + - **spec.association** (boolean) Association tells if relevant resources should be selected automatically. e.g. a ConfigMap referred by a Deployment. default false. Deprecated: in favor of PropagateDeps. diff --git a/versioned_docs/version-v1.9/reference/karmada-api/remedy-resources/remedy-v1alpha1.md b/versioned_docs/version-v1.9/reference/karmada-api/remedy-resources/remedy-v1alpha1.md new file mode 100644 index 00000000..2b829844 --- /dev/null +++ b/versioned_docs/version-v1.9/reference/karmada-api/remedy-resources/remedy-v1alpha1.md @@ -0,0 +1,498 @@ +--- +api_metadata: + apiVersion: "remedy.karmada.io/v1alpha1" + import: "github.com/karmada-io/karmada/pkg/apis/remedy/v1alpha1" + kind: "Remedy" +content_type: "api_reference" +description: "Remedy represents the cluster-level management strategies based on cluster conditions." +title: "Remedy v1alpha1" +weight: 1 +auto_generated: true +--- + +[//]: # (The file is auto-generated from the Go source code of the component using a generic generator,) +[//]: # (which is forked from [reference-docs](https://github.com/kubernetes-sigs/reference-docs.) +[//]: # (To update the reference content, please follow the `reference-api.sh`.) + +`apiVersion: remedy.karmada.io/v1alpha1` + +`import "github.com/karmada-io/karmada/pkg/apis/remedy/v1alpha1"` + +## Remedy + +Remedy represents the cluster-level management strategies based on cluster conditions. + +
+ +- **apiVersion**: remedy.karmada.io/v1alpha1 + +- **kind**: Remedy + +- **metadata** ([ObjectMeta](../common-definitions/object-meta#objectmeta)) + +- **spec** ([RemedySpec](../remedy-resources/remedy-v1alpha1#remedyspec)), required + + Spec represents the desired behavior of Remedy. + +## RemedySpec + +RemedySpec represents the desired behavior of Remedy. + +
+ +- **actions** ([]string) + + Actions specifies the actions that remedy system needs to perform. If empty, no action will be performed. + +- **clusterAffinity** (ClusterAffinity) + + ClusterAffinity specifies the clusters that Remedy needs to pay attention to. For clusters that meet the DecisionConditions, Actions will be preformed. If empty, all clusters will be selected. + + + + *ClusterAffinity represents the filter to select clusters.* + + - **clusterAffinity.clusterNames** ([]string) + + ClusterNames is the list of clusters to be selected. + +- **decisionMatches** ([]DecisionMatch) + + DecisionMatches indicates the decision matches of triggering the remedy system to perform the actions. As long as any one DecisionMatch matches, the Actions will be preformed. If empty, the Actions will be performed immediately. + + + + *DecisionMatch represents the decision match detail of activating the remedy system.* + + - **decisionMatches.clusterConditionMatch** (ClusterConditionRequirement) + + ClusterConditionMatch describes the cluster condition requirement. + + + + *ClusterConditionRequirement describes the Cluster condition requirement details.* + + - **decisionMatches.clusterConditionMatch.conditionStatus** (string), required + + ConditionStatus specifies the ClusterStatue condition status. + + - **decisionMatches.clusterConditionMatch.conditionType** (string), required + + ConditionType specifies the ClusterStatus condition type. + + - **decisionMatches.clusterConditionMatch.operator** (string), required + + Operator represents a conditionType's relationship to a conditionStatus. Valid operators are Equal, NotEqual. + +## RemedyList + +RemedyList contains a list of Remedy. + +
+ +- **apiVersion**: remedy.karmada.io/v1alpha1 + +- **kind**: RemedyList + +- **metadata** ([ListMeta](../common-definitions/list-meta#listmeta)) + +- **items** ([][Remedy](../remedy-resources/remedy-v1alpha1#remedy)), required + +## Operations + +
+ +### `get` read the specified Remedy + +#### HTTP Request + +GET /apis/remedy.karmada.io/v1alpha1/remedies/{name} + +#### Parameters + +- **name** (*in path*): string, required + + name of the Remedy + +- **pretty** (*in query*): string + + [pretty](../common-parameter/common-parameters#pretty) + +#### Response + +200 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): OK + +### `get` read status of the specified Remedy + +#### HTTP Request + +GET /apis/remedy.karmada.io/v1alpha1/remedies/{name}/status + +#### Parameters + +- **name** (*in path*): string, required + + name of the Remedy + +- **pretty** (*in query*): string + + [pretty](../common-parameter/common-parameters#pretty) + +#### Response + +200 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): OK + +### `list` list or watch objects of kind Remedy + +#### HTTP Request + +GET /apis/remedy.karmada.io/v1alpha1/remedies + +#### Parameters + +- **allowWatchBookmarks** (*in query*): boolean + + [allowWatchBookmarks](../common-parameter/common-parameters#allowwatchbookmarks) + +- **continue** (*in query*): string + + [continue](../common-parameter/common-parameters#continue) + +- **fieldSelector** (*in query*): string + + [fieldSelector](../common-parameter/common-parameters#fieldselector) + +- **labelSelector** (*in query*): string + + [labelSelector](../common-parameter/common-parameters#labelselector) + +- **limit** (*in query*): integer + + [limit](../common-parameter/common-parameters#limit) + +- **pretty** (*in query*): string + + [pretty](../common-parameter/common-parameters#pretty) + +- **resourceVersion** (*in query*): string + + [resourceVersion](../common-parameter/common-parameters#resourceversion) + +- **resourceVersionMatch** (*in query*): string + + [resourceVersionMatch](../common-parameter/common-parameters#resourceversionmatch) + +- **sendInitialEvents** (*in query*): boolean + + [sendInitialEvents](../common-parameter/common-parameters#sendinitialevents) + +- **timeoutSeconds** (*in query*): integer + + [timeoutSeconds](../common-parameter/common-parameters#timeoutseconds) + +- **watch** (*in query*): boolean + + [watch](../common-parameter/common-parameters#watch) + +#### Response + +200 ([RemedyList](../remedy-resources/remedy-v1alpha1#remedylist)): OK + +### `create` create a Remedy + +#### HTTP Request + +POST /apis/remedy.karmada.io/v1alpha1/remedies + +#### Parameters + +- **body**: [Remedy](../remedy-resources/remedy-v1alpha1#remedy), required + + + +- **dryRun** (*in query*): string + + [dryRun](../common-parameter/common-parameters#dryrun) + +- **fieldManager** (*in query*): string + + [fieldManager](../common-parameter/common-parameters#fieldmanager) + +- **fieldValidation** (*in query*): string + + [fieldValidation](../common-parameter/common-parameters#fieldvalidation) + +- **pretty** (*in query*): string + + [pretty](../common-parameter/common-parameters#pretty) + +#### Response + +200 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): OK + +201 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): Created + +202 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): Accepted + +### `update` replace the specified Remedy + +#### HTTP Request + +PUT /apis/remedy.karmada.io/v1alpha1/remedies/{name} + +#### Parameters + +- **name** (*in path*): string, required + + name of the Remedy + +- **body**: [Remedy](../remedy-resources/remedy-v1alpha1#remedy), required + + + +- **dryRun** (*in query*): string + + [dryRun](../common-parameter/common-parameters#dryrun) + +- **fieldManager** (*in query*): string + + [fieldManager](../common-parameter/common-parameters#fieldmanager) + +- **fieldValidation** (*in query*): string + + [fieldValidation](../common-parameter/common-parameters#fieldvalidation) + +- **pretty** (*in query*): string + + [pretty](../common-parameter/common-parameters#pretty) + +#### Response + +200 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): OK + +201 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): Created + +### `update` replace status of the specified Remedy + +#### HTTP Request + +PUT /apis/remedy.karmada.io/v1alpha1/remedies/{name}/status + +#### Parameters + +- **name** (*in path*): string, required + + name of the Remedy + +- **body**: [Remedy](../remedy-resources/remedy-v1alpha1#remedy), required + + + +- **dryRun** (*in query*): string + + [dryRun](../common-parameter/common-parameters#dryrun) + +- **fieldManager** (*in query*): string + + [fieldManager](../common-parameter/common-parameters#fieldmanager) + +- **fieldValidation** (*in query*): string + + [fieldValidation](../common-parameter/common-parameters#fieldvalidation) + +- **pretty** (*in query*): string + + [pretty](../common-parameter/common-parameters#pretty) + +#### Response + +200 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): OK + +201 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): Created + +### `patch` partially update the specified Remedy + +#### HTTP Request + +PATCH /apis/remedy.karmada.io/v1alpha1/remedies/{name} + +#### Parameters + +- **name** (*in path*): string, required + + name of the Remedy + +- **body**: [Patch](../common-definitions/patch#patch), required + + + +- **dryRun** (*in query*): string + + [dryRun](../common-parameter/common-parameters#dryrun) + +- **fieldManager** (*in query*): string + + [fieldManager](../common-parameter/common-parameters#fieldmanager) + +- **fieldValidation** (*in query*): string + + [fieldValidation](../common-parameter/common-parameters#fieldvalidation) + +- **force** (*in query*): boolean + + [force](../common-parameter/common-parameters#force) + +- **pretty** (*in query*): string + + [pretty](../common-parameter/common-parameters#pretty) + +#### Response + +200 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): OK + +201 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): Created + +### `patch` partially update status of the specified Remedy + +#### HTTP Request + +PATCH /apis/remedy.karmada.io/v1alpha1/remedies/{name}/status + +#### Parameters + +- **name** (*in path*): string, required + + name of the Remedy + +- **body**: [Patch](../common-definitions/patch#patch), required + + + +- **dryRun** (*in query*): string + + [dryRun](../common-parameter/common-parameters#dryrun) + +- **fieldManager** (*in query*): string + + [fieldManager](../common-parameter/common-parameters#fieldmanager) + +- **fieldValidation** (*in query*): string + + [fieldValidation](../common-parameter/common-parameters#fieldvalidation) + +- **force** (*in query*): boolean + + [force](../common-parameter/common-parameters#force) + +- **pretty** (*in query*): string + + [pretty](../common-parameter/common-parameters#pretty) + +#### Response + +200 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): OK + +201 ([Remedy](../remedy-resources/remedy-v1alpha1#remedy)): Created + +### `delete` delete a Remedy + +#### HTTP Request + +DELETE /apis/remedy.karmada.io/v1alpha1/remedies/{name} + +#### Parameters + +- **name** (*in path*): string, required + + name of the Remedy + +- **body**: [DeleteOptions](../common-definitions/delete-options#deleteoptions) + + + +- **dryRun** (*in query*): string + + [dryRun](../common-parameter/common-parameters#dryrun) + +- **gracePeriodSeconds** (*in query*): integer + + [gracePeriodSeconds](../common-parameter/common-parameters#graceperiodseconds) + +- **pretty** (*in query*): string + + [pretty](../common-parameter/common-parameters#pretty) + +- **propagationPolicy** (*in query*): string + + [propagationPolicy](../common-parameter/common-parameters#propagationpolicy) + +#### Response + +200 ([Status](../common-definitions/status#status)): OK + +202 ([Status](../common-definitions/status#status)): Accepted + +### `deletecollection` delete collection of Remedy + +#### HTTP Request + +DELETE /apis/remedy.karmada.io/v1alpha1/remedies + +#### Parameters + +- **body**: [DeleteOptions](../common-definitions/delete-options#deleteoptions) + + + +- **continue** (*in query*): string + + [continue](../common-parameter/common-parameters#continue) + +- **dryRun** (*in query*): string + + [dryRun](../common-parameter/common-parameters#dryrun) + +- **fieldSelector** (*in query*): string + + [fieldSelector](../common-parameter/common-parameters#fieldselector) + +- **gracePeriodSeconds** (*in query*): integer + + [gracePeriodSeconds](../common-parameter/common-parameters#graceperiodseconds) + +- **labelSelector** (*in query*): string + + [labelSelector](../common-parameter/common-parameters#labelselector) + +- **limit** (*in query*): integer + + [limit](../common-parameter/common-parameters#limit) + +- **pretty** (*in query*): string + + [pretty](../common-parameter/common-parameters#pretty) + +- **propagationPolicy** (*in query*): string + + [propagationPolicy](../common-parameter/common-parameters#propagationpolicy) + +- **resourceVersion** (*in query*): string + + [resourceVersion](../common-parameter/common-parameters#resourceversion) + +- **resourceVersionMatch** (*in query*): string + + [resourceVersionMatch](../common-parameter/common-parameters#resourceversionmatch) + +- **sendInitialEvents** (*in query*): boolean + + [sendInitialEvents](../common-parameter/common-parameters#sendinitialevents) + +- **timeoutSeconds** (*in query*): integer + + [timeoutSeconds](../common-parameter/common-parameters#timeoutseconds) + +#### Response + +200 ([Status](../common-definitions/status#status)): OK + diff --git a/versioned_docs/version-v1.9/reference/karmada-api/work-resources/resource-binding-v1alpha2.md b/versioned_docs/version-v1.9/reference/karmada-api/work-resources/resource-binding-v1alpha2.md index 1379290b..a80b9801 100644 --- a/versioned_docs/version-v1.9/reference/karmada-api/work-resources/resource-binding-v1alpha2.md +++ b/versioned_docs/version-v1.9/reference/karmada-api/work-resources/resource-binding-v1alpha2.md @@ -425,6 +425,10 @@ ResourceBindingSpec represents the expectation of ResourceBinding. *ReplicaRequirements represents the requirements required by each replica.* + - **replicaRequirements.namespace** (string) + + Namespace represents the resources namespaces + - **replicaRequirements.nodeClaim** (NodeClaim) NodeClaim represents the node claim HardNodeAffinity, NodeSelector and Tolerations required by each replica. @@ -498,6 +502,10 @@ ResourceBindingSpec represents the expectation of ResourceBinding. Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + - **replicaRequirements.priorityClassName** (string) + + PriorityClassName represents the resources priorityClassName + - **replicaRequirements.resourceRequest** (map[string][Quantity](../common-definitions/quantity#quantity)) ResourceRequest represents the resources required by each replica.