Kubernetes Runner - DRONE_IMAGE_PLACEHOLDER and DRONE_IMAGE_CLONE can't share the same image, ignoring tag

I have a use case where we stored our placeholders image as XXX.dkr.ecr.us-east-1.amazonaws.com/docker-hub-copy:drone-placeholder-1 and the clone image as XXX.dkr.ecr.us-east-1.amazonaws.com/docker-hub-copy:drone-git-1

When the runner is in this configuration it thinks that the clone container is a placeholder container and has a terminated state when the step completes. This causes the pipeline to fail. The clone container did terminate, but was successful.

It is my best guess that the check for isPlaceholder is not taking into account the tag and looking only at the image name. Which in this use-case they are the same docker-hub-copy.

You are correct that we intentionally ignore tags in our match function [1], however, this is by design and is not something that we can change (other areas of the code rely on this behavior). You will need to publish two separate docker images, one for the git clone and another for the placeholder.

[1] https://github.com/drone-runners/drone-runner-kube/blob/master/internal/docker/image/image_test.go#L119