diff --git a/src/main/cluster-manager.ts b/src/main/cluster-manager.ts index 02a56a4e4b..53c79fda7c 100644 --- a/src/main/cluster-manager.ts +++ b/src/main/cluster-manager.ts @@ -192,9 +192,20 @@ export class ClusterManager extends Singleton { cluster.accessibleNamespaces = entity.spec.accessibleNamespaces; } - if (entity.spec.metrics.source !== "local") { - cluster.preferences.prometheusProvider ||= { type: entity.spec.metrics?.prometheus?.type ?? "" }; - cluster.preferences.prometheus = entity.spec.metrics.prometheus.address; + if (entity.spec.metrics) { + const { source, prometheus } = entity.spec.metrics; + + if (source !== "local" && prometheus) { + const { type, address } = prometheus; + + if (type) { + cluster.preferences.prometheusProvider = { type }; + } + + if (address) { + cluster.preferences.prometheus = address; + } + } } this.updateEntityFromCluster(cluster);