Features

Discovery

Live application discovery, force-sync, namespace exclusion, and multi-replica coordination.

Discovery is the service that turns running workloads into applications and emits events when anything changes. It is one of the three flagship pillars in the Community Edition.

Live application discovery

Discovery starts informers for every Kubernetes kind telark tracks: Deployments, StatefulSets, DaemonSets, Jobs, CronJobs, Services, Ingresses, ConfigMaps, Secrets, PVCs, HPAs, VPAs, NetworkPolicies. As events arrive they are coalesced through a Redis stream so a single logical change does not produce a storm of records.

Each cycle records:

  • class — scaling, image update, config drift, incident, or topology.
  • severity — informational, warning, or critical.
  • generation — monotonic counter for the application.
  • snapshotRef — pointer to the snapshot taken before the change.

Namespace exclusion

Excluded namespaces are skipped at the listing layer. The exclusion list lives in the GlobalConfig CRD and is honoured by every API path that returns resource state.

Force-sync

POST /v1/applications/{name}/sync publishes a marker on the discovery stream. The next-available discovery replica picks it up, re-runs the discovery cycle for that application, and writes the result.

Multi-replica coordination

Discovery replicas elect a leader via Redis. The leader owns informer state; followers serve read traffic and process force-sync markers in the consumer group. Adding replicas is safe and does not duplicate work.