Overview
dorgu report answers “is this working here?” from the cluster’s own records. It reads RemediationAction, IncidentMemory, persona and Event resources, computes the numbers below for a time window, and prints them. It sends nothing anywhere. If you are a design partner, the output is what you paste to the Dorgu team.
It is read-only and needs CLI v0.14.0. The heal and refusal sections need operator v0.13.0 or newer, which is the release that writes the records they are computed from.
It never prints a zero for something it could not measure. A figure with no sample behind it reads
no data (null with no_data: true in JSON). A cluster read that fails is named in the output, and every section that depends on it says no data with the reason. A zero in this report is a measurement.Synopsis
Flags
Examples
What it reports
The text output labels some lines with short IDs (
A2, A5, A6, Q1, Q2, Q3, Q6). They name the measure, so two pasted reports can be compared line by line.
Example output
This is real output from the report’s own test fixture, with the cluster name changed. Your numbers will differ. Long lines are shortened with....
no data (reason). In the example, Q3 has no data because model calls and cost per incident are operator metrics (see the metrics reference) and are not stored on any resource.
JSON output
--json prints one document. schema is dorgu.report/v1, and it changes only when a field is removed or its meaning changes. New fields can be added without a new version, so read the fields you need and ignore the rest.
not_measurable entries. These are the top-level fields and what they hold:
The operator line in the header
The header prints the operator version only when the operator’s image tag is a release version. A commit hash,latest or dev reads Operator: unreleased build <tag>, so a build identifier is never shown as if it were a version. cluster.operator_version in the JSON keeps the raw tag.
Older operators
Against an operator older thanv0.13.0, which writes no tickets and no HealCredited record, the heal sections are no data with the operator version in the reason. The same is true when the operator version cannot be determined (for example an image pinned by digest, or a tag such as latest) and the window has completed actions with no HealCredited record. The report fails toward no data, not toward a measured zero.
Permissions
The report reads, with the identity in your kubeconfig,remediationactions, incidentmemories, applicationpersonas, clusterpersonas, Events about RemediationActions, and Deployments (to read the operator’s version). If a read is forbidden, it is listed in input_errors and the sections that depend on it say no data. The command needs kubectl on your PATH, like every dorgu command that talks to the cluster.
Related
How Dorgu decides
The pipeline these numbers describe
dorgu remediation
reject --reason feeds proposal precisionMetrics reference
The same events as Prometheus metrics