Skip to content
Like `kubectl get all`, but get really all resources
Branch: master
Clone or download
Permalink
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
CONTRIBUTING.md
Dockerfile Update installation instruction Feb 16, 2019
LICENSE Cobra generated root command Feb 14, 2019
Makefile
README.md 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

README.md

ketall

Build Status Go Report Card LICENSE Releases

Kubectl plugin to show really all kubernetes resources

Intro

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.

Demo

ketall demo

Examples

Get all resources...

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

    ketall
  • ... 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.

Installation

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 https://github.com/kubernetes-sigs/krew. 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.

Binaries

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

Linux

curl -Lo ketall.gz https://github.com/corneliusweig/ketall/releases/download/v1.2.0/ketall-linux-amd64.gz && \
  gunzip ketall.gz && chmod +x ketall && mv ketall $GOPATH/bin/

OSX

curl -Lo ketall.gz https://github.com/corneliusweig/ketall/releases/download/v1.2.0/ketall-darwin-amd64.gz && \
  gunzip ketall.gz && chmod +x ketall && mv ketall $GOPATH/bin/

Windows

https://github.com/corneliusweig/ketall/releases/download/v1.2.0/ketall-windows-amd64.zip

From source

Build on host

Requirements:

  • go 1.11 or newer
  • GNU make
  • git

Compiling:

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

Build in docker

Requirements:

  • docker

Compiling:

mkdir ketall && chdir ketall
curl -Lo Dockerfile https://raw.githubusercontent.com/corneliusweig/ketall/master/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.

Future

  • additional arguments could be used to filter the result set

Credits

Idea by @ahmetb https://twitter.com/ahmetb/status/1095374856156196864

You can’t perform that action at this time.