diff --git a/.changeset/silly-plants-kick.md b/.changeset/silly-plants-kick.md
new file mode 100644
index 00000000..d797aec5
--- /dev/null
+++ b/.changeset/silly-plants-kick.md
@@ -0,0 +1,5 @@
+---
+"observability": patch
+---
+
+Fix bug where health state badges show UNKNOWN health state when the extension is not fully configured
diff --git a/pkg/observability/components/ComponentHealth.vue b/pkg/observability/components/ComponentHealth.vue
index d0548f94..919c9427 100644
--- a/pkg/observability/components/ComponentHealth.vue
+++ b/pkg/observability/components/ComponentHealth.vue
@@ -1,6 +1,10 @@
diff --git a/pkg/observability/components/Health/HealthDisc.vue b/pkg/observability/components/Health/HealthDisc.vue
index e9e63e04..147524fd 100644
--- a/pkg/observability/components/Health/HealthDisc.vue
+++ b/pkg/observability/components/Health/HealthDisc.vue
@@ -3,7 +3,7 @@ import { HEALTH_STATE_TYPES } from "../../types/types";
export default {
name: "HealthDisc",
- props: { health: { type: String, default: HEALTH_STATE_TYPES.UNKNOWN } },
+ props: { health: { type: String, default: HEALTH_STATE_TYPES.UNCONFIGURED } },
};
diff --git a/pkg/observability/components/Health/HealthState.vue b/pkg/observability/components/Health/HealthState.vue
index 897a1805..e5d1f423 100644
--- a/pkg/observability/components/Health/HealthState.vue
+++ b/pkg/observability/components/Health/HealthState.vue
@@ -22,7 +22,7 @@ export default {
case HEALTH_STATE_TYPES.CRITICAL:
return "red";
case HEALTH_STATE_TYPES.UNKNOWN:
- case HEALTH_STATE_TYPES.NOT_MONITORED:
+ case HEALTH_STATE_TYPES.UNCONFIGURED:
return "grey";
default:
return "skeleton";
diff --git a/pkg/observability/components/MonitorTab.vue b/pkg/observability/components/MonitorTab.vue
index 33ea2b67..ff3e78bb 100644
--- a/pkg/observability/components/MonitorTab.vue
+++ b/pkg/observability/components/MonitorTab.vue
@@ -97,18 +97,17 @@ export default {
this.urn = this.componentIdentifier;
- const component = await loadComponent(settings, this.urn);
- if (!component) {
+ try {
+ const component = await loadComponent(settings, this.urn);
+ this.monitors = component.syncedCheckStates;
+
+ this.url = settings.url;
+ } catch (e) {
this.observationStatus = await loadObservationStatus(
this.clusterId,
settings,
);
- return;
}
-
- this.monitors = component.syncedCheckStates;
-
- this.url = settings.url;
},
};
diff --git a/pkg/observability/formatters/ComponentLinkedHealthState.vue b/pkg/observability/formatters/ComponentLinkedHealthState.vue
index 0bf1f1da..8fad4e5b 100644
--- a/pkg/observability/formatters/ComponentLinkedHealthState.vue
+++ b/pkg/observability/formatters/ComponentLinkedHealthState.vue
@@ -1,7 +1,11 @@