feat(podman): add plugin (#11695)

Closes #7489
Closes #9721
This commit is contained in:
Tjark 2023-09-04 19:43:06 +02:00 committed by GitHub
parent 30f0d59188
commit c74f2a1be9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 94 additions and 0 deletions

47
plugins/podman/README.md Normal file
View File

@ -0,0 +1,47 @@
# Podman plugin
This plugin adds auto-completion and aliases for [podman](https://podman.io/).
To use it add `podman` to the plugins array in your zshrc file.
```zsh
plugins=(... podman)
```
## Aliases
| Alias | Command | Description |
| :------ | :-------------------------------------------- | :--------------------------------------------------------------------------------------- |
| pbl | `podman build` | Build an image from a Dockerfile |
| pcin | `podman container inspect` | Display detailed information on one or more containers |
| pcls | `podman container ls` | List all the running podman containers |
| pclsa | `podman container ls --all` | List all running and stopped containers |
| pib | `podman image build` | Build an image from a Dockerfile (same as podman build) |
| pii | `podman image inspect` | Display detailed information on one or more images |
| pils | `podman image ls` | List podman images |
| pipu | `podman image push` | Push an image or repository to a remote registry |
| pirm | `podman image rm` | Remove one or more images |
| pit | `podman image tag` | Add a name and tag to a particular image |
| plo | `podman container logs` | Fetch the logs of a podman container |
| pnc | `podman network create` | Create a new network |
| pncn | `podman network connect` | Connect a container to a network |
| pndcn | `podman network disconnect` | Disconnect a container from a network |
| pni | `podman network inspect` | Return information about one or more networks |
| pnls | `podman network ls` | List all networks the engine daemon knows about, including those spanning multiple hosts |
| pnrm | `podman network rm` | Remove one or more networks |
| ppo | `podman container port` | List port mappings or a specific mapping for the container |
| ppu | `podman pull` | Pull an image or a repository from a registry |
| pr | `podman container run` | Create a new container and start it using the specified command |
| prit | `podman container run --interactive --tty` | Create a new container and start it in an interactive shell |
| prm | `podman container rm` | Remove the specified container(s) |
| prm! | `podman container rm --force` | Force the removal of a running container (uses SIGKILL) |
| pst | `podman container start` | Start one or more stopped containers |
| prs | `podman container restart` | Restart one or more containers |
| psta | `podman stop $(podman ps -q)` | Stop all running containers |
| pstp | `podman container stop` | Stop one or more running containers |
| ptop | `podman top` | Display the running processes of a container |
| pvi | `podman volume inspect` | Display detailed information about one or more volumes |
| pvls | `podman volume ls` | List all the volumes known to podman |
| pvprune | `podman volume prune` | Cleanup dangling volumes |
| pxc | `podman container exec` | Run a new command in a running container |
| pxcit | `podman container exec --interactive --tty` | Run a new command in a running container in an interactive shell |

View File

@ -0,0 +1,47 @@
if (( ! $+commands[podman] )); then
return
fi
# If the completion file doesn't exist yet, we need to autoload it and
# bind it to `podman`. Otherwise, compinit will have already done that.
if [[ ! -f "$ZSH_CACHE_DIR/completions/_podman" ]]; then
typeset -g -A _comps
autoload -Uz _podman
_comps[podman]=_podman
fi
podman completion zsh 2> /dev/null >| "$ZSH_CACHE_DIR/completions/_podman" &|
alias pbl='podman build'
alias pcin='podman container inspect'
alias pcls='podman container ls'
alias pclsa='podman container ls --all'
alias pib='podman image build'
alias pii='podman image inspect'
alias pils='podman image ls'
alias pipu='podman image push'
alias pirm='podman image rm'
alias pit='podman image tag'
alias plo='podman container logs'
alias pnc='podman network create'
alias pncn='podman network connect'
alias pndcn='podman network disconnect'
alias pni='podman network inspect'
alias pnls='podman network ls'
alias pnrm='podman network rm'
alias ppo='podman container port'
alias ppu='podman pull'
alias pr='podman container run'
alias prit='podman container run --interactive --tty'
alias prm='podman container rm'
alias 'prm!'='podman container rm --force'
alias pst='podman container start'
alias prs='podman container restart'
alias psta='podman stop $(podman ps --quiet)'
alias pstp='podman container stop'
alias ptop='podman top'
alias pvi='podman volume inspect'
alias pvls='podman volume ls'
alias pvprune='podman volume prune'
alias pxc='podman container exec'
alias pxcit='podman container exec --interactive --tty'