Gitlab? gitlab is quite painful. the guides hide the complexity because if you're able to get away with omnibus installation (or, docker installation) then you're going to be fine.. (unless it breaks, which to gitlabs credit, it doesn't).
But as soon as you start touching HA, you have to unbuckle all of it's components, and that's where it becomes a real, real pain. Because gitlab does not assume you will do this and starts _freaking_ out when it tries to start something which doesn't exist on the local system.
It takes a long time to find all the dials and triggers to turn local starting off, and even then you basically have a full omnibus installation sitting on each of your nodes, because even if features are turned off they sometimes need some part of the code for the feature.
At this point upgrading anything is not just a tedious process, it's also error-prone and time consuming. Take every web-node down, upgrade the local packages on the web node you use to upgrade the database, then do the db migrations, then you go around upgrading everything else to the latest version, then you can slowly bring everything online and hope that it works.
Don't event get me started on extending it's authentication system.
But as soon as you start touching HA, you have to unbuckle all of it's components, and that's where it becomes a real, real pain. Because gitlab does not assume you will do this and starts _freaking_ out when it tries to start something which doesn't exist on the local system.
It takes a long time to find all the dials and triggers to turn local starting off, and even then you basically have a full omnibus installation sitting on each of your nodes, because even if features are turned off they sometimes need some part of the code for the feature.
At this point upgrading anything is not just a tedious process, it's also error-prone and time consuming. Take every web-node down, upgrade the local packages on the web node you use to upgrade the database, then do the db migrations, then you go around upgrading everything else to the latest version, then you can slowly bring everything online and hope that it works.
Don't event get me started on extending it's authentication system.