conf2/zsh/.oh-my-zsh/plugins/kube-ps1/README.md

105 lines
3.2 KiB
Markdown
Raw Normal View History

# Kubernetes prompt for zsh
2019-01-12 15:47:23 +00:00
A Kubernetes zsh prompt that displays the current cluster cluster
and the namespace.
2019-01-12 15:47:23 +00:00
Inspired by several tools used to simplify usage of kubectl
2019-01-12 15:47:23 +00:00
NOTE: If you are not using zsh, check out [kube-ps1](https://github.com/jonmosco/kube-ps1)
designed for bash as well as zsh.
2019-01-12 15:47:23 +00:00
## Requirements
2019-01-12 15:47:23 +00:00
The default prompt assumes you have the kubectl command line utility installed. It
can be obtained here:
2019-01-12 15:47:23 +00:00
[Install and Set up kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/)
2019-01-12 15:47:23 +00:00
If using this with OpenShift, the oc tool needs installed. It can be obtained from here:
2019-01-12 15:47:23 +00:00
[OC Client Tools](https://www.openshift.org/download.html)
2019-01-12 15:47:23 +00:00
## Helper utilities
2019-01-12 15:47:23 +00:00
There are several great tools that make using kubectl very enjoyable.
2019-01-12 15:47:23 +00:00
[kubectx and kubenx](https://github.com/ahmetb/kubectx) are great for
fast switching between clusters and namespaces.
2019-10-24 19:09:05 +00:00
## Prompt Structure
2020-06-11 14:41:32 +00:00
The prompt layout is:
2020-06-11 14:41:32 +00:00
```
(<symbol>|<cluster>:<namespace>)
2019-10-24 19:09:05 +00:00
```
2020-06-11 14:41:32 +00:00
## Enabling
2019-10-24 19:09:05 +00:00
In order to use kube-ps1 with Oh My Zsh, you'll need to enable them in the
.zshrc file. You'll find the zshrc file in your $HOME directory. Open it with
your favorite text editor and you'll see a spot to list all the plugins you
want to load.
2019-10-24 19:09:05 +00:00
```shell
vim $HOME/.zshrc
2020-06-11 14:41:32 +00:00
```
Add kube-ps1 to the list of enabled plugins and enable it on the prompt:
2020-06-11 14:41:32 +00:00
```shell
plugins=(
git
kube-ps1
)
2020-06-11 14:41:32 +00:00
# After the "source Oh My Zsh" line
PROMPT=$PROMPT'$(kube_ps1) '
```
2020-06-11 14:41:32 +00:00
Note: The `PROMPT` example above was tested with the theme `robbyrussell`.
2020-06-11 14:41:32 +00:00
## Enabling / Disabling on the current shell
2020-06-11 14:41:32 +00:00
Sometimes the kubernetes information can be anoying, you can easily
switch it on and off with the following commands:
2019-10-24 19:09:05 +00:00
```shell
kubeon
2020-06-11 14:41:32 +00:00
```
2019-01-12 15:47:23 +00:00
```shell
kubeoff
2020-06-11 14:41:32 +00:00
```
## Colors
2020-06-11 14:41:32 +00:00
Blue was used as the prefix to match the Kubernetes color as closely as
possible. Red was chosen as the cluster name to stand out, and cyan
for the namespace. Check the customization section for changing them.
2019-01-12 15:47:23 +00:00
## Customization
The default settings can be overridden in ~/.zshrc
2019-01-12 15:47:23 +00:00
| Variable | Default | Meaning |
| :------- | :-----: | ------- |
| `KUBE_PS1_BINARY` | `kubectl` | Default Kubernetes binary |
| `KUBE_PS1_PREFIX` | `(` | Prompt opening character |
| `KUBE_PS1_SYMBOL_ENABLE` | `true ` | Display the prompt Symbol. If set to `false`, this will also disable `KUBE_PS1_SEPARATOR` |
| `KUBE_PS1_SYMBOL_DEFAULT` | `⎈ ` | Default prompt symbol. Unicode `\u2388` |
| `KUBE_PS1_SYMBOL_USE_IMG` | `false` | ☸️ , Unicode `\u2638` as the prompt symbol |
| `KUBE_PS1_NS_ENABLE` | `true` | Display the namespace. If set to `false`, this will also disable `KUBE_PS1_DIVIDER` |
| `KUBE_PS1_SEPERATOR` | `\|` | Separator between symbol and cluster name |
| `KUBE_PS1_DIVIDER` | `:` | Separator between cluster and namespace |
2019-01-12 15:47:23 +00:00
| `KUBE_PS1_SUFFIX` | `)` | Prompt closing character |
| `KUBE_PS1_COLOR_SYMBOL` | `"%F{blue}"` | Custom color for the symbol |
| `KUBE_PS1_COLOR_CONTEXT` | `"%F{red}"` | Custom color for the context |
| `KUBE_PS1_COLOR_NS` | `"%F{cyan}"` | Custom color for the namespace |
| `KUBE_PS1_ENABLED` | `true` | Set to false to start disabled on any new shell, `kubeon`/`kubeoff` will flip this value on the current shell |
2019-01-12 15:47:23 +00:00
## Contributors
- Jared Yanovich
- Pedro Moranga