Smaller base image for Worker Tools (execution containers)

Not really advice, more of a feature request…

It would be useful to have a smaller base image for Octopus worker tools rather than the current ‘full fat’ images found here: GitHub - OctopusDeploy/WorkerTools: Officially sanctioned worker images for Octopus Deploy

We find that we only need a small subset of the tools in the image (Terraform, AWS CLI) but also need to extend this with other tools not available (such as Elastic Beanstalk CLI and other internal ones).

My suggestion would be to release a base image that contains the bare bones features required to run Calamari in a container. This would also allow users to patch and update tools based on their own release cadence (for example some of our repos cannot yet run on Terraform 1.0)

Also is there any roadmap for supporting Alpine docker images? The docs currently say this is not supported but, in line with creating smaller more secure images, this would be a better base distro than Ubuntu.

Happy to raise elsewhere if this is not the best place.

Thanks

Luke

I can see there was a simialr question asked in the Github repo here: Guidance on versioning and bundled tools · Issue #27 · OctopusDeploy/WorkerTools · GitHub

Is there any update on the last paragraph response, copied below:

"On our radar for future consideration is finer-grained tool containers. The current tool container is a bit of a “kitchen sink” of devops tools - designed as a general purpose set of tools that will help people in all sorts of deployment scenarios. The tradeoff here is that the they are larger and more complex images.

We may move to publishing a set of smaller, focussed containers. This would shrink image sizes, and also make it more clear that when an image was updated, it was likely to update the version of the specific tool it was providing."

Hi @l.bailey

Thanks for getting in touch.

I’ll let the team who looks after the WorkerTools repository comment on your specific question on the GitHub issue (I’ve also let them know internally).

In terms of the place for feature requests, that would be best raised on our uservoice site - https://octopusdeploy.uservoice.com - it’s possible that there is already an item there that matches your feature request, but if not feel free to add it.

I think the issue with the alpine image may be the .net core runtime required by Calamari which is run as part of the execution container feature. The last time I checked, it wasn’t compatible with alpine.

One last thing I wanted to mention was that a colleague in the Customer Solutions team created some smaller images in our OctopusDeployLabs GitHub organization - Octopus Deploy Labs · GitHub

A couple to call out:

I have to mention, these images aren’t officially supported by Octopus, they were created by our team, but you’re free to use them if they help.

I hope that helps, but let me know if you have any questions!

Best,
Mark