OC(1)

πŸ“¦
version 4.22.0 Β· 2 versions
, in nixpkgs unstable

πŸ’… OC(1): oc completion πŸ’…

okay bestie, welcome to the OpenShift CLI User Manuals page for oc completion β€” yes that's the manual name, yes it's giving "official documentation but make it cute" πŸŽ€ this one's from June 2016 and we're gonna get through it together, no cap.


✨ NAME ✨

oc completion β€” spit out shell completion code for whichever shell you name: bash, zsh, fish, or powershell. literally that's the whole job 🫢


🌸 SYNOPSIS 🌸

oc completion [OPTIONS]

πŸ¦‹ DESCRIPTION πŸ¦‹

so the whole point: this dumps shell completion code for the shell you picked (bash or zsh). but here's the thing β€” the code doesn't do anything until the shell actually evaluates it, and that's what gives you the interactive completion for oc commands ✨ one way to make that happen is sourcing it from your .bash_profile.

🧚 note for zsh girlies: [1] zsh completions are only supported in versions of zsh >= 5.2. if you're on something older, this is not the vibe, sorry 😭

πŸ‘‘ OPTIONS INHERITED FROM PARENT COMMANDS πŸ‘‘

these aren't even oc completion's own flags, they're inherited from the parent command β€” but they're all here, every single one, because we don't skip πŸ’…

  • --as="" β€” username to impersonate for the operation. could be a regular user or a service account in a namespace 🫢
  • --as-group=[] β€” group to impersonate for the operation. this flag can be repeated to specify multiple groups.
  • --as-uid="" β€” UID to impersonate for the operation.
  • --as-user-extra=[] β€” user extras to impersonate for the operation. this flag can be repeated to specify multiple values for the same key.
  • --cache-dir="/homeless-shelter/.kube/cache" β€” default cache directory.
  • --certificate-authority="" β€” path to a cert file for the certificate authority.
  • --client-certificate="" β€” path to a client certificate file for TLS.
  • --client-key="" β€” path to a client key file for TLS.
  • --cluster="" β€” the name of the kubeconfig cluster to use.
  • --context="" β€” the name of the kubeconfig context to use.
  • --disable-compression=false β€” if true, opt out of response compression for all requests to the server.
  • --insecure-skip-tls-verify=false β€” if true, the server's certificate won't be checked for validity.
πŸ’€ careful babes: this will make your HTTPS connections insecure. like, actually insecure. not a cute look for prod.
  • --kubeconfig="" β€” path to the kubeconfig file to use for CLI requests.
  • --kuberc="" β€” path to the kuberc file to use for preferences. this can be disabled by exporting KUBECTL_KUBERC=false feature gate or turning off the feature KUBERC=off.
  • --match-server-version=false β€” require server version to match client version.
  • -n, --namespace="" β€” if present, the namespace scope for this CLI request.
  • --profile="none" β€” name of profile to capture. one of (none|cpu|heap|goroutine|threadcreate|block|mutex) β€” pick your fighter πŸ₯Š
  • --profile-output="profile.pprof" β€” name of the file to write the profile to.
  • --request-timeout="0" β€” the length of time to wait before giving up on a single server request. non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). a value of zero means don't timeout requests.
  • -s, --server="" β€” the address and port of the Kubernetes API server.
  • --tls-server-name="" β€” server name to use for server certificate validation. if it's not provided, the hostname used to contact the server is used.
  • --token="" β€” bearer token for authentication to the API server.
  • --user="" β€” the name of the kubeconfig user to use.
  • --warnings-as-errors=false β€” treat warnings received from the server as errors and exit with a non-zero exit code. highkey dramatic but okay πŸ”₯

🌈 EXAMPLE 🌈

this is the part where the manpage just hands you the whole recipe book, and honestly? iconic. all the commands below are exactly as written, so copy with confidence πŸ’–

# Installing bash completion on macOS using homebrew
## If running Bash 3.2 included with macOS
brew install bash-completion
## or, if running Bash 4.1+
brew install bash-completion@2
## If oc is installed via homebrew, this should start working immediately
## If you've installed via other means, you may need add the completion to your completion directory
oc completion bash > $(brew --prefix)/etc/bash_completion.d/oc

# Installing bash completion on Linux
## If bash-completion is not installed on Linux, install the 'bash-completion' package
## via your distribution's package manager.
## Load the oc completion code for bash into the current shell
source <(oc completion bash)
## Write bash completion code to a file and source it from .bash_profile
oc completion bash >  /.kube/completion.bash.inc
printf "
# oc shell completion
source '$HOME/.kube/completion.bash.inc'
" >> $HOME/.bash_profile
source $HOME/.bash_profile

# Load the oc completion code for zsh[1] into the current shell
source <(oc completion zsh)
# Set the oc completion code for zsh[1] to autoload on startup
oc completion zsh > "${fpath[1]}/_oc"

# Load the oc completion code for fish[2] into the current shell
oc completion fish | source
# To load completions for each session, execute once:
oc completion fish >  /.config/fish/completions/oc.fish

# Load the oc completion code for powershell into the current shell
oc completion powershell | Out-String | Invoke-Expression
# Set oc completion code for powershell to run on startup
## Save completion code to a script and execute in the profile
oc completion powershell > "$HOME\.kube\completion.ps1"
Add-Content $PROFILE ". '$HOME\.kube\completion.ps1'"
## Execute completion code in the profile
Add-Content $PROFILE "if (Get-Command oc -ErrorAction SilentlyContinue) {
oc completion powershell | Out-String | Invoke-Expression
}"
## Add completion code directly to the $PROFILE script
oc completion powershell >> $PROFILE

πŸ“ SEE ALSO πŸ“

  • oc(1), β€” yes with the lil trailing comma, we keep the details bestie πŸ’œ

⭐ HISTORY ⭐

June 2016 β€” ported from the Kubernetes man-doc generator. vintage! πŸŽ€


and that's the page!! slay, you now know everything about oc completion πŸ¦‹ this gem comes to you from Openshift β€” the Openshift CLI User Manuals, dated June 2016 β€” mwah, go complete some shells πŸ’…βœ¨

πŸ“¦ where this page comes from