When using NaaVRE-dev-vm, images are successfully built locally with docker_build(...), but cannot be pushed (Tilt tries to push them to docker.io/qcdis/vrepaas or vreapi, which fails because devs don't have the appropriate permission).
A few general approaches are supported by Tilt:
Container registry in the k8s cluster. With minikube, the registry is deployed with ctlptl. We then expose it through Wireguard, and add default_registry('192.168.50.1:5005') to the Tiltfile. However, pushing an image fails because the registry is using http (server gave HTTP response to HTTPS client). To fix this, devs would need to modify the configuration the Docker daemon on their local machine (see here). The goal of the dev VMs is to minimize configuration on the dev's machines.
When using NaaVRE-dev-vm, images are successfully built locally with
docker_build(...)
, but cannot be pushed (Tilt tries to push them to docker.io/qcdis/vrepaas or vreapi, which fails because devs don't have the appropriate permission).A few general approaches are supported by Tilt:
Container registry in the k8s cluster. With minikube, the registry is deployed with ctlptl. We then expose it through Wireguard, and add
default_registry('192.168.50.1:5005')
to the Tiltfile. However, pushing an image fails because the registry is using http (server gave HTTP response to HTTPS client
). To fix this, devs would need to modify the configuration the Docker daemon on their local machine (see here). The goal of the dev VMs is to minimize configuration on the dev's machines.External ephemeral container registry: yet another external service + push / download overhead.
Build on the cluster using buildx. No obvious downsides, additional benefit of using VM instead of dev's machine resources for building.