voxpupuli / puppet-gitlab

Puppet module to manage Gitlab (Omnibus)
https://forge.puppet.com/puppet/gitlab/
BSD 3-Clause "New" or "Revised" License
74 stars 164 forks source link

Variable git_data_dirs #316

Open tipmg opened 5 years ago

tipmg commented 5 years ago

Hello. I found a mistake in manifests/custom_hook.pp The part from code: } elsif $::gitlab::git_data_dir { $_repos_path = "${::gitlab::git_data_dir}/repositories"

Variable git_data_dir is not exist. There is git_data_dirs variable in the module. I fixed it and created pull request here - https://github.com/voxpupuli/puppet-gitlab/pull/315

Affected Puppet, Ruby, OS and module versions/distributions

How to reproduce (e.g Puppet code you use)

5.5.10

What are you seeing

What behaviour did you expect instead

Output log


## Any additional information you'd like to impart
LongLiveCHIEF commented 5 years ago

Thanks for reporting. I made some comments in your PR that explain why the fix you proposed won't work.

Since gitlab 8.14+ (or somewhere thereabouts), the git_data_dir was changed to git_data_dirs, and accepts a Hash as a configuration. This means there could be multiple git data paths.

Since 11.x for new installations, it is also default that repos are stored on disk using a unique hash, and not the their project pathname.

A quick fix would be to make the repos_path param of the custom_hook required, and to add a note that projects must be saved by name instead of ID in the admin settings dashboard.

However, if they've already got an installation of gitlab where git project data is saved by project id hash, then the custom hooks won't work at all as currently designed.