Configure pull credentials on an edge device for VM applications
Configure container registry pull credentials so the Red Hat Edge Manager agent can pull the Red Hat virt-launcher image from registry.redhat.io. Without valid credentials, VM applications fail to start. Store credentials at /root/.config/containers/auth.json on the device.
Before you begin
- SSH or console access to the edge device.
- A Red Hat account with access to the Red Hat container catalog.
- The device is running Red Hat Enterprise Linux (EL9 or EL10).
- Podman is installed on the device.
- The
worker.vmRender.launcherImagevalue is configured on the Red Hat Edge Manager control plane. See Virt-launcher image configuration values in the Additional resources section for configuration details.
Every command in this procedure requires root privileges because it reads or writes files owned by root. If you access the device through the Red Hat Edge Manager web console terminal, that session does not start as root, so prefix each command with sudo as shown. If you connect over SSH as the root user, sudo is not required, but running the commands with sudo is still safe.
Procedure
Results
- Confirm that the
auth.jsonfile exists at/root/.config/containers/auth.jsonand contains a valid entry forregistry.redhat.io:sudo test -f /root/.config/containers/auth.json && echo "Credentials file exists"
For fleet-scale deployments, you have two additional options:
- Configure credentials declaratively using device or fleet specifications. See Configure pull credentials using device or fleet configuration in the Additional resources section.
- Include the
auth.jsonfile in your bootc operating system image build. Add the credentials file to the image at/root/.config/containers/auth.jsonduring the image build process. See Operating system images for the Red Hat Edge Manager in the Additional resources section for details on building custom OS images.
If the podman pull command fails with Error: unauthorized, verify the following:
- The Red Hat account credentials are correct. Re-run
sudo podman login --authfile /root/.config/containers/auth.json registry.redhat.ioto refresh the credentials. - The credentials file exists at
/root/.config/containers/auth.json. If the file is empty or missing, the login may not have written to the correct path. Podman writes credentials to a session-specific path such as/run/containers/0/auth.jsonby default; always specify--authfileto target the path the agent reads. - The device has network connectivity to
registry.redhat.io. Test connectivity withcurl -s https://registry.redhat.io/v2/ -o /dev/null -w '%{http_code}', which returns401if the registry is reachable.