hull audit
hull audit prints the chronological change log for one release — every
revision, who made it, what action it was, and when.
When to use it
- To answer “who changed this release, and when?” for a SOC 2 / SLSA review, an incident, or a change-management sign-off.
- Before a rollback, to see which revision you want to return to.
- To feed the trail into another tool with
--output jsonor--output yaml.
What happens
- You name a release. hull reads its full revision history from the cluster.
- Each revision prints as a row: revision number, action (install / upgrade / rollback), the user who ran it, its status, and the timestamp.
- With
--revision N, only that one revision is shown; the rest are dropped. - With
--output jsonoryaml, the same records are emitted as structured data — including the recorded flags, value files, kubeconfig context, and hostname — instead of the table. - If the release has no history, hull prints
no history for <name>and exits cleanly.
Usage
hull audit <release-name> [flags]
Flags
| Flag | Type | Default | Description |
|---|---|---|---|
-o, --output |
string | table |
pick the rendering: table (summary rows), json, or yaml (full provenance) |
--revision |
int | 0 |
show only this revision; 0 shows every revision |
Persistent flags inherited from hull
| Flag | Type | Description |
|---|---|---|
--debug |
— | enable debug output |
--kube-context |
string | Kubernetes context to use |
--kubeconfig |
string | path to kubeconfig file |
-n, --namespace |
string | Kubernetes namespace |
Worked example
Show the full trail for the web-api release:
hull audit web-api -n prod
Output:
REVISION ACTION USER STATUS TIMESTAMP
1 install alice@corp superseded 2026-07-10 09:14:02
2 upgrade bob@corp superseded 2026-07-12 16:40:55
3 rollback alice@corp deployed 2026-07-15 11:22:07
Read one revision as JSON, with the flags and value files that produced it:
hull audit web-api --revision 2 -n prod --output json
Output:
[
{
"revision": 2,
"action": "upgrade",
"user": "bob@corp",
"hostname": "ci-runner-7",
"context": "prod",
"flags": ["--set", "replicas=3"],
"valueFiles": ["prod.yaml"],
"parentRev": 1,
"status": "superseded",
"timestamp": "2026-07-12T16:40:55Z"
}
]
A release that was never deployed prints:
no history for web-api