hashicorp / waypoint

A tool to build, deploy, and release any application on any platform.
https://waypointproject.io
Other
4.76k stars 327 forks source link

Runner docker image confusion #4017

Open izaaklauer opened 2 years ago

izaaklauer commented 2 years ago

Currently we publish two docker images: hashicorp/waypoint and hashicorp/waypoint-odr.

It's a great source of confusion to users which image they should use where. The correct answer is:

server: hashicorp/waypoint runner: hashicorp/waypoint on-demand runner: hashicorp/waypoint-odr

Common mistakes:

Trying to use the ODR image when installing a static runner, e.g.:

waypoint runner install   -platform=kubernetes  -k8s-runner-image=hashicorp/waypoint-odr:0.10.2

Trying to use the static image for ODR, e.g.:

waypoint runner profile set -name=k8s -oci-url=hashicorp/waypoint:0.10.2

Neither of these cases will work, and they each give cryptic error messages at runtime that do not indicate to the user that they have the wrong image.

Potential solutions

It would be great if we didn't need two images. It strikes me as technically possible to have one image that includes kaniko that works for server+runner+odr. This eliminates the potential for confusion.

Barring that, we should at least present the user with an error at the earliest time possible (in the cli maybe) that they're trying to use the wrong image type.

evanphx commented 2 years ago

The odr image exists because we need to give kaniko the base image for it to function properly. That creates restrictions about how new files can be placed in the image, but as @izaaklauer pointed out, if someone wants a tool to use at runtime, they have to add it to the odr image anyway.

The result is we should see if we can make the odr image the main image.