## What this PR does Adds two features to improve application observability in the dashboard, plus a bug fix: ### 1. WorkloadsReady condition on Application status - Queries WorkloadMonitor resources to determine if all application pods are running - Exposes `WorkloadsReady` as a separate condition alongside `Ready` - `Ready` continues to reflect HelmRelease state only — no override — to preserve backward compatibility with existing tooling (kubectl wait, GitOps health checks) and avoid false-negative Ready=False during normal startup windows - Handles three states: operational, not operational, unknown (pending reconciliation) - Fails open on WorkloadMonitor query errors (prefers availability) - Integrates with Application Watch to emit MODIFIED events on WorkloadMonitor changes - Registers cozystack.io/v1alpha1 types in API server scheme with informer cache ### 2. Events tab in dashboard - Shows Kubernetes Events scoped to the application's namespace - Uses status.namespace for Tenant applications (consistent with Resource Quotas tab) - Includes both lastTimestamp and eventTime columns for Kubernetes version compatibility ### 3. Bug fix: WorkloadMonitor Operational status persistence - Operational field was written to stale `monitor` variable instead of `fresh` inside RetryOnConflict, so it was never persisted to the cluster Closes #2359 Closes #2360 ### Release note ```release-note [dashboard] Added Events tab to application detail pages showing namespace-scoped Kubernetes Events [application] Added WorkloadsReady condition exposing aggregated WorkloadMonitor status [workloadmonitor] Fixed bug where Operational status was never persisted to the cluster ``` |
||
|---|---|---|
| .. | ||
| backupcontroller | ||
| controller | ||
| cozyvaluesreplicator | ||
| crdinstall | ||
| fluxinstall | ||
| lineagecontrollerwebhook | ||
| manifestutil | ||
| operator | ||
| shared/crdmem | ||
| sse | ||
| telemetry | ||
| template | ||