diff --git a/src/common/catalog-entities/kubernetes-cluster.ts b/src/common/catalog-entities/kubernetes-cluster.ts index 322675b23a..e1766c1bb0 100644 --- a/src/common/catalog-entities/kubernetes-cluster.ts +++ b/src/common/catalog-entities/kubernetes-cluster.ts @@ -38,9 +38,6 @@ export interface KubernetesClusterPrometheusMetrics { prefix: string; }; type?: string; - icon?: { - src?: string; - }; } export interface KubernetesClusterSpec extends CatalogEntitySpec { @@ -49,7 +46,13 @@ export interface KubernetesClusterSpec extends CatalogEntitySpec { metrics?: { source: string; prometheus?: KubernetesClusterPrometheusMetrics; - } + }; + icon?: { + // TODO: move to CatalogEntitySpec once any-entity icons are supported + src?: string; + material?: string; + background?: string; + }; } export interface KubernetesClusterStatus extends CatalogEntityStatus { diff --git a/src/main/cluster-manager.ts b/src/main/cluster-manager.ts index 66c9bda601..b15cce8ae7 100644 --- a/src/main/cluster-manager.ts +++ b/src/main/cluster-manager.ts @@ -102,7 +102,7 @@ export class ClusterManager extends Singleton { const entity = catalogEntityRegistry.items[index] as KubernetesCluster; this.updateEntityStatus(entity, cluster); - + entity.metadata.labels = Object.assign({}, cluster.labels, entity.metadata.labels); if (cluster.preferences?.clusterName) { @@ -119,7 +119,12 @@ export class ClusterManager extends Singleton { entity.spec.metrics.prometheus = prometheus; } - entity.spec.icon.src = cluster.preferences.icon; + if (cluster.preferences.icon) { + entity.spec.icon ??= {}; + entity.spec.icon.src = cluster.preferences.icon; + } else { + entity.spec.icon = null; + } catalogEntityRegistry.items.splice(index, 1, entity); }