Globalrepo Service
The globalrepo service is used to checkout and refresh a Git repository.
Options
source
Repository source address, e.g. git@git.example.net:myproject.git
you can add a hash of multiple sources and select the appropriate one through the remote parameter
this is the only mandatory parameter
path
local path where the data ends up on the server
default: /opt/global/<name>
ensure
latest enable configuration and refresh repository
present enable configuration but do not refresh repository
absent to disable and remove this configuration and folder
default: latest
provider
provider used to fetch repository, see module description of the vcsrepo Puppet module
default: git
Hint
git is the only vcs provider officially supported by Puppet
remote
used git remote
default: origin
revision
desired revision (branch, tag, commit-id)
default: master
ssh_private_key
SSH private key used to fetch a private repository
default: empty
Hint
use cat /tmp/private_key | sed -e ‘:a;N;$!ba;s/n/\n/g to convert key into a single line with escaped linebreaks
exec_after
command executed after update, e.g. composer update
default: empty
Minimal configuration
{
"globalrepo::repo": {
"myproject": {
"source": "git@git.example.net:myproject.git"
}
}
}
Full example
{
"globalrepo::repo": {
"myproject": {
"source": {
"origin": "git@git.example.net:myproject.git",
"upstream": "git@git.example.com:myproject.git",
"mirror": "git@git.example.org:myproject.git"
},
"path": "/opt/global/myproject",
"ensure": "present",
"provider": "git",
"remote": "origin",
"revision": "master",
"ssh_private_key": "ssh-private-key",
"exec_after": "composer update"
}
}
}