What’s recorded
Each change has an outcome:
- Accepted: Kubernetes accepted the request. Completion depends on the workload and cluster state.
- Failed: Kubernetes could not apply the change. When an admission policy prevents it, the entry identifies that cause without exposing internal policy names, expressions or cluster diagnostics.
- Blocked: a PodDisruptionBudget refused an eviction, or a rollout was paused. Thoras retries a blocked eviction on its next pass, and each attempt is listed.
What isn’t recorded
- Changes made while scaling is paused: Thoras makes none, so none are listed.
- Replica counts Thoras adjusts as an HPA scales the workload, and changes made by a DaemonSetAutoscaler.
- Pods removed before the discovery job can observe them, and admissions older than the job’s 10-minute lookback.

