Before attempting to start containers during reconciliation, rezn should ensure all referenced images are available locally. If any image is missing, it should be pulled before container startup begins.
Why
When an image is not present locally, docker run will trigger an implicit pull - this can stall container startup by 30s–90s+ depending on network and image size. Preflight checking avoids confusion, improves logs, and allows for better control and feedback to the user.
What to do
Future consideration
- Cache previously pulled images to avoid redundant inspect checks
- Optionally allow parallel pulls for large-scale deploys
Before attempting to start containers during reconciliation,
reznshould ensure all referenced images are available locally. If any image is missing, it should be pulled before container startup begins.Why
When an image is not present locally,
docker runwill trigger an implicit pull - this can stall container startup by 30s–90s+ depending on network and image size. Preflight checking avoids confusion, improves logs, and allows for better control and feedback to the user.What to do
PodSpecs during reconciledocker image inspectcheck per imagedocker pullbefore attempting to start any containerFuture consideration