-
Notifications
You must be signed in to change notification settings - Fork 31
Auth expiration causes failed version fetches #235
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
The registry library should automatically refresh credentials, and in fact it does so (e.g. with GitHub container registry). So I'm not exactly sure what exactly is going on for you. We have unrelated issue with this library #231 which might lead us to removing the cached pullers completely. |
I did a bit of research on this. Here’s what the request sequence looks like when running
The token I received on May 21st from https://ghcr.io/token is still valid. I couldn’t find any public documentation on its exact expiration time, but it seems to live long enough for the system to reach the next scheduled or incidental restart (such as after an In my case, however, the token obtained during the /token step expires after about 24 hours. |
This is not a fix, but a bit of a workaround for issues in the upstream library. Use a refresh on interval strategy to ensure that both remote pushers and pullers are refreshed. Fixes siderolabs#231 Fixes siderolabs#235 Signed-off-by: Andrey Smirnov <[email protected]>
This is not a fix, but a bit of a workaround for issues in the upstream library. Use a refresh on interval strategy to ensure that both remote pushers and pullers are refreshed. Fixes siderolabs#231 Fixes siderolabs#235 Signed-off-by: Andrey Smirnov <[email protected]>
This is not a fix, but a bit of a workaround for issues in the upstream library. Use a refresh on interval strategy to ensure that both remote pushers and pullers are refreshed. Fixes siderolabs#231 Fixes siderolabs#235 Signed-off-by: Andrey Smirnov <[email protected]>
This is not a fix, but a bit of a workaround for issues in the upstream library. Use a refresh on interval strategy to ensure that both remote pushers and pullers are refreshed. Fixes siderolabs#231 Fixes siderolabs#235 Signed-off-by: Andrey Smirnov <[email protected]>
This is not a fix, but a bit of a workaround for issues in the upstream library. Use a refresh on interval strategy to ensure that both remote pushers and pullers are refreshed. Fixes siderolabs#231 Fixes siderolabs#235 Signed-off-by: Andrey Smirnov <[email protected]>
This is not a fix, but a bit of a workaround for issues in the upstream library. Use a refresh on interval strategy to ensure that both remote pushers and pullers are refreshed. Fixes siderolabs#231 Fixes siderolabs#235 Signed-off-by: Andrey Smirnov <[email protected]>
Hi!
I try to setup my own Image Factory with Forgejo as
image-registry
.Everything works well initially, but after some time (usually the next day), I encounter the following error when trying to fetch Talos versions:
e.g.
The error resolves if I restart the Image Factory, without changing any credentials.
In an attempt to solve the problem, I tried changing username to
<token>
, as described in go-containerregistry auth docs, but the issue persists.Proposal
As I understand it, this happens because pullers are created once and then cached, which causes problems not only in my case (see #200 (comment)).
Would it be possible to introduce a TTL (e.g. re-initialize puller every 10–15 minutes)? I suspect that, at least in my case, this would have solved the problem.
May be something like this:
I could send a PR if you don't mind this change.
The text was updated successfully, but these errors were encountered: