skupper icon indicating copy to clipboard operation
skupper copied to clipboard

The controller image should allow to inspect the images it uses

Open hash-d opened this issue 8 months ago • 2 comments

Is your feature request related to a problem? Please describe.

In v1, the creation of skupper-router and other deployments was done by either the skupper-cli or the site-controller. In both options, there was a way to check which images they were using (running skupper version or checking the related images from the operator).

With 2.0, that work moved to the controller component, and on it it is impossible to list images and their versions.

This is a request to add that capability to the image.

Describe the solution you'd like

I'm not sure what is the best way to go about it. See the alternative session below.

Describe alternatives you've considered

  • the controller binary within the image has a -version option. Perhaps adding a -o yaml modifier to it, or a -images flag specifically for this. A JSON or YAML output would be ideal
  • adding a manifest.json file along with the controller binary on the image would also work
  • using labels on the image to declare skupper-router and kube-adaptor versions can be an option, though weaker

From my perspective, adding -images is the best, as it ensures it is reporting on the baked-in images.

The other two decouple the solution a bit, which may result in incorrect information (if the Containerfile was not updated properly, for example).

Additional context

This information is hard to extract from the binary, even with | strings. Version information is always important for support scenarios.

hash-d avatar Apr 05 '25 12:04 hash-d

Is is not sufficient to inspect the deployment to see the image? We could document how...

e.g.

$ kubectl get deploy skupper-router -o json | jq '.spec.template.spec.containers[0].image' $ kubectl get deploy skupper-router -o json | jq '.spec.template.spec.containers[1].image'

ajssmith avatar Apr 17 '25 14:04 ajssmith

@ajssmith, the deployment images are the end result, and may come from the binary, or be modified by environment variables, and possibly by other means such as kube cluster configuration.

Ideally, we should be able to inspect the controller image and be able to determine which images are baked in it.

hash-d avatar Apr 23 '25 21:04 hash-d