Our gitlab installation refused to upgrade again (migration scripts not working and wrecking the database) quite some time ago and it is time to address the matter as that jail still lingers on 13.2-RELEASE (the instance is exclusively accessible from within a local VLAN).
This would be the fourth time in 3 years I'd have to migrate all data to yet another new installaiton *by hand*, because there is still no way to just backup/restore user data across versions. Instead I finally want to replace that overly fragile and bloated piece of software.
The reason why I haven't migrated to another (simpler) solution long ago:
Apart from some ports and internal projects, that server is mainly used for configuration and documentation of networking services/gear and servers. To somewhat organize this in a sensible manner, repositories are placed in groups and sub-groups (i.e. organized like directories on a filesystem) and servers/jails only have access to groups they actually need.
E.g. there's a group "network" with sub-groups "nameserves", "gateways", "dhcp", "switches"... which then hold the actual repositories (e.g. 'ns-master' and 'ns-slaves' in 'nameservers') or more sub-groups (e.g. for each branch). Servers and Jails that need access to repositories have a user created with their ssh-keys configured (e.g. 'branchA-ns1'). A user for a nameserver only gets access to either ns-master or ns-slaves repository from which it pulls configuration updates, but a jailhost on which nameservers are initially installed gets access to the whole "nameservers" group (and e.g. "dhcp") or even the whole top-level group "network".
There are plenty of git-based RCS web-frontends available, but I haven't found one that offers this particular feature to organize repositories - pretty much all of them just hold a flat hierachy for each user. I've tried mapping the current hierarchy to users and organizations, but this became an absolute mess and didn't serve the purposes I use this hierarchy for (i.e. 'ease of finding stuff' and 'only granting access to specific parts of the hierarchy').
So what I'm looking for are recommendations for "code forges"/"development platform"/"call it what you want its a web frontend that runs git in the background" that might be able to reproduce such a hierarchy of repositories and access rights. Recommendations on how to solve this without hierarchies are also welcome - I've used this system of organization for ~5 years now, so I'm pretty much blind by now on how this could be organized differently (maybe even better?).
I'm sure there are some gems out there (I just recently discovered forgejo which I might replace my private gitea instance with), but as with other types of software: with all search engines poisoned to the brim by the 'big players' it became quite hard to find those gems...
This would be the fourth time in 3 years I'd have to migrate all data to yet another new installaiton *by hand*, because there is still no way to just backup/restore user data across versions. Instead I finally want to replace that overly fragile and bloated piece of software.
The reason why I haven't migrated to another (simpler) solution long ago:
Apart from some ports and internal projects, that server is mainly used for configuration and documentation of networking services/gear and servers. To somewhat organize this in a sensible manner, repositories are placed in groups and sub-groups (i.e. organized like directories on a filesystem) and servers/jails only have access to groups they actually need.
E.g. there's a group "network" with sub-groups "nameserves", "gateways", "dhcp", "switches"... which then hold the actual repositories (e.g. 'ns-master' and 'ns-slaves' in 'nameservers') or more sub-groups (e.g. for each branch). Servers and Jails that need access to repositories have a user created with their ssh-keys configured (e.g. 'branchA-ns1'). A user for a nameserver only gets access to either ns-master or ns-slaves repository from which it pulls configuration updates, but a jailhost on which nameservers are initially installed gets access to the whole "nameservers" group (and e.g. "dhcp") or even the whole top-level group "network".
There are plenty of git-based RCS web-frontends available, but I haven't found one that offers this particular feature to organize repositories - pretty much all of them just hold a flat hierachy for each user. I've tried mapping the current hierarchy to users and organizations, but this became an absolute mess and didn't serve the purposes I use this hierarchy for (i.e. 'ease of finding stuff' and 'only granting access to specific parts of the hierarchy').
So what I'm looking for are recommendations for "code forges"/"development platform"/"call it what you want its a web frontend that runs git in the background" that might be able to reproduce such a hierarchy of repositories and access rights. Recommendations on how to solve this without hierarchies are also welcome - I've used this system of organization for ~5 years now, so I'm pretty much blind by now on how this could be organized differently (maybe even better?).
I'm sure there are some gems out there (I just recently discovered forgejo which I might replace my private gitea instance with), but as with other types of software: with all search engines poisoned to the brim by the 'big players' it became quite hard to find those gems...