public DockerImage get(Node node) {
        Optional<DockerImage> requestedImage = node.allocation()
                                                   .flatMap(allocation -> allocation.membership().cluster().dockerImageRepo());
        NodeType nodeType = node.type().isHost() ? node.type().childNodeType() : node.type();
        DockerImage wantedImage =
                nodeType != NodeType.tenant ?
                        defaultImage :
                node.resources().gpuResources().isZero() ?
                        tenantImage.orElse(defaultImage) :
                        tenantGpuImage.orElseThrow(() -> new IllegalArgumentException(node + " has GPU resources, but there is no GPU container image available"));

        return requestedImage
                // Rewrite requested images to make sure they come from a trusted registry
                .map(image -> image.withRegistry(wantedImage.registry()))
                .orElse(wantedImage);
    }
Returns the container image to use for given node
node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/ContainerImages.java