I speak here {^_^}

Notes: customizing starship! #27

July 25, 2021

On my local machine, I use a starship cross-shell prompt setup on top of bash (which I truly find as a very handy tool!)

So, as part of my day to day work, I require to spin up or connect to multiple kubernetes & OpenShift clusters at a time. Although starship has an inbuilt kubernetes module, to dynamically configure the shell prompt based on the currently active kubernetes cluster, but for some reason, it never reflected on my kubernetes/OpenShift cluster logins (so far).

And I also didn’t realise that until now, because most of the times, I used a python-based tooling to login into multiple clusters in a containerized manner (in simple words, each cluster login happened in a separate docker container (& not on my host machine)).

And, so the few times, I spinned up local clusters, well, I didn’t notice much. And at other times, on the docker container shell (created for cluster logins), it had custom bash prompts, (& ofcourse, no starship), so, again, it never stuck me.

But today, I was trying to add starship to the above python tooling contianer image & then I realised for the first time, that it didn’t pick up any of the cluster configs or the active namespace value (basically all stuff that the starship’s kubernetes module look for, to configure the prompt accordingly).

So, then I was looking for ways to set up a custom config for starship, to help with this scenario.

Well, it was easy (after a little while of wasted time, in random blind internet search). The official documentation for starship talks about the steps required to add custom configurations..

The default configuration path for the starship is set to ~/.config/starship.toml (which is something that’s not created at the time of fresh install. FYI, starship config command gives you the path.)

So, below are the (very quick) steps that I followed to configure starship to work my with requirements for the kubernetes/OpenShift clusters.

  • create the config file

    mkdir -p ~/.config && touch ~/.config/starship.toml

  • edit the ~/.config/starship.toml file & add the following (⬇️) & save the changes.

    [kubernetes]
    symbol = "☸️  "
    style = "green"
    disabled = false
      
    [username]
    style_user = "bold blue"
    show_always = true
    

Yea, that’s all what was required. The prompt right away, started picking up the changes & showing the required stuff.

psaggu on ☸️  test-openshift-cluster/psaggu-cssre (test-namespace) took 42s
❯