Extend Executors with images
C
Charlie Briggs
We've started using custom orbs, these define a base image, say cimg/clojure:<tag>.
We'd like to also offer executors with common tools, Localstack, MinIO, Redis, Postgres, etc. However there's no way of adding additional images to an executor currently.
I'd suggest one of two solutions:
- Allow executors to have more images provided via parameters. Right now it isn't possible to have a whenblock in the executor config, or extend the executors
- Extend executor image config when specifying it, rather than replacing it. This would be a breaking change so it would likely need to be under a separate executor parameter, rather than docker
Right now we're creating two executors, one with just the main runner for the core language, and another with Localstack and Minio, which is our common setup. If we ever need more docker images, we need to copy and paste that config from the orb for all the images.
Josh Branham
We have a very similar scenario of wanting abstract executor configs into an orb and provide a simple way for engineers to say: "I need ruby version X and postgres version X and (sometimes) redis etc". Per your point I think my only real solution now is to create an executor like
ruby+postgres
and ruby+postgres+redis
with parameters for each tag.