Skip to content

Operations — Resources

The Operations page (/operations) is one view of every workload running across your clusters. It replaces the old Overview, Workloads, and GitOps sub-pages. Those URLs now redirect here.

A Resource is one workload, not one Kubernetes object. The same Deployment running in prod-eu, prod-us, and staging is a single Resource with three cluster presences, not three rows.

Resources are grouped by namespace, workload name, and kind. The same name in the same namespace, observed on two clusters, is one Resource with two cluster presences. Image repository, Helm release, and repo URL are identity hints shown in the drawer. They don’t affect grouping. Workloads that only share a base image (every argocd component runs the same image, for instance) stay separate.

Only workload-tier objects are modelled today: Deployments, StatefulSets, DaemonSets, CronJobs, and Jobs.

Five cards sit at the top. Each is a signal you can act on, not a status rollup:

CardShowsState
ResourcesTotal in scopeLive
DegradedResources needing attention (Degraded + Failing)Live
GitOps driftOut-of-sync resourcesShown when the gitops feature flag is on
Network coverageWorkloads in a namespace with no network policyLive once the K8s agent is connected
ZombieNo traffic, no recent deploysLive once traffic analysis is connected

Clicking a card filters the table to that signal. Click it again to clear the filter.

  • Search — matches name, namespace, label, and image. Capped at 200 characters.
  • Subtype — one chip per Kubernetes kind present in the data: Deployment, StatefulSet, DaemonSet, CronJob, Job. A kind with no resources shows no chip.
  • Statusrunning, degraded, failed, pending.
  • Signal — workload signals you can act on. no-netpolicy shows workloads in a namespace with no network policy. The Network coverage KPI card drives the same filter.

Filters live in the URL (?subtype=Job&status=failed), so a filtered view is shareable and browser back/forward steps through filter states.

The pill in the page header scopes the table to your team, a subset of your teams, or all teams. The selection persists per session.

Click a row to open the in-content drawer. It doesn’t dim the page, so you can keep working behind it. Escape or an outside click closes it; the active tab is reflected in the URL hash.

  • Overview: resource identity, the clusters it runs on and what links them, sources of intent, owner, and CPU/memory usage.
  • Instances: one row per cluster the Resource runs in, with namespace, status, replicas, and last sync.
  • Network: whether each of the workload’s namespaces has a network policy.
  • Events: Kubernetes events for the Resource, newest first.

The footer links out to the repo and to ArgoCD when those sources are present. Refresh re-pulls the Events tab.

Two tenant feature flags gate parts of this page. Both default off.

FlagGates
gitopsThe GitOps drift KPI card
metricsThe Resource usage section in the drawer Overview tab

Enable them once the backing integration (a GitOps tool, or metrics-server) is connected. A tenant admin toggles them in feature-flag settings.