From cc6ce78210a35c38362db34b999685e276a5c201 Mon Sep 17 00:00:00 2001 From: Arthur Outhenin-Chalandre Date: Fri, 27 Jun 2025 13:05:04 +0200 Subject: [PATCH] KEP 1645: add ServiceImport conditions Signed-off-by: Arthur Outhenin-Chalandre --- .../1645-multi-cluster-services-api/README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/keps/sig-multicluster/1645-multi-cluster-services-api/README.md b/keps/sig-multicluster/1645-multi-cluster-services-api/README.md index 4ce6a0ed07b..094b7f6e0f9 100644 --- a/keps/sig-multicluster/1645-multi-cluster-services-api/README.md +++ b/keps/sig-multicluster/1645-multi-cluster-services-api/README.md @@ -538,6 +538,11 @@ cluster, non-cluster-admin users should not be allowed to create or modify `ServiceImport` resources. The mcs-controller should be solely responsible for the lifecycle of a `ServiceImport`. +Some errors may occur during the `ServiceImport`'s lifecycle, such as IP protocol +incompatibilities (i.e.: importing an IPv6 only service in an IPv4 cluster). These +errors and general status reporting of a `ServiceImport` should be reported +via its status conditions field. + For each exported service, one `ServiceExport` will exist in each cluster that exports the service. The mcs-controller will create and maintain a derived `ServiceImport` in each cluster within the clusterset so long as the service's @@ -620,6 +625,12 @@ type ServiceImportStatus struct { // +listType=map // +listMapKey=cluster Clusters []ClusterStatus `json:"clusters"` + // +optional + // +patchStrategy=merge + // +patchMergeKey=type + // +listType=map + // +listMapKey=type + Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` } // ClusterStatus contains service configuration mapped to a specific source cluster @@ -644,6 +655,11 @@ spec: port: 80 sessionAffinity: None status: + conditions: + - type: Ready + reason: Ready + status: "True" + lastTransitionTime: "2020-03-30T01:33:51Z" clusters: - cluster: us-west2-a-my-cluster ```