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?
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 11 months 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 11 months 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