Feature #6769
closedarv-git-httpd manages repository creation instead of gitolite.
0%
Updated by Brett Smith over 9 years ago
- Story points deleted (
2.0)
I know this originates from a user request, and I agree we have to make our git repository setup easier, but engineering-wise I'm not sure this is a great way to achieve those goals.
Part of the reason we have Gitolite doing this now is that Gitolite is built to own the repositories completely. As soon as you push a configuration change that defines a new repository, Gitolite takes care of creating the repository on disk, with all the proper hooks set up and everything. In setups that support both SSH and HTTPS cloning, I'm not sure Gitolite will continue to function properly if we create repositories underneath it.
Beyond that, arv-git-httpd is currently built to be a relatively transparent transport mechanism. Adding repository management to its wheelhouse is something that wasn't anticipated and I'm not sure will slot in nicely with the current design. How is arv-git-httpd going to be told to create a new repository? How is it going to authenticate that request? I feel like it's going to end up being two separate services in one daemon. If that's true, why not just keep the channels separate?
Updated by Tom Clegg over 9 years ago
I agree arvados-git-httpd should stick to providing an authenticated HTTP channel to hosted git repos.
By design, gitolite takes care of the repo setup and the SSH channel. Extricating hosting from gitolite would require one of two things, both of which (I think) are non-trivial:- making gitolite's SSH channel work without giving gitolite control of the repos, or
- finding a different solution for SSH access, too, and throwing away gitolite
What's the motivation behind this request? If it's "installing gitolite is hard", maybe we can just package gitolite so it isn't hard?