Skip to content

podplane push

Push an app image from Podplane’s local registry to the current cluster’s container image registry through a Kubernetes port-forward.

podplane push <local-image> [<remote-image>] [flags]

This is the promotion path for images built with podplane build: build and test locally, then push the same apps/ image to another Podplane cluster.

For example:

# build your app image
podplane build -t api:v1
# deploy it in your local cluster to test it
podplane deploy web --name api --image default-registry.local/apps/api:v1
# now push it to your remote cluster
podplane push api:v1
# and deploy it in your remote cluster using that cluster's registry hostname
podplane deploy web --name api --image prod-registry.example.com/apps/api:v1

If <remote-image> is omitted, Podplane pushes to:

<cluster.registry.hostname>/<source-app-repository>:<source-tag-or-latest>

Source images are normalized the same way as podplane build output. These are equivalent source refs:

api:v1
apps/api:v1
default-registry.local/apps/api:v1

All resolve to apps/api:v1 in Podplane’s local registry cache.

If <remote-image> omits a registry hostname, Podplane prefixes cluster.registry.hostname. Remote images must be under apps/**; mirror/** is reserved for Podplane-managed dependency mirrors.

If the source image is not in Podplane’s local registry cache, Podplane checks Docker’s local image store. When a matching Docker image exists, Podplane asks before importing and pushing it. Use --auto-approve to skip the prompt, --docker=/path/to/docker to choose a Docker binary, or --docker=false to disable this fallback.

Options

FlagDescription
--context stringKubeconfig context to use. Defaults to the current kubeconfig context.
--kubeconfig stringPath to the kubeconfig file.
--docker[=PATH|false]Use Docker as a fallback source, optionally with a Docker binary path. Defaults to docker; use --docker=false to disable fallback.
-y, --auto-approveSkip confirmation prompts.

The command requires the zot-registry component to be installed and ready in platform-zot-registry in the target cluster.