Hi all!
[please follow-up-to the openbsc@lists.osmocom.org mailing list, if there is any discussion, we don't want to drag it over tons of mailing lists in parallel]
Some weeks ago, I created https://osmocom.org/issues/5397 but it seems nobody noticed the ticket or had any comments to it.
So let me post this as RFC here on the mailing list:
In the past, we had a gitolite/gitosis setup, which was fine in the early days of git, but it means that people cannot easily create new repositories, see who has permissions, and we cannot delegate ownership. Even updating SSH keys requires manual interaction of a sysadmin like me.
I would therefore suggest to migrate git.osmocom.org to gitea[1]
This would allow the following features:
* users can self-create any number of personal repositories (like gitlab/github)
* we can create 'organizations' along the line of reasonably independent osmocom member projects like op25, who can then manage their own repos/permissions/...
* gitea can link to redmine wiki and redmine issue trackers (rather than using its own built-in)
For those repositories hosted in gerrit (mainly CNI), we would still keep git.osmocom.org a read-only mirror, like we do it right now.
For those repositories not hosted in gerrit, users/projects could then accept merge requests in gitea. Coupling this with 3rd party authentication via github/gitlab/etc should make it easier for the occasional contributor to submit changes.
There is a downside, of course; A lot of repo URLs have to change. Most of our current repositories are at git.osmocom.org/project.git while gitea follows a git.osmocom.org/organization/project.git scheme. I'm not sure there is any way to help to mitigate this...
Any thoughts, comments?
Hi Harald, everyone,
Unfortunately I haven't had the opportunity to actively work on anything osmocom for quite a while now, however I think I can contribute a few ยข on this one.
I have been using Gitea for about a year now, and I am generally very happy with it. It even includes some collaborative features, like project boards (https://github.com/go-gitea/gitea/pull/8346). It has a few annoying bugs or issues, like #17808 when creating new pages in the wiki (https://github.com/go-gitea/gitea/issues/17808), or the lack of a "cancel" button to return while modifying a page.
I have also used the integration of accounts with LDAP, which worked well, except when I realized that I hadn't created any administrator account prior to that; but this could be solved with Gitea's own CLI tool.
About the repo URLs, I suppose you could host Gitea at eg gitea.osmocom.org, and put redirections in place on git.osmocom.org. A default page with instructions about how to reach Gitea could be configured there, until enough URL rewriting rules are identified and put in place.
In the meantime, HTH, -- khorben
On 05/02/2022 21:57, Harald Welte wrote:
Hi all!
[please follow-up-to the openbsc@lists.osmocom.org mailing list, if there is any discussion, we don't want to drag it over tons of mailing lists in parallel]
Some weeks ago, I created https://osmocom.org/issues/5397 but it seems nobody noticed the ticket or had any comments to it.
So let me post this as RFC here on the mailing list:
In the past, we had a gitolite/gitosis setup, which was fine in the early days of git, but it means that people cannot easily create new repositories, see who has permissions, and we cannot delegate ownership. Even updating SSH keys requires manual interaction of a sysadmin like me.
I would therefore suggest to migrate git.osmocom.org to gitea[1]
This would allow the following features:
users can self-create any number of personal repositories (like gitlab/github)
we can create 'organizations' along the line of reasonably independent osmocom member projects like op25, who can then manage their own repos/permissions/...
gitea can link to redmine wiki and redmine issue trackers (rather than using its own built-in)
For those repositories hosted in gerrit (mainly CNI), we would still keep git.osmocom.org a read-only mirror, like we do it right now.
For those repositories not hosted in gerrit, users/projects could then accept merge requests in gitea. Coupling this with 3rd party authentication via github/gitlab/etc should make it easier for the occasional contributor to submit changes.
There is a downside, of course; A lot of repo URLs have to change. Most of our current repositories are at git.osmocom.org/project.git while gitea follows a git.osmocom.org/organization/project.git scheme. I'm not sure there is any way to help to mitigate this...
Any thoughts, comments?
Hi,
which use would you like to give to gitea exactly? For wiki/tickets we have redmine already, and for submission (code review) we do have gerrit. What are you suggesting exactly? Simply have a readonly gitea instance to navigate instead of cgit? Or replace redmine + gerrit with gitea?
I'd personally oppose to replace redmine + gerrit to gitea, specially for the code review part.
Hi again,
I now realize this is a thread started in several mailing lists by Harald, so it seems I was missing the context with my previous email.
After reading Harald's email, it seems it's about adding gitea while still keeping the gerrit+redmine. So I'm fine with, I don't mind it that way.
Dear Osmocom community,
[please follow-up-to the openbsc@lists.osmocom.org mailing list, if there is any discussion, we don't want to drag it over tons of mailing lists in parallel]
Back in February I was posting a related RFC, and now the migration is complete, at least for all externally visible aspects relevant to users and developers.
I've tried to make it as backwards-compatible as possible, meaning that;
* we do have https://gitea.osmocom.org/ by now
* gitea is the primary system for all non-gerrit repositories (mostly projects outside the cellular network infrastructure), see e.g. https://gitea.osmocom.org/phone-side/osmo-qcdiag
* gitea is a secondary/mirror for all gerrit hosted repositories (mostly projects within the cellular network infrastructure). Those repositories are marked as mirros with an icon next to the repository name, see e.g. https://gitea.osmocom.org/osmocom/libosmocore
* https://cgit.osmocom.org/ renders the old cgit user interface for time to come
* https://git.osmocom.org/ main page redirects to gitea
* per-project https://git.osmocom.org/libosmocore redirects to the right gitea URL for each project (by means of a series of about 200 nginx rewrite rules). This also means that cloning from old https URLs remains working
* cloning from the git:// URLs also remains working
* deep links to individual commits, or to the /patch URL as used in our Dockerfiles for cache invalidation on source code change remain valid
So this means that all existing links, search engines, read-only clones, etc. will continue to work for those repositories that were still created in the pre-gitea time.
However, for developers with commit/push access to non-gerrit repositories, there are some changes:
1) you will neeed to create an account on https://gitea.osmocom.org/ - and register your SSH public key[s] there. Unfortunately due to a bug in redmine we cannot yet use the redmine OpenID provider, so you need to create a separate account. If you're missing permissions for certain respositories, please contact me by private mail or create an issue in https://osmocom.org/projects/osmocom-servers
2) you will need to change the git+ssh push URLs if you want to push to repositories *not* hosted on gerrit. I've attached a CSV file for the old vs. new URLs to https://osmocom.org/attachments/5148. You can change the URL in your .git/config files manually, or you can use the 'git remote set-url' command to do that.
If something is not working as expected, please let me know. The main ticket for the gitea migration is https://osmocom.org/issues/5397
Regards, Harald
baseband-devel@lists.osmocom.org