so0k / powerline-kubernetes

A Powerline segment to show your current Kubernetes context
MIT License
41 stars 19 forks source link
kubernetes kubernetes-context kubernetes-segment pipeline powerline powerline-kubernetes python segment

Powerline Kubernetes PyPI version

A Powerline segment to show the current Kubernetes context.

This segment shows the Kubernetes context together with a nice looking helm. Please feel free to propose more features and give me ideas on how to improve it.

Update: Now completely compatible with Kubernetes API 9.0.

 Requirements

The Kubernetes segment requires kubectl and official kubernetes Python API.

 Installation

Installing the Kubernetes segment can be done with pip:

$ pip install powerline-kubernetes

The Kubernetes segment uses a couple of custom highlight groups. You'll need to define those groups in your colorscheme, for example in .config/powerline/colorschemes/default.json:

{
  "groups": {
    "kubernetes_cluster":         { "fg": "gray10", "bg": "darkestblue", "attrs": [] },
    "kubernetes_cluster:alert":   { "fg": "gray10", "bg": "darkestred",  "attrs": [] },
    "kubernetes_namespace":       { "fg": "gray10", "bg": "darkestblue", "attrs": [] },
    "kubernetes_namespace:alert": { "fg": "gray10", "bg": "darkred",     "attrs": [] },
    "kubernetes:divider":         { "fg": "gray4",  "bg": "darkestblue", "attrs": [] },
  }
}

Then you can activate the Kubernetes segment by adding it to your segment configuration, for example in .config/powerline/themes/shell/default.json:

{
    "function": "powerline_kubernetes.kubernetes",
    "priority": 30,
    "args": {
        "show_kube_logo": true, // set to false to omit the Kube logo
        "show_cluster": true, // show cluster name
        "show_namespace": true, // show namespace name
        "show_default_namespace": false, // do not show namespace name if it's "default"
        "alerts": [
          "live", // show line in different color when namespace matches
          "cluster:live"  // show line in different color when cluster name and namespace match
        ]
    }
}

By default the segment will look for the Kubernetes config under ~/.kube/config.

 License

Licensed under the MIT License.

Authors

Created by so0k. Code contributions by:


Inspired by powerline-docker.