forked from ohmybash/oh-my-bash
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
plugins: Multiple plugins implemented (ohmybash#119)
* Ansible plugin added * kubectl plugin added * NPM Plugin added * brew plugin added * shebang added
- Loading branch information
Showing
6 changed files
with
334 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# brew plugin | ||
|
||
The plugin adds several aliases for common [brew](https://brew.sh) commands. | ||
|
||
To use it, add `brew` to the plugins array of your bashrc file: | ||
|
||
```bash | ||
plugins=(... brew) | ||
``` | ||
|
||
## Aliases | ||
|
||
| Alias | Command | Description | | ||
|--------|----------------------|---------------| | ||
| brewp | `brew pin` | Pin a specified formulae, preventing them from being upgraded when issuing the brew upgrade <formulae> command. | | ||
| brews | `brew list -1` | List installed formulae, one entry per line, or the installed files for a given formulae. | | ||
| brewsp | `brew list --pinned` | Show the versions of pinned formulae, or only the specified (pinned) formulae if formulae are given. | | ||
| bubo | `brew update && brew outdated` | Fetch the newest version of Homebrew and all formulae, then list outdated formulae. | | ||
| bubc | `brew upgrade && brew cleanup` | Upgrade outdated, unpinned brews (with existing install options), then removes stale lock files and outdated downloads for formulae and casks, and removes old versions of installed formulae. | | ||
| bubu | `bubo && bubc` | Updates Homebrew, lists outdated formulae, upgrades oudated and unpinned formulae, and removes stale and outdated downloads and versions. | | ||
| bcubo | `brew update && brew cask outdated` | Fetch the newest version of Homebrew and all formulae, then list outdated casks. | | ||
| bcubc | `brew cask reinstall $(brew cask outdated) && brew cleanup` | Updates outdated casks, then runs cleanup. | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#!/usr/bin/env bash | ||
|
||
alias brewp='brew pin' | ||
alias brews='brew list -1' | ||
alias brewsp='brew list --pinned' | ||
alias bubo='brew update && brew outdated' | ||
alias bubc='brew upgrade && brew cleanup' | ||
alias bubu='bubo && bubc' | ||
alias bcubo='brew update && brew cask outdated' | ||
alias bcubc='brew cask reinstall $(brew cask outdated) && brew cleanup' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
# Kubectl plugin | ||
|
||
This plugin adds completion for the [Kubernetes cluster manager](https://kubernetes.io/docs/reference/kubectl/kubectl/), | ||
as well as some aliases for common kubectl commands. | ||
|
||
To use it, add `kubectl` to the plugins array in your bashrc file: | ||
|
||
```bash | ||
plugins=(... kubectl) | ||
``` | ||
|
||
## Aliases | ||
|
||
| Alias | Command | Description | | ||
|:--------|:------------------------------------|:-------------------------------------------------------------------------------------------------| | ||
| k | `kubectl` | The kubectl command | | ||
| kca | `kubectl --all-namespaces` | The kubectl command targeting all namespaces | | ||
| kaf | `kubectl apply -f` | Apply a YML file | | ||
| keti | `kubectl exec -ti` | Drop into an interactive terminal on a container | | ||
| | | **Manage configuration quickly to switch contexts between local, dev and staging** | | ||
| kcuc | `kubectl config use-context` | Set the current-context in a kubeconfig file | | ||
| kcsc | `kubectl config set-context` | Set a context entry in kubeconfig | | ||
| kcdc | `kubectl config delete-context` | Delete the specified context from the kubeconfig | | ||
| kccc | `kubectl config current-context` | Display the current-context | | ||
| kcgc | `kubectl config get-contexts` | List of contexts available | ||
| | | **General aliases** | | ||
| kdel | `kubectl delete` | Delete resources by filenames, stdin, resources and names, or by resources and label selector | | ||
| kdelf | `kubectl delete -f` | Delete a pod using the type and name specified in -f argument | | ||
| | | **Pod management** | | ||
| kgp | `kubectl get pods` | List all pods in ps output format | | ||
| kgpw | `kgp --watch` | After listing/getting the requested object, watch for changes | | ||
| kgpwide | `kgp -o wide` | Output in plain-text format with any additional information. For pods, the node name is included | | ||
| kep | `kubectl edit pods` | Edit pods from the default editor | | ||
| kdp | `kubectl describe pods` | Describe all pods | | ||
| kdelp | `kubectl delete pods` | Delete all pods matching passed arguments | | ||
| kgpl | `kgp -l` | Get pod by label. Example: `kgpl "app=myapp" -n myns` | | ||
| | | **Service management** | | ||
| kgs | `kubectl get svc` | List all services in ps output format | | ||
| kgsw | `kgs --watch` | After listing all services, watch for changes | | ||
| kgswide | `kgs -o wide` | After listing all services, output in plain-text format with any additional information | | ||
| kes | `kubectl edit svc` | Edit services(svc) from the default editor | | ||
| kds | `kubectl describe svc` | Describe all services in detail | | ||
| kdels | `kubectl delete svc` | Delete all services matching passed argument | | ||
| | | **Ingress management** | | ||
| kgi | `kubectl get ingress` | List ingress resources in ps output format | | ||
| kei | `kubectl edit ingress` | Edit ingress resource from the default editor | | ||
| kdi | `kubectl describe ingress` | Describe ingress resource in detail | | ||
| kdeli | `kubectl delete ingress` | Delete ingress resources matching passed argument | | ||
| | | **Namespace management** | | ||
| kgns | `kubectl get namespaces` | List the current namespaces in a cluster | | ||
| kcn | `kubectl config set-context ...` | Change current namespace | | ||
| kens | `kubectl edit namespace` | Edit namespace resource from the default editor | | ||
| kdns | `kubectl describe namespace` | Describe namespace resource in detail | | ||
| kdelns | `kubectl delete namespace` | Delete the namespace. WARNING! This deletes everything in the namespace | | ||
| | | **ConfigMap management** | | ||
| kgcm | `kubectl get configmaps` | List the configmaps in ps output format | | ||
| kecm | `kubectl edit configmap` | Edit configmap resource from the default editor | | ||
| kdcm | `kubectl describe configmap` | Describe configmap resource in detail | | ||
| kdelcm | `kubectl delete configmap` | Delete the configmap | | ||
| | | **Secret management** | | ||
| kgsec | `kubectl get secret` | Get secret for decoding | | ||
| kdsec | `kubectl describe secret` | Describe secret resource in detail | | ||
| kdelsec | `kubectl delete secret` | Delete the secret | | ||
| | | **Deployment management** | | ||
| kgd | `kubectl get deployment` | Get the deployment | | ||
| kgdw | `kgd --watch` | After getting the deployment, watch for changes | | ||
| kgdwide | `kgd -o wide` | After getting the deployment, output in plain-text format with any additional information | | ||
| ked | `kubectl edit deployment` | Edit deployment resource from the default editor | | ||
| kdd | `kubectl describe deployment` | Describe deployment resource in detail | | ||
| kdeld | `kubectl delete deployment` | Delete the deployment | | ||
| ksd | `kubectl scale deployment` | Scale a deployment | | ||
| krsd | `kubectl rollout status deployment` | Check the rollout status of a deployment | | ||
| kres | `kubectl set env $@ REFRESHED_AT=...` | Recreate all pods in deployment with zero-downtime | | ||
| | | **Rollout management** | | ||
| kgrs | `kubectl get rs` | To see the ReplicaSet `rs` created by the deployment | | ||
| krh | `kubectl rollout history` | Check the revisions of this deployment | | ||
| kru | `kubectl rollout undo` | Rollback to the previous revision | | ||
| | | **Port forwarding** | | ||
| kpf | `kubectl port-forward` | Forward one or more local ports to a pod | | ||
| | | **Tools for accessing all information** | | ||
| kga | `kubectl get all` | List all resources in ps format | | ||
| kgaa | `kubectl get all --all-namespaces` | List the requested object(s) across all namespaces | | ||
| | | **Logs** | | ||
| kl | `kubectl logs` | Print the logs for a container or resource | | ||
| klf | `kubectl logs -f` | Stream the logs for a container or resource (follow) | | ||
| | | **File copy** | | ||
| kcp | `kubectl cp` | Copy files and directories to and from containers | | ||
| | | **Node management** | | ||
| kgno | `kubectl get nodes` | List the nodes in ps output format | | ||
| keno | `kubectl edit node` | Edit nodes resource from the default editor | | ||
| kdno | `kubectl describe node` | Describe node resource in detail | | ||
| kdelno | `kubectl delete node` | Delete the node | | ||
| | | **Persistent Volume Claim management** | | ||
| kgpvc | `kubectl get pvc` | List all PVCs | | ||
| kgpvcw | `kgpvc --watch` | After listing/getting the requested object, watch for changes | | ||
| kepvc | `kubectl edit pvc` | Edit pvcs from the default editor | | ||
| kdpvc | `kubectl describe pvc` | Descirbe all pvcs | | ||
| kdelpvc | `kubectl delete pvc` | Delete all pvcs matching passed arguments | | ||
| | | | | ||
| kgss | `kubectl get statefulset` | List the statefulsets in ps format | | ||
| kgssw | `kgss --watch` | After getting the list of statefulsets, watch for changes | | ||
| kgsswide| `kgss -o wide` | After getting the statefulsets, output in plain-text format with any additional information | | ||
| kess | `kubectl edit statefulset` | Edit statefulset resource from the default editor | | ||
| kdss | `kubectl describe statefulset` | Describe statefulset resource in detail | | ||
| kdelss | `kubectl delete statefulset` | Delete the statefulset | | ||
| ksss | `kubectl scale statefulset` | Scale a statefulset | | ||
| krsss | `kubectl rollout status statefulset`| Check the rollout status of a deployment | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
#!/usr/bin/env bash | ||
# This command is used a LOT both below and in daily life | ||
alias k=kubectl | ||
|
||
# Execute a kubectl command against all namespaces | ||
alias kca='f(){ kubectl "$@" --all-namespaces; unset -f f; }; f' | ||
|
||
# Apply a YML file | ||
alias kaf='kubectl apply -f' | ||
|
||
# Drop into an interactive terminal on a container | ||
alias keti='kubectl exec -ti' | ||
|
||
# Manage configuration quickly to switch contexts between local, dev ad staging. | ||
alias kcuc='kubectl config use-context' | ||
alias kcsc='kubectl config set-context' | ||
alias kcdc='kubectl config delete-context' | ||
alias kccc='kubectl config current-context' | ||
|
||
# List all contexts | ||
alias kcgc='kubectl config get-contexts' | ||
|
||
# General aliases | ||
alias kdel='kubectl delete' | ||
alias kdelf='kubectl delete -f' | ||
|
||
# Pod management. | ||
alias kgp='kubectl get pods' | ||
alias kgpw='kgp --watch' | ||
alias kgpwide='kgp -o wide' | ||
alias kep='kubectl edit pods' | ||
alias kdp='kubectl describe pods' | ||
alias kdelp='kubectl delete pods' | ||
|
||
# get pod by label: kgpl "app=myapp" -n myns | ||
alias kgpl='kgp -l' | ||
|
||
# Service management. | ||
alias kgs='kubectl get svc' | ||
alias kgsw='kgs --watch' | ||
alias kgswide='kgs -o wide' | ||
alias kes='kubectl edit svc' | ||
alias kds='kubectl describe svc' | ||
alias kdels='kubectl delete svc' | ||
|
||
# Ingress management | ||
alias kgi='kubectl get ingress' | ||
alias kei='kubectl edit ingress' | ||
alias kdi='kubectl describe ingress' | ||
alias kdeli='kubectl delete ingress' | ||
|
||
# Namespace management | ||
alias kgns='kubectl get namespaces' | ||
alias kens='kubectl edit namespace' | ||
alias kdns='kubectl describe namespace' | ||
alias kdelns='kubectl delete namespace' | ||
alias kcn='kubectl config set-context $(kubectl config current-context) --namespace' | ||
|
||
# ConfigMap management | ||
alias kgcm='kubectl get configmaps' | ||
alias kecm='kubectl edit configmap' | ||
alias kdcm='kubectl describe configmap' | ||
alias kdelcm='kubectl delete configmap' | ||
|
||
# Secret management | ||
alias kgsec='kubectl get secret' | ||
alias kdsec='kubectl describe secret' | ||
alias kdelsec='kubectl delete secret' | ||
|
||
# Deployment management. | ||
alias kgd='kubectl get deployment' | ||
alias kgdw='kgd --watch' | ||
alias kgdwide='kgd -o wide' | ||
alias ked='kubectl edit deployment' | ||
alias kdd='kubectl describe deployment' | ||
alias kdeld='kubectl delete deployment' | ||
alias ksd='kubectl scale deployment' | ||
alias krsd='kubectl rollout status deployment' | ||
kres(){ | ||
kubectl set env $@ REFRESHED_AT=$(date +%Y%m%d%H%M%S) | ||
} | ||
|
||
# Rollout management. | ||
alias kgrs='kubectl get rs' | ||
alias krh='kubectl rollout history' | ||
alias kru='kubectl rollout undo' | ||
|
||
# Statefulset management. | ||
alias kgss='kubectl get statefulset' | ||
alias kgssw='kgss --watch' | ||
alias kgsswide='kgss -o wide' | ||
alias kess='kubectl edit statefulset' | ||
alias kdss='kubectl describe statefulset' | ||
alias kdelss='kubectl delete statefulset' | ||
alias ksss='kubectl scale statefulset' | ||
alias krsss='kubectl rollout status statefulset' | ||
|
||
# Port forwarding | ||
alias kpf="kubectl port-forward" | ||
|
||
# Tools for accessing all information | ||
alias kga='kubectl get all' | ||
alias kgaa='kubectl get all --all-namespaces' | ||
|
||
# Logs | ||
alias kl='kubectl logs' | ||
alias klf='kubectl logs -f' | ||
|
||
# File copy | ||
alias kcp='kubectl cp' | ||
|
||
# Node Management | ||
alias kgno='kubectl get nodes' | ||
alias keno='kubectl edit node' | ||
alias kdno='kubectl describe node' | ||
alias kdelno='kubectl delete node' | ||
|
||
# PVC management. | ||
alias kgpvc='kubectl get pvc' | ||
alias kgpvcw='kgpvc --watch' | ||
alias kepvc='kubectl edit pvc' | ||
alias kdpvc='kubectl describe pvc' | ||
alias kdelpvc='kubectl delete pvc' |
Oops, something went wrong.