Open kenoir opened 9 months ago
Pausing work for a sprint to allow users to adopt, other feature work to proceed.
@kenoir I think this is completed, isn't it? Can this be closed?
@kenoir I think this is completed, isn't it? Can this be closed?
Not yet, we still have weco-bot. We could schedule some work next sprint to look at this again.
weco-bot is a machine user on GitHub that we use for a variety of automated actions. I believe this list to be exhaustive:
weco-bot's current actions are achieved through 3 mechanisms:
wellcomedigitalplatform@wellcome.ac.uk
) and to push using an SSH key for the weco-bot account.That is to say that weco-bot's identity is assumed by our CI servers using either:
Authenticating as an app installation is appropriate for all of these use cases.
https://x-access-token:TOKEN@github.com/owner/repo.git
.While this seems straightforward, the mechanics of getting the access token in the right place are really quite complex. To get an installation access token, a machine first needs access to the app's private key in order to create a signed JWT with which to request the token.
My guess at a minimal implementation would involve something like the following:
This is quite achievable but not trivial - are we sure that the benefits of enforcing SSO outweigh the complexity/risk involved in this solution? There is of course an alternative approach where SSO is enforced and we create a machine user identity in Azure AD - is that a better solution?
@agnesgaroux to have a look whether or not this can be closed/create new tickets if needed.
TO DO
The final part of this is migrating from Buildkite to GitHub actions so the weco-bot credentials are not required to allow that build system to check out from GitHub.
See https://github.com/wellcomecollection/platform/issues/5783
We now have a GitHub enterprise supported account, we should take advantage of SSO.
We will need to: