Concepts

Applications and the discovery model

How telark groups workloads into applications.

An application in telark is the unit you reason about. It is not a CRD you create by hand — discovery composes it for you from the workloads already running in your cluster.

How discovery works

Discovery runs as a long-lived service in the cluster. It uses Kubernetes informers to watch every workload kind telark understands, groups them by label selectors, and coalesces rapid bursts of events through a Redis stream so multiple replicas of discovery do not duplicate work.

The grouping is deterministic: given the same set of running workloads, two replicas of discovery will produce the same applications. Adding a workload to a namespace telark is tracking either extends an existing application or creates a new one.

What an application contains

  • A list of workload references (Deployment, StatefulSet, DaemonSet, …).
  • The most recent change cycle — its class, severity, generation, and the snapshot taken before the change.
  • The protection plan, if any, that covers the application.
  • The computed health derived from drift and policy violations.

What namespace exclusion does

Excluded namespaces are skipped entirely. Workloads in them are not discovered, snapshotted, or evaluated against protection plans. The exclusion list is enforced everywhere — listing endpoints respect it, and there is no path that returns excluded resources.

Force-sync

If you need discovery to rescan one application on demand, call the force-sync endpoint. Discovery publishes a marker on the Redis stream that the next-available replica picks up.