An open API service indexing awesome lists of open source software.

https://github.com/tony612/kexplain

Kexplain is an interactive kubectl explain
https://github.com/tony612/kexplain

cli documentation go golang k8s kubectl kubectl-plugins kubernetes terminal

Last synced: about 1 year ago
JSON representation

Kexplain is an interactive kubectl explain

Awesome Lists containing this project

README

          

# Kexplain

Kexplain is an interactive `kubectl explain`. It supports viewing the resource documentation
like `less` and jumping around between documentation of fields.

When kube config doesn't exist or k8s API is not available, a static API document from
[GitHub](https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/swagger.json) will be used.
So you can use `kexplain` without k8s clusters!

[![asciicast](https://asciinema.org/a/492648.svg)](https://asciinema.org/a/492648)

## Install

* Pre-compiled binaries are available in the [release](https://github.com/tony612/kexplain/releases) page

* Docker

```
docker run --rm -it tony612/kexplain pod.spec
```

* Building from source code

```
make build
cp _out/kexplain /YOUR/PATH

# or docker
make docker-build
```

## Usage

```
# Get the documentation of the resource and its fields
kexplain pod

# Get the documentation of a specific field of a resource
kexplain pod.spec.containers
```

Then move around. See Key bindings.

## Key bindings

| Key | Action |
| --- | ----------------- |
| j / Ctrl-n / | Move one line down |
| k / Ctrl-p/ | Move one line up |
| Tab | Select next field |
| Shift+Tab | Select previous field |
| Alt-] / Alt+ / Enter | Go to the documentation of the selected field |
| Alt-[ / Alt+ | Go back to the previous documentation |
| Ctrl-f | Move one page down |
| Ctrl-b | Move one page up |
| g | Move to the head |
| G | Move to the bottom |
| /, type `word`, Enter | Search `word` |
| n | Repeat previous search |
| N | Repeat previous search in reverse direction. |
| q / Q | Quit |