Podman
Podman is a container runtime that runs daemonless as a normal user. It has been adopted as the only container run time since convey 0.15.0.
podman/build
This task will build a container image.
Attributes
Name | Required | Default | Description |
---|---|---|---|
annotations | A list of annotations for the container image. | ||
containerfile | Yes | The containerfile to build. | |
context | ${CONVEY_WORKSPACE} | The context to pass to podman build. This path needs to build under the convey workspace which means all files for the build must first be imported into the workspace. | |
tags | A list of tags or a single tag to be applied to the image. | ||
target | The name of the target to build in a multi stage containerfile. |
Example
build:
type: podman/build
containerfile: Dockerfile
tags: myimage:latest
podman/login
This task allows you to authorize to a container registry.
Attributes
Name | Required | Default | Description |
---|---|---|---|
password | Yes | The password to use. | |
registry | docker.io | The registry to login to. | |
username | Yes | The username to use. |
Example
registry-login:
type: podman/login
username: superuser1
password: abc123
podman/logout
This task allows you to unauthenticate from a container registry.
Attributes
Name | Required | Default | Description |
---|---|---|---|
registry | docker.io | The registry to logout of. |
Example
registry-logout:
type: podman/logout
registry: registry.my.domain:5000
podman/pull
This task allows you to pull down a container image. If the image is private,
be sure to run a podman/login
task first.
Attributes
Name | Required | Default | Description |
---|---|---|---|
tags | Yes | A list of image names or a single image name including the tags. |
Example
pull-alpine:
type: podman/pull
tags: gliderlabs/alpine:edge
podman/push
This task allows you to push a local container image to a registry. If the
repository on the registry is private, be sure to run a podman/login
task
first.
Attributes
Name | Required | Default | Description |
---|---|---|---|
tags | Yes | A list of image names or a single image name including the tags. |
Example
push-images:
type: podman/push
tags:
- registry.my.domain:5000/newimage:main-latest
- registry.my.domain:5000/newimage:main-deadbeef
podman/remove
This task will remove an image from the local machine.
Attributes
Name | Required | Default | Description |
---|---|---|---|
tags | A list of image names including the tags. | ||
quiet | false | True if a missing image should not count as a failure. |
Example
remove-image:
type: podman/remove
tags:
- registry.my.domain:5000/newimage:main-latest
- registry.my.domain:5000/newimage:main-deadbeef
podman/run
This task will run a container with the workspace mounted.
Attributes
Name | Required | Default | Description |
---|---|---|---|
annotations | A list of annotations to set on the container being run. | ||
command | The command to run in the container. This is only necessary if the image does not provide a command by default. | ||
entrypoint | The entrypoint to use for the container. This is only necessary if the image does not provide one by default or if you want to override the image's default entrypoint. | ||
environment | A list of environment variables to set. This should be specified in a NAME or NAME=VALUE format. |
||
hostname | A custom hostname to set inside the container. | ||
image | Yes | The image including the registry and tag to run. | |
script | A list of commands to run inside of the container. | ||
shell | The shell to use with the script attribute above. | ||
user | The user to run the container as. | ||
workdir | The working directory inside the container. | ||
workspace | The path to mount the convey workspace at inside of the container. |
Example
A basic example where the image knows everything to do.
build-golang:
type: podman/run
image: golang:onbuild
A basic example using a standard image to do something else.
download-file:
type: podman/run
image: debian:bookworm
script:
- wget https://somedomain.tld/file1
- wget https://somedomain.tld/file1.sha256sum
- sha256sum -c file1.sha256sum
podman/tag
This task will tag existing images on the host.
Attributes
Name | Required | Default | Description |
---|---|---|---|
image | Yes | The full source image including the registry and tag to tag. | |
targets | Yes | The destination tag including the registry and tag to create. |
Example
tag-dev:
type: podman/tag
image: registry.my.domain:5000/newimage:latest
targets: registry.my.domain:5000/newimage:dev