Skip to content
Like `kubectl get all`, but get really all resources
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update issue templates Feb 16, 2019
cmd Improve documentation for the config file location May 13, 2019
doc Change repo for krew to kubernetes-sigs Apr 14, 2019
hack Upgrade linter and fix new items Apr 12, 2019
pkg/ketall Simplify fetchResources logic May 5, 2019
.gitattributes Use git-lfs for image files Feb 15, 2019
.gitignore Put build files into 'out/' folder Feb 15, 2019
.travis.yml Switch to go-1.12 enable OSX builds May 12, 2019
Dockerfile Update installation instruction Feb 16, 2019
LICENSE Cobra generated root command Feb 14, 2019
Makefile Add some github shields May 12, 2019
go.mod Upgrade patch level of some packages Apr 12, 2019
go.sum Upgrade patch level of some packages Apr 12, 2019
main.go Add smoke tests for cobra commands May 12, 2019


Build Status Go Report Card LICENSE Releases

Kubectl plugin to show really all kubernetes resources


For a complete overview of all resources in a kubernetes cluster, kubectl get all --all-namespaces is not enough, because it simply does not show everything. This helper lists really all resources the cluster has to offer.


ketall demo


Get all resources...

  • ... excluding events (this is hardly ever useful)

  • ... including events

    ketall --exclude=
  • ... created in the last minute

    ketall --since 1m

    This flag understands typical human-readable durations such as 1m or 1y1d1h1m1s.

  • ... in the default namespace

    ketall --namespace=default
  • ... at cluster level

    ketall --only-scope=cluster
  • ... using list of cached server resources

    ketall --use-cache

    Note that this may fail to show really everything, if the http cache is stale.

  • ... and combine with common kubectl options

    KUBECONFIG=otherconfig ketall -o name --context some --namespace kube-system --selector run=skaffold

Also see Usage.


There are several ways to install ketall. The recommended installation method is via krew.

Via krew

Krew is a kubectl plugin manager. If you have not yet installed krew, get it at Then installation is as simple as

kubectl krew install get-all

The plugin will be available as kubectl get-all, see doc/USAGE for further details.


When using the binaries for installation, also have a look at doc/USAGE.


curl -Lo ketall.gz && \
  gunzip ketall.gz && chmod +x ketall && mv ketall $GOPATH/bin/


curl -Lo ketall.gz && \
  gunzip ketall.gz && chmod +x ketall && mv ketall $GOPATH/bin/


From source

Build on host


  • go 1.11 or newer
  • GNU make
  • git


export PLATFORMS=$(go env GOOS)
make all   # binaries will be placed in out/

Build in docker


  • docker


mkdir ketall && chdir ketall
curl -Lo Dockerfile
docker build . -t ketall-builder
docker run --rm -v $PWD:/go/bin/ --env PLATFORMS=$(go env GOOS) ketall-builder
docker rmi ketall-builder

Binaries will be placed in the current directory.


  • additional arguments could be used to filter the result set


Idea by @ahmetb

You can’t perform that action at this time.