sbadia/puppet-gitlab — pull request #7 by elementalvoid (2012-08-06 15:15:10+00:00)
Title: Big update to better match PuppetLabs guidelines for classes, more/updated templates, more parameters, etc.

To save a bit of writing I'm going to copy in the commit message for the large change here. I'd also like to apologize for the size of this commit and pull request. We happened to be making changes in parallel and by the time I brought in your changes the merge was a mess. Given the file/class restructuring I found it easier to resolve in one big commit than in many.

Hopefully you'll find these changes useful so that we can merge my fork in. I have no desire to create a true fork of your module; I'd much rather see my current, and future, work end up in your project since I think we have very similar goals in the project.

Matt

---
Huge update: split class files, more parameters, more templates, etc. …
- Split the init.pp manifest up by classes. This make reading and
updating classes simpler. It's also the recommended style according to
PuppetLabs.
- Templatized gitlab.yml.
- Unicorn template.
- Omniauth template (with new class parameters for configuration).
- Nginx template.
- Cleaned up pre class to install bare minimum packages.
- Manage /etc/ssh/ssh_known_hosts so that gitlab rake setup succeeds.
- Add the admin user's SSH public key to the gitolite user's
authorized_keys so that the gitlab setup process will work properly.
- Create tmp directory under gitlab installation dir.
- Enable Gitlab automerge:
- Required new gem (journey).
- Required additional rake task on install.
- Chown gitolite/repositories 770.
- Allow selection of gitlab branch/tag instead of 'stable' to allow
easier testing and requested upgrades instead of unexpected upgrades.
The old method of always checking out stable meant that as soon as the
Gitlab folks released a new version your installation would be
auto-upgraded. The new method allows you to specify the tag and only
upgrade on request. This also affords the ability to test the upgrade
process in a controlled manner on a test server (throw away vm) before
changing the config for your production node.
- Created a .profile for the gitolite user to set the default umask.