README.md

September 3, 2026 · View on GitHub

 ___  ____  _  _    _____ ____  _____ _   _ ____  _   _ ___ _____ _____
|_  ||_   ||| ||   / ___// ___// ___|| | | / ___|| | | |_ _|  ___|_   _|
  | |  | | | || |  | |_  \___ \\___ \| |_| \___ \| |_| || || |_    | |
  | |  | | | || |  |  _|  ___) |___) |  _  |___) |  _  || ||  _|   | |
  |_|  |_| ||_||_|  |_|   |____/____/|_| |_|____/|_| |_|___|_|     |_|
       __ _ _ _  __ _ ___  ___  ____
      / _` | | |/ _` / __|/ _ \/ ___|
     | (_| | | | (_| \__ \  __/\___ \
      \__,_|_|_|\__,_|___/\___||____/

// `oc` IS A WORD. `og`, `ologin`, `ocdev`, `ocqa` ARE THE GRID. 53 ALIASES. ONE PLUGIN.

Read the Docs · Engineering Report


Aliases Tag Shell Tool License: MIT

[SIGNAL // 53 OPENSHIFT ALIASES + oc COMPLETION + LOGIN MACROS]

// jacking into your OpenShift cluster from zsh — no more oc get pods --namespace-by-hand //


> SYSTEM OVERVIEW

zsh-openshift-aliases registers 53 short aliases over oc (the OpenShift CLI) plus pre-wired login macros for dev/QA endpoints and zsh tab-completion for the oc binary. Auto-noops on hosts where oc is missing — safe to load in zpwr-tier plugin chains without command -v guards in your .zshrc.

Set OCP_USERNAME, OCP_DEV_URL, OCP_QA_URL in your env, then ocdev / ocqa log you in with one keystroke.


> WHAT YOU GET

[x] 53 oc aliases (og=get, odep=apply -f, odesc=describe, olog=logs -f, ...)
[x] ologin       — oc rsh into running pod
[x] ocdev/ocqa   — env-driven login macros
[x] oc completion auto-sourced when `oc` is on PATH
[x] no-op when `oc` isn't installed — safe to load unconditionally

> INSTALL

Zinit

zinit ice lucid nocompile
zinit load MenkeTechnologies/zsh-openshift-aliases

Oh My Zsh

cd "$HOME/.oh-my-zsh/custom/plugins" && \
  git clone https://github.com/MenkeTechnologies/zsh-openshift-aliases.git

Add zsh-openshift-aliases to the plugins=(...) array in ~/.zshrc.

Manual

git clone https://github.com/MenkeTechnologies/zsh-openshift-aliases.git
source zsh-openshift-aliases/zsh-openshift-aliases.plugin.zsh

> CONFIG

Set in ~/.zshrc after the plugin loads — the plugin initializes all three to empty strings on source, so values set beforehand are overwritten:

export OCP_USERNAME='your-username'
export OCP_DEV_URL='https://api.dev.example.com:6443'
export OCP_QA_URL='https://api.qa.example.com:6443'

Then:

ocdev      # oc login $OCP_DEV_URL -u $OCP_USERNAME
ocqa       # oc login $OCP_QA_URL -u $OCP_USERNAME
ologin     # oc rsh into the focused pod
og pods    # oc get pods
odep foo.yaml  # oc apply -f foo.yaml

> LICENSE

MIT


// END OF FILE // CLUSTER LOCKED //