Skip to content

Instantly share code, notes, and snippets.

@HanSooloo
Created April 23, 2017 01:14
Show Gist options
  • Save HanSooloo/52f3b3425a02182be7a6c5ef925f0b1f to your computer and use it in GitHub Desktop.
Save HanSooloo/52f3b3425a02182be7a6c5ef925f0b1f to your computer and use it in GitHub Desktop.
referencing another module
# Module name: git
# git/metdata.json
# == snip
"dependencies": [
{"name":"puppetlabs-stdlib","version_requirement":">= 1.0.0"},
{"name":"flypenguin-mkdir","version_requirement":">= 1.0.4"},
],
# == snip
# git/manifests/init.pp
class git {
class { 'git::clone': }
}
# git/manifests/clone.pp
class git::clone ($repo, $username='envsvc', $identity) {
$owner = $username
$group = $username
$code = $username
include ::'mkdir::p'
mkdir::p { "/opt/code/$code":
group => $group,
owner => $owner,
mode => '0755',
}
package { 'git':
ensure => installed,
}
vcsrepo { "/opt/code/${repo}":
ensure => latest,
owner => $owner,
group => $owner,
provider => git,
require => [ Package['git'], User[$owner], Group[$owner] ],
source => "git@bitbucket.org:istanbulnetworks/${repo}.git",
revision => master,
identity => $identity,
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment