Open phillebaba opened 1 month ago
I think this can be done by:
Config() criconfig.ImageServiceConfig
method (or ImageServiceConfig
to avoid conflict with RuntimeService.Config
) to ImageService
interface (RuntimeService
interface has a similar Config() criconfig.Config
method) [1]criService.Status
method, call criService.ImageService.Config()
and save the config in resp.Info["imageserviceconfig"]
[2]Then the imageservice related config can be returned from the same API as before (though under a different key).
@dmcgowan does the above change make sense? (looks like a follow up for the PR https://github.com/containerd/containerd/pull/9152/files#r1445475051). If it sounds good I can make a change for it. thanks.
What is the problem you're trying to solve
In Containerd v1.7 the CRI service status exposed CRI config loaded by Containerd.
https://github.com/containerd/containerd/blob/7f7fdf5fed64eb6a7caf99b3e12efcf9d60e311c/pkg/cri/server/status.go#L68
This config included the registry configuration.
https://github.com/containerd/containerd/blob/7f7fdf5fed64eb6a7caf99b3e12efcf9d60e311c/pkg/cri/config/config.go#L279
During the changes made in #9152 this information was removed to decouple the dependency to the image service.
This has removed the ability to verify the configuration currently loaded by Containerd through the CRI API.
Describe the solution you'd like
I would like to find a away to expose the information either through some other API or to consider adding this information back to the current API. Having a look at the current CRI, there is no obvious endpoint where this information could be included. If we were to find another API we would have to find a new endpoint where this would be accessible.
Additional context
Spegel has depended on the ability to check the configuration to be able to verify that Containerd. The latest release of Containerd
v2.0.0-rc.4
has stopped Spegel to work, because it requires configuration verification to work. Details about the issue is covered in https://github.com/spegel-org/spegel/issues/579. Short term we can disable the verification specifically for Containerd v2 but long term it would be nice to find a solution.