kindredgroup / puppet-forge-server

Private Puppet forge server supports local files and both v1 and v3 API proxies
69 stars 44 forks source link

Git support #2

Open jskarpe opened 9 years ago

jskarpe commented 9 years ago

Want to proxy git repositories

i11 commented 9 years ago

Yeap. It's on the TODO list.

i11 commented 9 years ago

@Yuav could you please elaborate a bit more on how do you plan to proxy git repositories? As far as I see it would be treated as locally placed modules with a bit of version control functional flavor anyway and there is a directory backend already.

Looking at puppet-library implementation I don't really see tag usage for versioning purposes taking of as it would be very much based on assumptions that tag would have a certain name standard. Plus it would be rather slow and inefficient.

To sum it up I stopped seeing much benefit in using git for something which acts as artifact repository. It would be like serving gems directly from git instead of building and pushing them.

jskarpe commented 9 years ago

Most importantly, to enable private git repos as sources. For my particular usecase, it's for a CI/CD system, where I want to use librarian to download a dependency from a private repo. In order to do this I need to proxy it somehow to avoid distributing ssh keys on to the system under test.

i11 commented 9 years ago

I would suggest to use something like https://github.com/maestrodev/puppet-blacksmith implementing CI pipeline in such case. So the CI/CD machines would be accessing the private git repo, building and pushing modules into the forge server.

As for https://github.com/unibet/puppet-forge-server/issues/1 I might have some time during next week to add a drafty implementation for proxying master branch of a given git url. Unless there would be more requests I would like to avoid implementing something more extensive than that.