From customer: Our situation is that we have projects divided into multiple repositories (because they are kindof modularized), and adding deploy keys one-by-one to all the projects kindof sucks. Would be nice to have "team deploy keys", "group deploy keys", or so.
Or at least a nice interface for mass-assigning deploy keys to a multitude of projects by administrator - clicking through all the projects kindof sucks now.
We are employing a workaround with "dummy" team member added everywhere as a "Reporter", but that is a bit weird for some purposes.
Sytse
Group deploy keys make sense to me.
Dmitriy
We can start from groups page where we can add/remove deploy keys for all projects in group. Something similar to what we did with milestones
In our company we have a similar issue and it would be nice to be able to at least at a deploy key to a group. Another problem is updating a deploy key for an existing entry, I don't want to delete the old key and adding the new key on every project. I also like the idea to have something like a deploy key team (group of deploy keys) which would solve the problem too, since exchanging a key is be much easier that way. Our current workaround is to share the private key among our buildservers where we have the same user on each machine.
also it would be good to be able to assign an deploy key to a group. then it would be valid for all projects in this group. also renaming of a deploy key should be possible see https://gitlab.com/gitlab-org/gitlab-ce/issues/3191
At the moment, the deployment keys created for a new project needs to be added to all submodules manually. This sucks and is hard to automate as there is no information about which submodules will be used by the project at project creation time. Being able to assign group deployment keys would be the perfect solution: we would create a new group for all our modules and add automatically deployment keys at creation time of new projects to this group.
We have over 200 projects and over 50 deploy keys to manage
When adding a new deploy key, we would have to add the key to many projects.... takes hours.
And when we would add a new project, we would have to add that project to many deploy keys... same problem.
We've since stopped using deploy keys and have just created users (which can be assigned to groups) instead of deploy keys and it works well for our workflow
But now... we want to upgrade to Enterprise and can't do it because we have 50+ fake users that we'd have to pay for. Giving the ability for deploy keys to be assigned to groups would solve the problem and allow us to upgrade to Enterprise cost effectively
It may be a little rough around the edges but we have used it internally for half a year now and think that it's so useful that we should share it. Enjoy!
A workaround is to create a user with user ssh-key, then add this user as reporter to the project.
This works, but this could lead to an issue as I think GitLab has a mechanism that locks users when they did not login for some time. at least when authenticating with credentials from cli I ran in this issue. Don't know if it applies for sshkeys too.
This is possible for the CE version. In the EE versions you would need to pay for that user.
Running into this same need at my company. A deploy key for a team or a group would work. I like the team approach more since it allows spanning groups.
@toub: true, might be helpful. But doesn't solve the problem to automatically grant deploy permissions to possible future projects inside a group/team.
You can set this new key with https://github.com/egnyte/gitlabform with ~15 lines of config and by running one command, @nomadme . Since its v. 0.19.0 you can set deploy key to ALL projects in your gitlab instance you have access to.