Story #12961

Support Bitbucket git repo access from Composer

Added by Tom Morris 11 months ago. Updated 8 months ago.

Status:
New
Priority:
Normal
Assigned To:
-
Category:
-
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Story points:
-

Description

  • 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?

History

#1 Updated by Tom Morris 11 months ago

  • Status changed from New to In Progress

#2 Updated by Tom Morris 11 months ago

Storing reference to the Git repo
CORS
Authentication
Run button assumes it can commit to Arvados repo

#3 Updated by Peter Amstutz 11 months ago

  • Description updated (diff)

#5 Updated by Tom Clegg 11 months 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 11 months ago

Uh, apparently the cloud hosted bitbucket uses a different 2.0 API?

https://developer.atlassian.com/bitbucket/api/2/reference/resource/

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

#8 Updated by Tom Morris 10 months ago

  • Status changed from In Progress to New

#9 Updated by Tom Morris 10 months ago

  • Project changed from Arvados Private to Arvados

Also available in: Atom PDF