podman-image-sign(1)
π podman-image-sign β the manual page, but make it cute π
okay so bestie, welcome to podman-image-sign(1) from the General Commands Manual π this is the whole page, every last crumb of it, just with 1000% more sparkle β¨
β¨ NAME β¨
podman-image-sign β Create a signature for an image ποΈ
πΈ SYNOPSIS πΈ
podman image sign [options] image [image ...]
π DESCRIPTION π
okay so podman image sign creates a local signature for one or more local images that have been pulled from a registry. no cap, that's the whole job π«Ά
the signature gets written to a directory derived from the registry configuration files in $HOME/.config/containers/registries.d if that exists β otherwise /etc/containers/registries.d (unless it got overridden at compile-time, which is a thing that can happen, iykyk). go check containers-registries.d(5) for the deets π
by default, the signature is written into /var/lib/containers/sigstore for root, and $HOME/.local/share/containers/sigstore for non-root users. lowkey neat π
π OPTIONS π
--all,-aβ Sign all the manifests of the multi-architecture image (defaultfalse). it's giving "everybody gets a signature" π«--authfile=pathβ Path of the authentication file. Default is${XDG_RUNTIME_DIR}/containers/auth.jsonon Linux, and$HOME/.config/containers/auth.jsonon Windows/macOS. This file is created bypodman login. If the authorization state is not found there,$HOME/.docker/config.jsonis checked, which is set usingdocker login. π
Note: there's also the option to override the default path of the authentication file by setting the REGISTRY_AUTH_FILE environment variable. Do it like this: export REGISTRY_AUTH_FILE=path.
--cert-dir=pathβ Use certificates at path (*.crt,*.cert,*.key) to connect to the registry. (Default:/etc/containers/certs.d) For details, seecontainers-certs.d(5). π
heads up bestie: this option is not available with the remote Podman client, including Mac and Windows (excluding WSL2) machines π
--directory,-d=dirβ Store the signatures in the specified directory. Default:/var/lib/containers/sigstoreπ--help,-hβ Print usage statement. the classic "what do I do now" button π--sign-by=identityβ Override the default identity of the signature. main character energy, but for your keyring π
π₯ EXAMPLES π₯
Sign the busybox image with the identity of foo@bar.com with a user's keyring and save the signature in /tmp/signatures/. slay π
$ sudo podman image sign --sign-by foo@bar.com --directory /tmp/signatures docker://privateregistry.example.com/foobar
$ sudo podman image sign --authfile=/tmp/foobar.json --sign-by foo@bar.com --directory /tmp/signatures docker://privateregistry.example.com/foobar
π§ RELATED CONFIGURATION π§
the write (and read) location for signatures is defined in YAML-based configuration files in /etc/containers/registries.d/ for root, or $HOME/.config/containers/registries.d for non-root users. when signing an image, Podman uses those configuration files to determine where to write the signature, based on the name of the originating registry or a default storage value β unless you override it with the --directory option. periodt π
for example, consider the following configuration file:
docker:
privateregistry.example.com:
sigstore: file:///var/lib/containers/sigstore
when signing an image preceded with the registry name 'privateregistry.example.com', the signature is written into sub-directories of /var/lib/containers/sigstore/privateregistry.example.com. and the use of 'sigstore' also means the signature is 'read' from that same location on a pull-related function. it's the same house for reading and writing, iconic π β¨
β SEE ALSO β
containers-certs.d(5), containers-registries.d(5)
π HISTORY π
November 2018, Originally compiled by Qi Wang (qiwan at redhat dot com) π«Ά
and that's the whole podman-image-sign(1) page bestie, from the General Commands Manual, originally compiled back in November 2018 β go forth and sign your images, you absolute legend ππ no cap
π¦ where this page comes from
- arch rolling: podman-docker 6.1.4-1 Β· Apache-2.0
- fedora 43: podman-docker 5:5.6.2-1.fc43 Β· Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0
- fedora 43: podman-docker 5:5.8.4-1.fc43
- fedora 43: podman-docker 5:5.8.8-1.fc43
- fedora 43: podman-docker 5:5.8.9-1.fc43 Β· Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0
- fedora 44: podman-docker 5:5.8.1-1.fc44 Β· Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0
- fedora 44: podman-docker 5:5.8.7-1.fc44
- fedora 44: podman-docker 5:5.8.9-1.fc44 Β· Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0
- ubuntu resolute: podman-docker 5.7.0+ds2-3build1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms