LOOG is a small program that records every change made to one or more Kubernetes resources and lets you browse those revisions.
demo.mp4
go install github.com/loog-project/loog/cmd/loog@latest
$ loog [flags]
Usage of loog:
-filter-expr string
expr filter (default "All()")
-kubeconfig string
(default "/Users/I550629/.kube/config")
-no-cache
if set to true, the store won't cache the data
-non-interactive
set to true to disable the UI
-not-durable
if set to true, the store won't fsync every commit
-out string
dump output file
-resource value
<group>/<version>/<resource> (repeatable)
-snapshot-every uint
patches until snapshot (default 8)
Example: watch Deployments and ConfigMaps, keep data in state.loog
, show the UI.
loog \
-resource apps/v1/deployments \
-resource v1/configmaps \
-out state.loog
Quit with q
or Ctrl‑C
.
The code base is very young and still moving quickly. Pull requests are welcome, but opening an issue first avoids wasted work if the surrounding code changes while you are developing.
Development requires the usual Go tool‑chain and a running Kubernetes cluster (Kind or Minikube is enough).
Unit tests run with go test ./...
.