CircleCI cannot find context "dockerhub-auth" #3541

Open
opened 2020-11-30 20:42:56 +00:00 by sajith · 1 comment

In #3483, we added a "dockerhub-auth" context which holds DockerHub credentials to tahoe-lafs' CircleCI settings, in order to solve the problem imposed by DockerHub's impending rate limits. It turns out that having an organization-specific context will prevent CircleCI from running CI tasks for pull requests made by contributors who have chosen to fork tahoe-lafs repository at GitHub.

Here is an example CI run: https://app.circleci.com/pipelines/github/jaraco/tahoe-lafs/23/workflows/e2869d9c-43c7-4475-9aac-690826136eb7. All of those failed tasks have failed with the same "could not find context" error message.

This happens because the tahoe-lafs organization's CircleCI account has a "dockerhub-auth" context, but any other account that forked the repository won't have such a context, unless they add one at CircleCI. This is the source of those errors, and it could be pretty confusing.

A solution would be for the account that forked the repository to create a "dockerhub-auth" context (an empty context will do) under CircleCI's "organization settings".

An even better solution would be to adapt our CircleCI configuration such that it will continue to work even when a "dockerhub-auth" context is not present. In such cases, CI should continue to function, even if DockerHub rate-limits image pulls. This way new contributors won't need to have commit access to the "canonical" tahoe-lafs repository.

In #3483, we added a "dockerhub-auth" context which holds DockerHub credentials to tahoe-lafs' CircleCI settings, in order to solve the problem imposed by DockerHub's impending rate limits. It turns out that having an organization-specific context will prevent CircleCI from running CI tasks for pull requests made by contributors who have chosen to fork tahoe-lafs repository at GitHub. Here is an example CI run: <https://app.circleci.com/pipelines/github/jaraco/tahoe-lafs/23/workflows/e2869d9c-43c7-4475-9aac-690826136eb7>. All of those failed tasks have failed with the same "could not find context" error message. This happens because the tahoe-lafs organization's CircleCI account has a "dockerhub-auth" context, but any other account that forked the repository won't have such a context, unless they add one at CircleCI. This is the source of those errors, and it could be pretty confusing. A solution would be for the account that forked the repository to create a "dockerhub-auth" context (an empty context will do) under CircleCI's "organization settings". An even better solution would be to adapt our CircleCI configuration such that it will continue to work even when a "dockerhub-auth" context is not present. In such cases, CI should continue to function, even if DockerHub rate-limits image pulls. This way new contributors won't need to have commit access to the "canonical" tahoe-lafs repository.
sajith added the
dev-infrastructure
normal
defect
n/a
labels 2020-11-30 20:42:56 +00:00
sajith added this to the undecided milestone 2020-11-30 20:42:56 +00:00

Since pulling Docker images is a core part of CircleCI's infrastructure and not something we have much direct control over (except the knobs that they specifically expose to us) I don't know how feasible this is.

Since pulling Docker images is a core part of CircleCI's infrastructure and not something we have much direct control over (except the knobs that they specifically expose to us) I don't know how feasible this is.
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Reference: tahoe-lafs/trac-2024-07-25#3541
No description provided.