Increase maintainability of the internal cookbooks
Originally we only had a small GitLab and runit cookbook to maintain when omnibus-gitlab project was createdd.
GitLab has grown considerably since and we've added a lot of new features and services. This is now starting to be a performance issue too. Performance as in, all cookbooks run sequentially which means that the reconfigure time is getting longer. Also, team performance as it gets harder to realise where things are setup/configured.
To name a few concepts that are obsolete:
- We are using definitions instead of LWRPs
- We have one giant default attribute file
- Support code in libraries is hard to organise
I think we should look into what steps can we do to reorganise some of the code there. For example, one of the minimal steps we can do is rewrite definitions to LWRPs. This will also allow us to start testing the code that is currently untested because of definitions.