Support Bitbucket git repo access from Composer
- How to discover available git repos? (currently uses "repositories" table)
- How to authenticate to git repo? (currently uses user token)
- Does git repo support CORS to allow browser access?
- Can crunch-run access git repo for checkout when executing with "run" button?
#5 Updated by Tom Clegg over 2 years ago
One possible way to achieve this (without storing credentials or requiring the client to have full git functionality and bandwidth) is a "fetch remote git repo with credentials" API.
- API request includes necessary credentials (e.g., the Authorization header to send to the remote git server)
- API fetches the desired ref (or the entire repo) into a local repo ("internal.git"?)
- API response includes the necessary information to use the desired tree in the "mounts" field of a container request
#6 Updated by Peter Amstutz over 2 years ago
Uh, apparently the cloud hosted bitbucket uses a different 2.0 API?
We'll need to clarify which one we need to support.
#7 Updated by Peter Amstutz over 2 years ago
Proposed Composer workflow:
- Get Bitbucket hostname / username / password from user
- Use Bitbucket API to list repositories (supports Basic auth over HTTPS)
- Use git HTTPS to pull/push repository
- To run:
- API call "fetch remote repo" into arvados hosted repo (note 5), provides credentials to use to contact bitbucket
- make container request using arvados hosted repo