I am looking into using git for configuration management. I have set up a git repo with ssh access (standard git@server:/ ... )
I would like the following work flow:
Some persons are allowed to edit the configuration. They check out a local copy, edit whatever they need to edit and push it back to the central repo. - this is working as it should. To actually update configs, we use a common service user. This user should be able to pull information from the central repo, but no editing should be done as that user and most important, even if that user edits anything, the changes should not be pushed back to the central repo.
How can I make a repo read-only for the service user?
As far as I can see, what I want is what github offers by defining a deploy key, but also, after what I have found, that is a github feature and not a standard feature for git over ssh.