Add private git repos for mantik code in Mantik GUI
Summary
As Mantik user, I want to add a private git repository using as mantik code repository using the GUI so I can use it for my ML development with mantik.
Acceptance Criteria
-
A private repo can be added via mantik GUI as mantik code repo. -
A connection can be optionally provided while filling out the ADD dialog. -
Private git repositories can be used as mantik code repo for mantik runs and runs are executed successfully
Testing
Given I am a member of a project And I navigate to my code tab
-
And I create a new code instance Then a dialog should appear -
And I create a private git repository And I click on the Connections input Then I should see a dropdown with the all my available connections -
And if I click on the correct connections Then I should be able to submit the form with it And I should see a success message And it should successfully create a new unlocked code repo instance -
And the relevant API calls should be made to the backend
-
-
And if I click on an incorrect connections Then I should be able to submit the form with it And I should see an error message And it should successfully create a code repo instance -
And the relevant API calls should be made to the backend
-
-
-
We have a connection object
We should reuse it, not create additional redundant entities.
IMPORTANT: specifying a connection_id
in the PUT code or data
endpoint, should not remove the existing connections of other users. It should append/remove your connection to the repo.
Additional information:
Gitlab and Github resources on personal access tokens
- https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html
- https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens
We would like a dropdown to select a pre-declared connection/accessKey in both:
- The
+ADD
dialog - can use same POST endpoint to create code repo (POST does not need repo_id, it will only need theconnection_id
& which platform gitlab/github)
** THE ABOVE -- MUST MAKE SURE THE CONNECTION ID ENDPOINTS ONLY HAPPEN AFTER THE FINAL SUBMIT ACTION OF THE ABOVE FORMS
- A NEW dialog to the lock icon specifically addressing the adding of a connection (will be done in another ticket)
Suggested Implementation
-
Create a reusable form-input 'Connection field' component that can optionally select a connection from a scrollable dropdown of the users pre-added connections -
Extend the ADD
form with the above reusable component -
** input-search functionality for the user may easily be added, if not, leave for now. -
Add the functionality for this to create a connection between the code instance and its access key only in the case of the submit form being triggered
/cc @rico.berner