Sort of a sister issue to #191. Should we allow projects to define their default Git host? We should enable password login if this is going to be the case. They will then need to provide some sort of secret so our backend can access their git repo.
If we do this, we should probably allow users to sign up and login with just a username and password instead of forcing them to login with GitHub.
Concepts
Add Calkit apps to all relevant Git hosts. Some may not have that feature though.
Make the Git host generic and allow them to upload some secret to the project that allows our server to perform Git operations on their host. This could be a personal access token, username and password, maybe even an SSH key.
a. We could have account-level Git hosts with integrations being either OAuth apps or PATs. This could apply to other types of 3rd party integrations as well, e.g., Figshare, Zenodo, Zotero. A user can go to their settings and click "Add integration", where the type is Git host, add a URL and a token, and then they can select that host when creating a project.
Add a Git server to this application, perhaps by adding GitLab or Gitea. This would be nice because then we won't need to be cloning and pulling externally. Things can be fully self-contained. We should at least leave this door open for the future.
Sort of a sister issue to #191. Should we allow projects to define their default Git host? We should enable password login if this is going to be the case. They will then need to provide some sort of secret so our backend can access their git repo.
If we do this, we should probably allow users to sign up and login with just a username and password instead of forcing them to login with GitHub.
Concepts