Show warning on the row when MeshService has a hostname conflict
Description
If MeshService has a collision message in the status we probably can show a warning icon on the row.
apiVersion: kuma.io/v1alpha1
kind: MeshService
metadata:
annotations:
kuma.io/display-name: redis-1-5d8fd79dcd
creationTimestamp: "2024-07-26T08:53:55Z"
generation: 90
labels:
apps.kubernetes.io/pod-index: "1"
k8s.kuma.io/is-headless-service: "true"
k8s.kuma.io/namespace: kuma-demo
k8s.kuma.io/service-name: redis
kuma.io/managed-by: k8s-controller
kuma.io/mesh: default
kuma.io/origin: global
kuma.io/zone: eu-west
statefulset.kubernetes.io/pod-name: redis-1
name: redis-1-5d8fd79dcd-wf724d7x7x4z62w2
namespace: kuma-system
resourceVersion: "84496"
uid: 1dee7502-22e0-48bf-ab42-9bd0b19970ed
spec:
identities:
- type: ServiceTag
value: redis_kuma-demo_svc_6379
ports:
- appProtocol: tcp
port: 6379
targetPort: 6379
selector:
dataplaneRef:
name: redis-1.kuma-demo
state: Available
status:
dataplaneProxies: {}
hostnameGenerators:
- conditions:
- message: 'Hostname collision with MeshService: redis-1-5d8fd79dcd-wf724d7x7x4z62w2.kuma-system'
reason: Collision
status: "False"
type: Generated
hostnameGeneratorRef:
coreName: local-headless-kube-mesh-service.kuma-system
tls: {}
vips:
- ip: 241.0.0.1
triage: collision is currently the only warning
Worth checking with backend whether this works on Global too or not
The way it works on global is that MeshService is synced with status field for visibility.
For example, this MS is from eu-west. If we had a conflict in eu-west, we would see this in status just like in the YAML.
However, if this MS is fine in eu-west but has a conflict in eu-east, we would not see this in status.
Ok so we can't do this easily. Closing...