This should give you a location to stick in the friendly name of a container that won't get clobbered by the provider.
I do like the explanation you provided though, because this is the kind of puzzle you can't really solve with Terraform until you've run into it. I've never used the `replace_triggered_by` feature.
[1]: https://registry.terraform.io/providers/kreuzwerker/docker/l...
[2]: I was originally expecting `docker_image` to be a data source, but the resource seems to be the recommended method for this, and I didn't wrap my brain around the differences between the data source and the resource before writing.
I guess, assuming you're not building the image, whether you use the data source of image probably isn't too important (assuming the data source is able to lookup images that aren't present on the local machine :thinking:).
Edit: and now I've seen that in the docker image resource, they reference using the data source to be able to track remote image SHA changes, in order to trigger an image re-pull :doh:
Feels like we've gone full-circle with this :D
I've run into this exact thing. Luckily rebuilding a container doesn't cause downtime for us and 99% of our changes require rebuilding an image, so I've just left it as is...
It is annoying though when we make a small infra change and have to wait for the container image to build...
This is a useful trick in situations where the image changing under your feet isn't very important.
So the data element would lookup the tag, and the specific hash is used in the deployment. No funky replace triggers needed.
The point was more about using null_triggers (or `terraform_data` I see) and using the trigger replacement, with the docker resources as purely an illustration.
https://developer.hashicorp.com/terraform/language/resources...
~8 years in or so with terraform and I've found null_resource to be a useful crutch in doing things like, "take this source and compile it with this script that'll basically never change, then put it somewhere that's defined in terraform." Overly relying on this mechanism feels like terraform code smell to me, just from my personal experience, if that's even a thing.