Skip to main content

A custom Powerline segment for displaying the current Kubernetes context and namespace

Project description

powerline-k8s

PyPI PyPI_Python_Version License Docs CI codecov

A custom Powerline segment for displaying the current Kubernetes context and namespace.

Installation

Using pip

$ pip install powerline-k8s

Configuration

Colorscheme

Add the following config items to your Powerline colorscheme config file (usually located at ~/.config/powerline/colorschemes/), see Powerline Colorschemes for more info.

{
  "k8s":           { "fg": "solarized:blue", "bg": "solarized:base02", "attrs": [] },
  "k8s_namespace": { "fg": "solarized:red",  "bg": "solarized:base02", "attrs": [] },
  "k8s_context":   { "fg": "solarized:blue", "bg": "solarized:base02", "attrs": [] },
  "k8s:divider":   { "fg": "gray4",          "bg": "solarized:base02", "attrs": [] }
}

Segment

Add the following config item to your Powerline segments config file, see Powerline Segment reference for more info.

{
  "function": "powerline_k8s.k8s",
  "priority": 30
}
  • If adding the segment to the shell, edit ~/.config/powerline/themes/shell/default.json.
  • If adding the segment to the tmux status line, edit ~/.config/powerline/themes/tmux/default.json.

Alternative config location

If your Kubernetes config file is not in the default location ~/.kube/config, you can point to it by setting the value of the $KUBECONFIG environment variable to where your config file is.

Toggle visibility

Toggle entire segment or specific section's visibility with the following environment variables:

  • POWERLINE_K8S_SHOW
  • POWERLINE_K8S_SHOW_NS

Note: Full segment visibility takes precedence over namespace section visibility.

# toggle segment visibility
$ POWERLINE_K8S_SHOW=0 powerline-daemon --replace # hide powerline-k8s segment
$ POWERLINE_K8S_SHOW=1 powerline-daemon --replace # show powerline-k8s segment (default)

# toggle namespace section visibility
$ POWERLINE_K8S_SHOW_NS=0 powerline-daemon --replace # hide namespace section
$ POWERLINE_K8S_SHOW_NS=1 powerline-daemon --replace # show namespace section (default)

Alternatively you can add the following function to your shell for easier toggling:

toggle_powerline_k8s() {
  case "$1" in
    # pass the '-ns' flag to toggle namespace visibility
    "-ns" | "--namespace")
      if [[ "${POWERLINE_K8S_SHOW_NS:-1}" -eq 1 ]]; then
        export POWERLINE_K8S_SHOW_NS=0
      else
        export POWERLINE_K8S_SHOW_NS=1
      fi
    ;;
    *)
      # toggle segment visibility
      if [[ "${POWERLINE_K8S_SHOW:-1}" -eq 1 ]]; then
        export POWERLINE_K8S_SHOW=0
      else
        export POWERLINE_K8S_SHOW=1
      fi
    ;;
  esac
}

Demo

asciicast

Stats

Alt

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

powerline_k8s-1.5.3.tar.gz (4.6 kB view hashes)

Uploaded Source

Built Distribution

powerline_k8s-1.5.3-py3-none-any.whl (4.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page