Compare commits

...

6 Commits

Author SHA1 Message Date
Patrik Wehrli e8b4c50562
Merge 4e3fed007a into 6e9cda3d30 2025-01-20 10:04:48 +01:00
dependabot[bot] 6e9cda3d30
chore(deps): bump semver in /.github/workflows/dependencies (#12924)
Bumps [semver](https://github.com/python-semver/python-semver) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/python-semver/python-semver/releases)
- [Changelog](https://github.com/python-semver/python-semver/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/python-semver/python-semver/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-19 23:30:40 +01:00
ohmyzsh[bot] d689aa289e
feat(gitfast): update to version v2.2 (#12923)
Co-authored-by: ohmyzsh[bot] <54982679+ohmyzsh[bot]@users.noreply.github.com>
2025-01-19 11:20:14 +01:00
Felipe Contreras 8c5b71b2f4
ci(deps): update `gitfast` to its new structure (#12922)
Co-authored-by: Carlo Sala <carlosalag@protonmail.com>
2025-01-19 11:18:37 +01:00
Patrik Wehrli 4e3fed007a
Merge branch 'ohmyzsh:master' into features/rke-plugin 2022-10-19 13:43:00 +02:00
Patrik Wehrli 0fc24e62cf Add rke command completion 2020-10-13 21:37:47 +02:00
7 changed files with 229 additions and 19 deletions

View File

@ -2,11 +2,13 @@ dependencies:
plugins/gitfast:
repo: felipec/git-completion
branch: master
version: tag:v2.1
version: tag:v2.2
postcopy: |
set -e
rm -rf git-completion.plugin.zsh Makefile README.adoc t tools
test -e git-completion.zsh && mv -f git-completion.zsh _git
rm -rf git-completion.plugin.zsh Makefile t tools
mv README.adoc MANUAL.adoc
mv -f src/* .
rmdir src
plugins/gradle:
repo: gradle/gradle-completion
branch: master

View File

@ -3,5 +3,5 @@ charset-normalizer==3.4.1
idna==3.10
PyYAML==6.0.2
requests==2.32.3
semver==3.0.2
semver==3.0.3
urllib3==2.3.0

View File

@ -0,0 +1,40 @@
This project is a friendly fork of the official Git completion
(`contrib/completion`) and prompt scripts for Bash, Zsh, and possibly other
shells.
Most Git developers use the Bash shell, for which the completion scripts work
rather well, however, Zsh is typically neglected. I've sent many patches to fix
the issues, many have been merged, but many have been ignored, thus the need for
a canonical location of a good, working Zsh completion.
There are advantages for Bash users too. Currently the scripts under `contrib` are tied to the
specific Git version, for example the completion scripts of version v2.40
(https://git.kernel.org/pub/scm/git/git.git/plain/contrib/completion/git-completion.bash?h=v2.40.0[git-completion.bash])
have issues with older versions of Git (e.g. v2.33); the ones in
this project don't.
With `git-completion` you can be sure you are using the latest completion that
works in both shells, and any Git version.
This is a sister project of the
https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/gitfast[Oh My Zsh
gitfast] plugin (that I also maintain), which has similar needs.
== Installation ==
* https://github.com/felipec/git-completion/wiki/Bash[Bash instructions]
* https://github.com/felipec/git-completion/wiki/Zsh[Zsh instructions]
== Improvements from upstream ==
This is a short list of the benefits you get:
* Easier installation
* Tons of bug fixes
* Works with older versions of git
* Zsh: much more options
* Zsh: quoting works properly
* Zsh: automatic suffix removal
For a full list of all the patches on top of upstream git check
https://github.com/felipec/git-completion/wiki/Patches[Patches].

View File

@ -2,23 +2,11 @@
# zsh completion wrapper for git
#
# Copyright (c) 2012-2020 Felipe Contreras <felipe.contreras@gmail.com>
# Copyright (c) 2012-2024 Felipe Contreras <felipe.contreras@gmail.com>
#
# The recommended way to install this script is to make a copy of it as a
# file named '_git' inside any directory in your fpath.
# The recommended way to use this script is to prepend its location to your $fpath:
#
# For example, create a directory '~/.zsh/', copy this file to '~/.zsh/_git',
# and then add the following to your ~/.zshrc file:
#
# fpath=(~/.zsh $fpath)
#
# You need git's bash completion script installed. By default bash-completion's
# location will be used (e.g. pkg-config --variable=completionsdir bash-completion).
#
# If your bash completion script is somewhere else, you can specify the
# location in your ~/.zshrc:
#
# zstyle ':completion:*:*:git:*' script ~/.git-completion.bash
# fpath=($git_completion_srcdir $fpath)
#
zstyle -T ':completion:*:*:git:*' tag-order && \

View File

@ -1,6 +1,8 @@
# bash/zsh completion support for core Git.
#
# Copyright (C) 2006,2007 Shawn O. Pearce <spearce@spearce.org>
# Copyright (c) 2012-2024 Felipe Contreras <felipe.contreras@gmail.com>
#
# Conceptually based on gitcompletion (http://gitweb.hawaga.org.uk/).
# Distributed under the GNU General Public License, version 2.0.
#

9
plugins/rke/README.md Normal file
View 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
View 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