Open AndiDog opened 1 year ago
According to the documentation, there is no way of passing unencrypted credentials for now. It is still supported with 1.6 LTS release. IMO, we can keep our config as it is until support for unencrypted auth token implemented with the new interface.
Team Turtles owns containerd.
Configuration of mirrors is already supported in CRI using the host.toml
Even though is already deprecated there is no proper secrets-management plugin alternative available as far as i can tell.
One possible solution, as pointed out here and here, is to use headers
in the host.toml
$ echo -n "${USERNAME}:${PASSWORD}" | base64
dXNlcjpwYXNzd29yZA==
hosts.toml
server = "https://xx.xx.xx/"
[host."https://xx.xx.xx"]
capabilities = ["pull", "resolve", "push"]
[host."https://xx.xx.xx".header]
authorization = "Basic xxxxxxxxxxx"
I am not sure if this is worth doing since
as decided in standup we should wait for the proper solution to the credentials
deprecation before moving on with this.
moving to blocked
IIRC @giantswarm/team-honeybadger recently worked on the registry mirrors while implementing Zot. Do you think this also solves this issue?
We still offer a way in the cluster
chart to use the outdated config:
[plugins."io.containerd.grpc.v1.cri".registry.configs."{{$value.endpoint}}".auth]
However the above isn't used for default values.
And we're also not using the recommended config_path = ...
style.
So let's keep this open. We'll definitely notice once containerd makes breaking changes.
Both registry mirrors and credentials configurations are affected
https://github.com/containerd/containerd/blob/main/docs/cri/registry.md says
server
/host
fields.