kl status, kl history, and kl diff

These commands are the “understand what is happening” surface.

Use them together whenever an apply is slow, unexpected, or suspicious.

kl status

kl status shows the live operational picture for one state:

  • HTTP backend lock
  • in-flight apply runs
  • held reservations

Example

kl status big-state

Use it when someone asks:

  • Is an apply stuck?
  • Is another operator holding the state?
  • Are reservations blocking my change?

kl history

kl history lists append-only state versions, newest first.

Example

kl history big-state --limit 5

Use it when you want:

  • the latest state version chain
  • a rollback target
  • a timeline after repair or drift events

kl diff

kl diff shows resource attribute differences between two versions.

Example

kl diff big-state --from=@1 --to=current --summary

Use it when you want:

  • a quick “what changed?” answer after apply
  • a focused view before rollback
  • filtered inspection of only one address family

More examples

kl diff big-state --from=@2 --to=current --address 'time_sleep.*'
kl diff big-state --format unified
kl diff big-state --format json

Good combined workflow

kl status big-state
kl history big-state --limit 10
kl diff big-state --from=@1 --to=current --summary

That sequence answers:

  1. what is active now
  2. what versions exist
  3. what the latest write actually changed