mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-10-16 11:40:46 +00:00
Compare commits
4 commits
aa37790948
...
00b43ad7d3
Author | SHA1 | Date | |
---|---|---|---|
|
00b43ad7d3 | ||
|
1514145a09 | ||
|
4e3fed007a | ||
|
0fc24e62cf |
4 changed files with 193 additions and 11 deletions
|
@ -42,6 +42,8 @@ as you want:
|
|||
zstyle ':omz:plugins:nvm' lazy-cmd eslint prettier typescript ...
|
||||
```
|
||||
|
||||
There will be a function `_omz_nvm_load` available to load `nvm` without executing any other trigger command.
|
||||
|
||||
#### `.nvmrc` autoload
|
||||
|
||||
Note: _if used at the same time as `lazy`, `autoload` will start working only after nvm has been lazy-loaded_
|
||||
|
|
|
@ -20,7 +20,7 @@ if [[ -z "$NVM_DIR" ]] || [[ ! -f "$NVM_DIR/nvm.sh" ]]; then
|
|||
return
|
||||
fi
|
||||
|
||||
function _omz_load_nvm_completion {
|
||||
function _omz_nvm_setup_completion {
|
||||
local _nvm_completion
|
||||
# Load nvm bash completion
|
||||
for _nvm_completion in "$NVM_DIR/bash_completion" "$NVM_HOMEBREW/etc/bash_completion.d/nvm"; do
|
||||
|
@ -33,12 +33,12 @@ function _omz_load_nvm_completion {
|
|||
break
|
||||
fi
|
||||
done
|
||||
unfunction _omz_load_nvm_completion
|
||||
unfunction _omz_nvm_setup_completion
|
||||
}
|
||||
|
||||
function _omz_setup_autoload {
|
||||
function _omz_nvm_setup_autoload {
|
||||
if ! zstyle -t ':omz:plugins:nvm' autoload; then
|
||||
unfunction _omz_setup_autoload
|
||||
unfunction _omz_nvm_setup_autoload
|
||||
return
|
||||
fi
|
||||
|
||||
|
@ -68,13 +68,13 @@ function _omz_setup_autoload {
|
|||
add-zsh-hook chpwd load-nvmrc
|
||||
|
||||
load-nvmrc
|
||||
unfunction _omz_setup_autoload
|
||||
unfunction _omz_nvm_setup_autoload
|
||||
}
|
||||
|
||||
if zstyle -t ':omz:plugins:nvm' lazy; then
|
||||
# Call nvm when first using nvm, node, npm, pnpm, yarn, corepack or other commands in lazy-cmd
|
||||
zstyle -a ':omz:plugins:nvm' lazy-cmd nvm_lazy_cmd
|
||||
nvm_lazy_cmd=(nvm node npm npx pnpm pnpx yarn corepack $nvm_lazy_cmd) # default values
|
||||
nvm_lazy_cmd=(_omz_nvm_load nvm node npm npx pnpm pnpx yarn corepack $nvm_lazy_cmd) # default values
|
||||
eval "
|
||||
function $nvm_lazy_cmd {
|
||||
for func in $nvm_lazy_cmd; do
|
||||
|
@ -84,14 +84,16 @@ if zstyle -t ':omz:plugins:nvm' lazy; then
|
|||
done
|
||||
# Load nvm if it exists in \$NVM_DIR
|
||||
[[ -f \"\$NVM_DIR/nvm.sh\" ]] && source \"\$NVM_DIR/nvm.sh\"
|
||||
_omz_load_nvm_completion
|
||||
_omz_setup_autoload
|
||||
_omz_nvm_setup_completion
|
||||
_omz_nvm_setup_autoload
|
||||
if [[ \"\$0\" != _omz_nvm_load ]]; then
|
||||
\"\$0\" \"\$@\"
|
||||
fi
|
||||
}
|
||||
"
|
||||
unset nvm_lazy_cmd
|
||||
else
|
||||
source "$NVM_DIR/nvm.sh"
|
||||
_omz_load_nvm_completion
|
||||
_omz_setup_autoload
|
||||
_omz_nvm_setup_completion
|
||||
_omz_nvm_setup_autoload
|
||||
fi
|
||||
|
|
9
plugins/rke/README.md
Normal file
9
plugins/rke/README.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
# RKE plugin
|
||||
|
||||
This plugin adds auto-completion for [rke](https://rancher.com/products/rke/).
|
||||
|
||||
To use it add `rke` to the plugins array in your zshrc file.
|
||||
|
||||
```zsh
|
||||
plugins=(... rke)
|
||||
```
|
169
plugins/rke/_rke
Normal file
169
plugins/rke/_rke
Normal file
|
@ -0,0 +1,169 @@
|
|||
#compdef rke
|
||||
|
||||
typeset -A opt_args
|
||||
|
||||
_arguments -C \
|
||||
'1:cmd:->cmds' \
|
||||
'2:subcmd:->subcmds' \
|
||||
'*:: :->args' \
|
||||
&& ret=0
|
||||
|
||||
case "$state" in
|
||||
(cmds)
|
||||
local commands; commands=(
|
||||
'up:Bring the cluster up'
|
||||
'remove:Teardown the cluster and clean cluster nodes'
|
||||
'version:Show cluster Kubernetes version'
|
||||
'config:Setup cluster configuration'
|
||||
'etcd:etcd snapshot save/restore operations in k8s cluster'
|
||||
'cert:Certificates management for RKE cluster'
|
||||
'encrypt:Manage cluster encryption provider keys'
|
||||
'help:Shows a list of commands or help for one command'
|
||||
)
|
||||
_describe -t commands 'command' commands && ret=0
|
||||
;;
|
||||
(subcmds)
|
||||
case $line[1] in
|
||||
(up)
|
||||
local ups; ups=(
|
||||
'--config:Specify an alternate cluster YAML file (default: "cluster.yml") $RKE_CONFIG'
|
||||
'--local:Deploy Kubernetes cluster locally'
|
||||
'--dind:Deploy Kubernetes cluster in docker containers (experimental)'
|
||||
'--dind-storage-driver:Storage driver for the docker in docker containers (experimental)'
|
||||
'--dind-dns-server:DNS resolver to be used by docker in docker container. Useful if host is running systemd-resovld (default: "8.8.8.8")'
|
||||
'--update-only:Skip idempotent deployment of control and etcd plane'
|
||||
'--disable-port-check:Disable port check validation between nodes'
|
||||
'--init:Initiate RKE cluster'
|
||||
'--cert-dir:Specify a certificate dir path'
|
||||
'--custom-certs:Use custom certificates from a cert dir'
|
||||
'--ssh-agent-auth:Use SSH Agent Auth defined by SSH_AUTH_SOCK'
|
||||
'--ignore-docker-version:Disable Docker version check'
|
||||
)
|
||||
_describe -t ups 'up' ups && ret=0
|
||||
;;
|
||||
(remove)
|
||||
local removes; removes=(
|
||||
'--config:Specify an alternate cluster YAML file (default: "cluster.yml") $RKE_CONFIG'
|
||||
'--force:Force removal of the cluster'
|
||||
'--local:Remove Kubernetes cluster locally'
|
||||
'--dind:Remove Kubernetes cluster deplozed in dind mode'
|
||||
'--ssh-agent-auth:Use SSH Agent Auth defined by SSH_AUTH_SOCK'
|
||||
'--ignore-docker-version:Disable Docker version check'
|
||||
)
|
||||
_describe -t removes 'remove' removes && ret=0
|
||||
;;
|
||||
(version)
|
||||
local versions; versions=(
|
||||
'--config:Specify an alternate cluster YAML file (default: "cluster.yml") $RKE_CONFIG'
|
||||
)
|
||||
_describe -t versions 'version' versions && ret=0
|
||||
;;
|
||||
(config)
|
||||
local configs; configs=(
|
||||
'--name:Name of the configuration file (default: "cluster.yml")'
|
||||
'-n:Name of the configuration file (default: "cluster.yml")'
|
||||
'--empty:Generate Empty configuration file'
|
||||
'-e:Generate Empty configuration file'
|
||||
'--print:Print configuration'
|
||||
'-p:Print configuration'
|
||||
'--system-images:Generate the default system images'
|
||||
'-s:Generate the default system images'
|
||||
'--list-version:List the default kubernetes version'
|
||||
'-l:List the default kubernetes version'
|
||||
'--all:Used with -s and -l, get all available versions'
|
||||
'-a:Used with -s and -l, get all available versions'
|
||||
'--version:Generate the default system images for specific k8s versions'
|
||||
)
|
||||
_describe -t configs 'config' configs && ret=0
|
||||
;;
|
||||
(etcd)
|
||||
local etcds; etcds=(
|
||||
'snapshot-save:Take snapshot on all etcd hosts'
|
||||
'snapshot-restore:Restore existing snapshot'
|
||||
)
|
||||
_describe -t etcds 'etcd' etcds && ret=0
|
||||
;;
|
||||
(cert)
|
||||
local certs; certs=(
|
||||
'rotate:Rotate RKE cluster certificates'
|
||||
'generate-csr:Generate certificate sign requests for k8s components'
|
||||
)
|
||||
_describe -t certs 'cert' certs && ret=0
|
||||
;;
|
||||
(encrypt)
|
||||
local encrypts; encrypts=(
|
||||
'rotate-key:Rotate cluster encryption provider key'
|
||||
)
|
||||
_describe -t encrypts "encrypts" encrypts && ret=0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
(args)
|
||||
case $line[2] in
|
||||
(snapshot-save)
|
||||
local saveopts; saveopts=(
|
||||
'--name:Specify snapshot name'
|
||||
'--config:Specify an alternate cluster YAML file (default: "cluster.yml") $RKE_CONFIG'
|
||||
'--s3:Enabled backup to s3'
|
||||
'--s3-endpoint:Specify s3 endpoint url (default: "s3.amazonaws.com")'
|
||||
'--s3-endpoint-ca:Specify a custom CA cert to connect to S3 endpoint'
|
||||
'--access-key:Specify s3 accessKey'
|
||||
'--secret-key:Specify s3 secretKey'
|
||||
'--bucket-name:Specify s3 bucket name'
|
||||
'--region:Specify the s3 bucket location (optional)'
|
||||
'--folder:Specify s3 folder name'
|
||||
'--ssh-agent-auth:Use SSH Agent Auth defined by SSH_AUTH_SOCK'
|
||||
'--ignore-docker-version:Disable Docker version check'
|
||||
)
|
||||
_describe -t saveopts 'snapshot-save' saveopts && ret=0
|
||||
;;
|
||||
(snapshot-restore)
|
||||
local restoreopts; restoreopts=(
|
||||
'--name:Specify snapshot name'
|
||||
'--config:Specify an alternate cluster YAML file (default: "cluster.yml") $RKE_CONFIG'
|
||||
'--s3:Enabled backup to s3'
|
||||
'--s3-endpoint:Specify s3 endpoint url (default: "s3.amazonaws.com")'
|
||||
'--s3-endpoint-ca:Specify a custom CA cert to connect to S3 endpoint'
|
||||
'--access-key:Specify s3 accessKey'
|
||||
'--secret-key:Specify s3 secretKey'
|
||||
'--bucket-name:Specify s3 bucket name'
|
||||
'--region:Specify the s3 bucket location (optional)'
|
||||
'--folder:Specify s3 folder name'
|
||||
'--cert-dir value:Specify a certificate dir path'
|
||||
'--custom-certs:Use custom certificates from a cert dir'
|
||||
'--use-local-state:Use local state file (do not check or use snapshot archive for state file)'
|
||||
'--ssh-agent-auth:Use SSH Agent Auth defined by SSH_AUTH_SOCK'
|
||||
'--ignore-docker-version:Disable Docker version check'
|
||||
)
|
||||
_describe -t restoreopts 'snapshot-restore' restoreopts && ret=0
|
||||
;;
|
||||
(rotate)
|
||||
local rotateopts; rotateopts=(
|
||||
'--config:Specify an alternate cluster YAML file (default: "cluster.yml") $RKE_CONFIG'
|
||||
'--service:Specify a k8s service to rotate certs, (allowed values: kube-apiserver, kube-controller-manager, kube-scheduler, kubelet, kube-proxy, etcd)'
|
||||
'--rotate-ca:Rotate all certificates including CA certs'
|
||||
'--ssh-agent-auth:Use SSH Agent Auth defined by SSH_AUTH_SOCK'
|
||||
'--ignore-docker-version:Disable Docker version check'
|
||||
)
|
||||
_describe -t rotateopts 'rotate' rotateopts && ret=0
|
||||
;;
|
||||
(generate-csr)
|
||||
local generatecsropts; generatecsropts=(
|
||||
'--config:Specify an alternate cluster YAML file (default: "cluster.yml") $RKE_CONFIG'
|
||||
'--cert-dir: Specify a certificate dir path'
|
||||
)
|
||||
_describe -t generatecsropts 'generate-csr' generatecsropts && ret=0
|
||||
;;
|
||||
(rotate-key)
|
||||
local rotatekeyopts; rotatekeyopts=(
|
||||
'--config:Specify an alternate cluster YAML file (default: "cluster.yml") $RKE_CONFIG'
|
||||
'--ssh-agent-auth:Use SSH Agent Auth defined by SSH_AUTH_SOCK'
|
||||
'--ignore-docker-version:Disable Docker version check'
|
||||
)
|
||||
_describe -t rotatekeyopts 'rotate-key' rotatekeyopts && ret=0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
return ret
|
Loading…
Reference in a new issue