diff options
| -rw-r--r-- | src/_fleetctl | 123 | ||||
| -rw-r--r-- | src/_rkt | 369 |
2 files changed, 0 insertions, 492 deletions
diff --git a/src/_fleetctl b/src/_fleetctl deleted file mode 100644 index 542d7cf..0000000 --- a/src/_fleetctl +++ /dev/null @@ -1,123 +0,0 @@ -#compdef fleetctl -# ------------------------------------------------------------------------------ -# Copyright (c) 2009-2015 Robby Russell and contributors (see -# https://github.com/ohmyzsh/ohmyzsh/graphs/contributors) -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for fleetctl (https://github.com/coreos/fleet). -# -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Remi Paulmier (https://github.com/shtouff) -# -# ------------------------------------------------------------------------------ - -# fleetctl zsh completion - -local -a _1st_arguments -_1st_arguments=( - 'cat:Output the contents of a submitted unit' - 'destroy:Destroy one or more units in the cluster' - 'fd-forward:Proxy stdin and stdout to a unix domain socket' - 'help:Show a list of commands or help for one command' - 'journal:Print the journal of a unit in the cluster to stdout' - 'list-machines:Enumerate the current hosts in the cluster' - 'list-unit-files:List the units that exist in the cluster.' - 'list-units:List the current state of units in the cluster' - 'load:Schedule one or more units in the cluster, first submitting them if necessary.' - 'ssh:Open interactive shell on a machine in the cluster' - 'start:Instruct systemd to start one or more units in the cluster, first submitting and loading if necessary.' - 'status:Output the status of one or more units in the cluster' - 'stop:Instruct systemd to stop one or more units in the cluster.' - 'submit:Upload one or more units to the cluster without starting them' - 'unload:Unschedule one or more units in the cluster.' - 'version:Print the version and exit' -) - -__task_list () -{ - local expl - declare -a tasks - - tasks=(cat destroy fd-forward help journal list-machines list-unit-files \ - list-units load ssh start status stop submit unload version) - - _wanted tasks expl 'help' compadd $tasks -} - -__unit_list () -{ - _wanted application expl 'command' compadd $(command fleetctl list-units | \ - tail -n +2 | awk '{print $1}') -} - -local expl - -local curcontext="$curcontext" state line -local -A opt_args - -_arguments -C \ - ':command:->command' \ - '*::options:->options' - -case $state in - (command) - _describe -t commands "gem subcommand" _1st_arguments - return - ;; - - (options) - case $line[1] in - (help) - _arguments ':feature:__task_list' - ;; - - (destroy|journal|start|status|stop|unload|cat) - _arguments '*:feature:__unit_list' - ;; - - (load|submit) - _arguments '*:file:_files -g *.service' - ;; - - (ssh) - _arguments '*:host:_hosts' - ;; - - (*) - _arguments '*:file:_files' - ;; - esac - ;; -esac - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/src/_rkt b/src/_rkt deleted file mode 100644 index d4ce021..0000000 --- a/src/_rkt +++ /dev/null @@ -1,369 +0,0 @@ -#compdef rkt -# ------------------------------------------------------------------------------ -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY -# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for rkt (https://coreos.com/rkt/). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Massimiliano Torromeo <massimiliano.torromeo@gmail.com> -# -# ------------------------------------------------------------------------------ - -typeset -A opt_args -autoload -U regexp-replace - -_rkt() { - _arguments \ - '--debug[print out more debug information to stderr]' \ - '--dir=[rkt data directory]:data directory:_files -/' \ - '--insecure-options=[comma-separated list of security features to disable]:option:{_values -s , none image tls ondisk http all}' \ - '--local-config=[local configuration directory]:configuration directory:_files -/' \ - '--system-config=[system configuration directory]:configuration directory:_files -/' \ - '--trust-keys-from-https[automatically trust gpg keys fetched from https]' \ - '--user-config=[user configuration directory]:configuration directory:_files -/' \ - '--help' \ - '1: :_rkt_cmds' \ - '*:: :->rkt_cmd_args' - - case $state in - rkt_cmd_args) - case $words[1] in - help) - _arguments \ - '1: :_rkt_cmds' \ - '*:: :->rkt_help_args' \ - ;; - - api-service) - _arguments \ - '--listen=[address to listen for client API requests]:address' \ - ;; - - cat-manifest) - _arguments \ - '--pretty-print[apply indent to format the output]' \ - '--uuid-file=[read pod UUID from file instead of argument]:uuid file:_files' \ - '1:POD:_rkt_pods' \ - ;; - - config) - _arguments \ - '--pretty-print[apply indent to format the output]' \ - ;; - - enter) - _arguments \ - '--app=:appname' \ - '1:POD:_rkt_pods' \ - ;; - - export) - _arguments \ - '--app=:appname' \ - '--overwrite[overwrite output ACI]' \ - '1:POD:_rkt_pods' \ - '2:OUTPUT_ACI_FILE:_files' \ - ;; - - fetch) - _arguments \ - '--full[print the full image hash after fetching]' \ - '--no-store[fetch images ignoring the local store]' \ - '--signature=[local signature file to use in validating the preceding image]:signature:_files' \ - '--store-only[use only available images in the store]' \ - ;; - - gc) - _arguments \ - '--grace-period=[duration to wait before discarding inactive pods from garbage]:duration' \ - '--expire-prepared=[duration to wait before expiring prepared pods]:duration' \ - '--mark-only[move to the garbage directories without actually deleting]' \ - ;; - - image) - _arguments \ - '1: :_rkt_image_cmds' \ - '*:: :->rkt_image_args' - ;; - - list) - _arguments \ - '--full[use long output format]' \ - '--no-legend[suppress a legend with the list]' \ - ;; - - metadata-service) - _arguments \ - '--listen-port=[listen port]:port' \ - ;; - - prepare) - # TODO: autocomplete stage1 images - _arguments \ - '--caps-remove=[capability to remove]:capability' \ - '--caps-retain=[capability to retain]:capability' \ - '--cpu=[cpu limit for the preceding image]:cpu limit' \ - '--cpu-shares=[assign the specified CPU time share weight]:weight' \ - "--environment=[set the app's environment variables]:variable key=value" \ - '--exec=[override the exec command for the preceding image]:command' \ - '--group=[group override for the preceding image]:group' \ - '--inherit-env[inherit all environment variables not set by apps]' \ - '--memory=[memory limit for the preceding image]:memory' \ - '--mount=[mount point binding a volume to a path within an app]:mount point' \ - '--name=[set the name of the app]:name' \ - '--no-overlay[disable overlay filesystem]' \ - '--oom-score-adj=[oom-score-adj isolator override]:oom-score-adj' \ - '--pod-manifest=[the path to the pod manifest]:manifest:_files' \ - '--port=[ports to expose on the host]:NAME\:HOSTPORT' \ - '--private-users[run within user namespaces]' \ - '--quiet[suppress superfluous output on stdout, print only the UUID on success]' \ - '--readonly-rootfs=[mount rootfs read-only]:fs' \ - '--set-env=[an environment variable to set for apps]:NAME=VALUE' \ - '--set-env-file=[the path to an environment variables file]:file:_files' \ - '--signature=[local signature file to use in validating the preceding image]:signature:_files' \ - '--stage1-from-dir=[a filename of an image in stage1 images directory to use as stage1]:image' \ - '--stage1-hash=[a hash of an image to use as stage1]:image hash' \ - '--stage1-name=[a name of an image to use as stage1]:image name' \ - '--stage1-path=[a path to an image to use as stage1]:image path:_files' \ - '--stage1-url=[a URL to an image to use as stage1]:image url' \ - '--supplementary-gids=[supplementary group IDs override for the preceding image]:group IDs' \ - '--user=[user override for the preceding image]:user' \ - "--user-annotation=[set the app's annotations]:annotation key=value" \ - "--user-label=[set the app's labels]:label key=value" \ - '--volume=[volumes to make available in the pod]:volume' \ - '--working-dir=[override the working directory of the preceding image]:working directory:_files -/' \ - '1:IMAGE:_rkt_images' \ - ;; - - rm) - _arguments \ - '--uuid-file=[read pod UUID from file instead of argument]:uuid file:_files' \ - '1:POD:_rkt_pods' \ - ;; - - run) - _arguments \ - '--caps-remove=[capability to remove]:capability' \ - '--caps-retain=[capability to retain]:capability' \ - '--cpu=[cpu limit for the preceding image]:cpu limit' \ - '--cpu-shares=[assign the specified CPU time share weight]:weight' \ - '--dns=[name servers to write in /etc/resolv.conf]:name servers' \ - '--dns-domain=[DNS domain to write in]:domain' \ - '--dns-opt=[DNS options to write in /etc/resolv.conf]:dns options' \ - '--dns-search=[DNS search domains to write in /etc/resolv.conf]:search domains' \ - "--environment=[set the app's environment variables]:variable key=value" \ - '--exec=[override the exec command for the preceding image]:command' \ - '--group=[group override for the preceding image]:group' \ - "--hostname=[pod's hostname]:hostname" \ - "--hosts-entry=[entries to add to the pod-wide /etc/hosts. Pass 'host' to use the host's /etc/hosts]:hosts entry" \ - '--inherit-env[inherit all environment variables not set by apps]' \ - '--interactive[run pod interactively]' \ - '--mds-register[register pod with metadata service]' \ - '--memory=[memory limit for the preceding image]:memory limit' \ - '--mount=[mount point binding a volume to a path within an app]:mount point' \ - '--name=[set the name of the app]:name' \ - "--net=[configure the pod's networking]:networks" \ - '--no-overlay[disable overlay filesystem]' \ - '--pod-manifest=[the path to the pod manifest]:manifest:_files' \ - '--port=[ports to expose on the host]:NAME\:HOSTPORT' \ - '--private-users[run within user namespaces]' \ - '--set-env=[an environment variable to set for apps]:NAME=VALUE' \ - '--set-env-file=[the path to an environment variables file]:file:_files' \ - '--signature=[local signature file to use in validating the preceding image]:signature:_files' \ - '--stage1-from-dir=[a filename of an image in stage1 images directory to use as stage1]:image' \ - '--stage1-hash=[a hash of an image to use as stage1]:image hash' \ - '--stage1-name=[a name of an image to use as stage1]:image name' \ - '--stage1-path=[a path to an image to use as stage1]:image path:_files' \ - '--stage1-url=[a URL to an image to use as stage1]:image url' \ - '--supplementary-gids=[supplementary group IDs override for the preceding image]:group IDs' \ - '--user=[user override for the preceding image]:user' \ - "--user-annotation=[set the app's annotations]:annotation key=value" \ - "--user-label=[set the app's labels]:label key=value" \ - '--uuid-file-save=[write out pod UUID to specified file]:uuid file:_files' \ - '--volume=[volumes to make available in the pod]:volume' \ - '--working-dir=[override the working directory of the preceding image]:working directory:_files -/' \ - '1:IMAGE:_rkt_images' \ - ;; - - run-prepared) - _arguments \ - '--dns=[name servers to write in /etc/resolv.conf]:name servers' \ - '--dns-domain=[DNS domain to write in]:domain' \ - '--dns-opt=[DNS options to write in /etc/resolv.conf]:dns options' \ - '--dns-search=[DNS search domains to write in /etc/resolv.conf]:search domains' \ - "--hostname=[pod's hostname]:hostname" \ - "--hosts-entry=[entries to add to the pod-wide /etc/hosts. Pass 'host' to use the host's /etc/hosts]:hosts entry" \ - '--interactive[run pod interactively]' \ - '--mds-register[register pod with metadata service]' \ - "--net=[configure the pod's networking]:networks" \ - '1:POD:_rkt_pods' \ - ;; - - status) - _arguments \ - '--format=[choose the output format]:format:(json json-pretty)' \ - '--wait[toggles waiting for the pod to exit]' \ - '--wait-ready[toggles waiting until the pod is ready]' \ - '1:POD:_rkt_pods' \ - ;; - - stop) - _arguments \ - '--force[forced stopping]' \ - '--uuid-file=[read pod UUID from file instead of argument]:uuid file:_files' \ - '1:POD:_rkt_pods' \ - ;; - - trust) - _arguments \ - '--insecure-allow-http[allow HTTP use for key discovery and/or retrieval]' \ - '--prefix=[prefix to limit trust to]:prefix' \ - '--root[add root key from filesystem without a prefix]' \ - '--skip-fingerprint-review[accept key without fingerprint confirmation]' \ - ;; - esac - ;; - esac - - case $state in - rkt_help_args) - case $words[1] in - image) - _arguments \ - '1: :_rkt_image_cmds' - ;; - esac - ;; - - rkt_image_args) - case $words[1] in - cat-manifest) - _arguments \ - '--pretty-print[apply indent to format the output]' \ - '1:IMAGE:_rkt_images' \ - ;; - - export) - _arguments \ - '--overwrite[overwrite output ACI]' \ - '1:IMAGE:_rkt_images' \ - '2:OUTPUT_ACI_FILE:_files' \ - ;; - - extract|render) - _arguments \ - '--overwrite[overwrite output ACI]' \ - '--rootfs-only[extract rootfs only]' \ - '1:IMAGE:_rkt_images' \ - '2:OUTPUT_DIR:_files -/' \ - ;; - - gc) - _arguments \ - '--grace-period=[duration to wait before discarding inactive pods from garbage]:duration' \ - ;; - - list) - _arguments \ - '--fields=[comma-separated list of fields to display]:fields:{_values -s , id name importtime lastused size latest}' \ - '--full[use long output format]' \ - '--no-legend[suppress a legend with the list]' \ - ;; - - rm) - _arguments \ - '*:IMAGE:_rkt_images' \ - ;; - esac - ;; - esac -} - -_rkt_cmds() { - local -a commands - commands=( - 'api-service:Run API service' - 'cat-manifest:Inspect and print the pod manifest' - 'config:Print configuration for each stage in JSON format' - 'enter:Enter the namespaces of an app within a rkt pod' - 'export:Export an app from an exited pod to an ACI file' - 'fetch:Fetch image(s) and store them in the local store' - 'gc:Garbage collect rkt pods no longer in use' - 'image:Operate on image(s) in the local store' - 'list:List pods' - 'metadata-service:Run metadata service' - 'prepare:Prepare to run image(s) in a pod in rkt' - 'rm:Remove all files and resources associated with an exited pod' - 'run:Run image(s) in a pod in rkt' - 'run-prepared:Run a prepared application pod in rkt' - 'status:Check the status of a rkt pod' - 'stop:Stop a pod' - 'trust:Trust a key for image verification' - 'version:Print the version and exit' - 'help:Help about any command' - ) - _describe 'command' commands -} - -_rkt_image_cmds() { - local -a commands - commands=( - 'cat-manifest:Inspect and print the image manifest' - 'export:Export a stored image to an ACI file' - 'extract:Extract a stored image to a directory' - 'gc:Garbage collect local store' - 'list:List images in the local store' - 'render:Render a stored image to a directory with all its dependencies' - 'rm:Remove image(s) with the given ID(s) or name(s) from the local store' - ) - _describe 'command' commands -} - -_rkt_images() { - local -a images - images=($(rkt image list --fields id,name --no-legend | sed 's/\t/\n/;s/:/\\:/g' | sort | uniq)) - _describe 'IMAGE' images -} - -_rkt_pods() { - local -a pods - IFS=$'\n' - pods=($(rkt list --full --no-legend | sed 's/:/\\:/g;s/\t/:/;s/\t/ /g')) - _describe 'POD' pods -} - -_rkt "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et |
